Bug 893026

Summary: Installer crashes after selecting "Malay (Malaysia)" language
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: anaconda-maint-list, awilliam, g.kaviyarasu, johannbg, jonathan, jreznik, robatino, sbueno, tflink, vanmeeuwen+fedora, vpodzime
Target Milestone: ---Keywords: CommonBugs
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: AcceptedNTH RejectedBlocker abrt_hash:082847e339536b013bbd85118bb69c96f0c9ce34578633abd969885b5d9e31cd https://fedoraproject.org/wiki/Common_F18_bugs#malay-crash
Fixed In Version: anaconda-19.1-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-10 06:00:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 752665    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: environ
none
File: ifcfg.log
none
File: packaging.log
none
File: program.log
none
File: storage.log
none
File: syslog none

Description Kamil Páral 2013-01-08 13:32:08 UTC
Description of problem:
I tried to reproduce bug 891489. This happened after selecting Malay (Malaysia) language and enabling the checkbox.
The following was filed automatically by anaconda:
anaconda 18.37.11 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/keyboard.py", line 482, in <genexpr>
    if layout in country_layouts)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/keyboard.py", line 485, in get_default_lang_country_layout
    return matches_both.next().name
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/welcome.py", line 97, in _set_keyboard_defaults
    country)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/welcome.py", line 70, in apply
    self._set_keyboard_defaults(store[itr][1], lang_country)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/__init__.py", line 72, in _on_continue_clicked
    self.apply()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/welcome.py", line 287, in _on_continue_clicked
    StandaloneSpoke._on_continue_clicked(self, cb)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/__init__.py", line 77, in <lambda>
    self.window.connect("continue-clicked", lambda *args: self._on_continue_clicked(cb))
TypeError: argument of type 'NoneType' is not iterable

Additional info:
cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2018\x20x86_64 quiet BOOT_IMAGE=vmlinuz 
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         3.6.10-4.fc18.x86_64
other involved packages: 
package:        anaconda-18.37.11
product:        Fedora
release:        Cannot get release name.
type:           libreport
version:        18

Comment 1 Kamil Páral 2013-01-08 13:32:12 UTC
Created attachment 674824 [details]
File: anaconda-tb

Comment 2 Kamil Páral 2013-01-08 13:32:14 UTC
Created attachment 674825 [details]
File: anaconda.log

Comment 3 Kamil Páral 2013-01-08 13:32:16 UTC
Created attachment 674826 [details]
File: environ

Comment 4 Kamil Páral 2013-01-08 13:32:20 UTC
Created attachment 674827 [details]
File: ifcfg.log

Comment 5 Kamil Páral 2013-01-08 13:32:22 UTC
Created attachment 674828 [details]
File: packaging.log

Comment 6 Kamil Páral 2013-01-08 13:32:25 UTC
Created attachment 674829 [details]
File: program.log

Comment 7 Kamil Páral 2013-01-08 13:32:27 UTC
Created attachment 674830 [details]
File: storage.log

Comment 8 Kamil Páral 2013-01-08 13:32:29 UTC
Created attachment 674831 [details]
File: syslog

Comment 9 Kamil Páral 2013-01-08 13:38:11 UTC
Proposing as blocker. Language selection crashes installer.

Comment 10 Jaroslav Reznik 2013-01-08 15:17:28 UTC
Based on clumens comment on #irc the problem is in undefined keyboards for Malayam but also code should react by returning [] instead of None.

Comment 11 Adam Williamson 2013-01-08 18:05:01 UTC
Note, on this one, we don't want to be picking the 'Malayalam" keyboard layout for the "Malay (Malaysia)" language. Malayalam is an Indian language, and despite the superficially similar name, has nothing to do with Malay.

Comment 12 Adam Williamson 2013-01-08 18:12:48 UTC
I guess I'd say that if we need a new anaconda for any other reason it may be worth trying to fix this: otherwise I'd incline to just signing off on RC2 and documenting this. It's kinda a crappy bug but it only affects one (probably not that heavily used) language, and there's a very obvious workaround (don't check the box). So my inclination would be -1/+/-0/CommonBugs.

Comment 13 Dennis Gilmore 2013-01-08 18:20:05 UTC
my inclination is +1 blocker,  just because we hit this in one rare case, its quite possible that it hits other languages/layouts also.

Comment 14 Jaroslav Reznik 2013-01-08 19:20:19 UTC
(In reply to comment #13)
> my inclination is +1 blocker,  just because we hit this in one rare case,
> its quite possible that it hits other languages/layouts also.

Dennis - if this bug is really caused by the patch for #893026, it seems other languages are really fixed. There's also possibility it was just broken even before. Btw. it should be easy to go through the list and recheck.

It's also trade-off - we could have better support for Catalan, Greek, Spanish, Dutch but in case we would have to revert the patch, as we don't have fix for this one to make RC3 in a reasonable time.

So I'm with Adam - in case we will hit some significant issue, we can try to get fix, otherwise document workaround, -1 blocker, CommonBugs.

But just to be sure, would be great to go through the list and check other languages.

Comment 15 Adam Williamson 2013-01-08 19:37:58 UTC
I've just tested every language offered in RC2. The only one that crashes is Malay. No other crashes. A couple of other inaccurate results, but they wouldn't be any better if we fixed this crash or reverted the patch.

I stick with my vote in comment #12. Dennis, does this result change yours?

Comment 16 Tim Flink 2013-01-08 19:41:03 UTC
As much as I'm not crazy about the idea of a language selection crashing, if it's just Malay, I'd be OK with -1/+1/CommonBugs

Do we know how complete the translation was or if it worked before? It'd suck if we had people testing Malay before now only to have it broken at the last minute with no fix available.

Comment 17 Adam Williamson 2013-01-08 19:58:02 UTC
there's a perfectly reasonable fix available: just _don't check the box_. the checkbox is a convenience setting, nothing more. It doesn't do the right thing even if we fix it - it gives you the 'Malayalam' keyboard layout, which is not at all what you want if you speak Malay - and if you actually need to use a particular keyboard layout, you can perfectly easily pick it manually. (I'm not sure there even actually is a "Malayasian" layout, I think Malaysian itself is typed in Roman characters, and Chinese-speaking Malaysians use regular Chinese input).

The bug relates only to keyboard layouts. It only happens if you pick Malay (Malaysian) as your language/locale, _and then check the box marked 'Set keyboard to default layout for selected language.'_ If you don't check the box, no crash. All the checkbox does is change the _initial_ state of the Keyboard spoke: whatever you do with the checkbox, you can still go into the spoke and do whatever you like manually. So the bug has no kind of unavoidable consequences.

Comment 18 Jóhann B. Guðmundsson 2013-01-08 20:51:49 UTC
Given that this affects language *and* Anaconda does crash +1 blocker

Comment 19 Jaroslav Reznik 2013-01-08 21:00:11 UTC
(In reply to comment #18)
> Given that this affects language *and* Anaconda does crash +1 blocker

See comment #17 - language & crash alone sounds bad but with the clarification it is not. It's even not the default as far as I understand and affects one "minor" language in non-default state and revert would lead to worst user experience (as we would have to revert NTH probably) for the bigger group of users (Catalan, Greek, Spanish, Dutch at least). Please consider it.

Comment 20 Kevin Fenzi 2013-01-08 21:21:59 UTC
While a crash is normally a blocker, I think this is isolated enough to not block on. 
So my inclination would be -1 blocker, +1 NTH, commonbugs it.

Comment 21 Adam Williamson 2013-01-08 21:28:39 UTC
Let's leave this for more discussion/input for a few hours while we test RC2, but as things stand, the blocker votes with a 'generous' count are +3 / -5:

+1
--

kparal
dgilmore
viking-ice

-1
--

jreznik
adamw
tflink
nirik
dan408 (irc vote)

there's a solid majority for +1 nth (didn't count, but it's comfortable), so marking AcceptedNTH for now - we all at least agree that if anything else comes up to cause a respin, this fix should be included.

Comment 22 Adam Williamson 2013-01-09 00:50:03 UTC
So I talked this over with KageSenshi (one of our Malaysian community representatives). Useful details from the discussion:

* He thinks most Malaysian users don't actually use the Malaysian locale/translation, they just pick English
* Malay speakers use a standard U.S. keyboard layout, so they'll probably not be particularly inclined to check the checkbox

His vote was that it should be OK to leave the bug in, so long as we make sure it's documented.

With the votes as they stand (unchanged from above) and the input from KageSenshi, setting to RejectedBlocker for now. This can be revisited if more +1 votes come in.

Comment 23 Adam Williamson 2013-01-09 00:53:47 UTC
one more bit of data - the Malay translation was 40% in F16, 21% in F17 and is 7% in F18. So I can see that Malaysian community members wouldn't expect the translation to be worth using.

Comment 24 Dennis Gilmore 2013-01-09 04:00:32 UTC
Adam if its just the one then I guess we can document it. though it seems like it shouldnt be to hard to catch oh user selected malay lets not blow up.
 im more 0 to blocker but +1 to NTH and defiantly document.

What is the workaround? and is it really a viable workaround?

Comment 25 Adam Williamson 2013-01-09 05:05:50 UTC
dennis: it's not hard to fix at all, chris wrote a fix, I tested it. It works. It's just that if we're rebuilding anaconda, we'll wind up taking other anaconda fixes, and then we've got a new RC with new anaconda and _something_ else will come up...we have to just stop at some point. this doesn't seem enough to warrant a new anaconda, to me.

the workaround is 100% simple and 100% viable: don't check the checkbox. I wrote this at least three times above, but that is really it. Don't check the checkbox. You don't _need_ to check the checkbox. Checking it does nothing to help any Malaysian user of any kind. All we need to document is, hey, if for some reason you're picking the hilariously incomplete Malaysian translation, don't check the checkbox. That's it.

Comment 26 Kamil Páral 2013-01-09 11:08:50 UTC
(In reply to comment #21)
> +1
> --
> kparal

I proposed the bug for blocker discussion, but that doesn't mean I'm +1. It just means I suspect that other people can be +1 and it's worth the discussion.

I agree with -1, it makes sense in this case and with all the details you provided. Thanks for that.

Comment 27 Vratislav Podzimek 2013-01-09 12:19:38 UTC
Patch that fixes the crash posted to anaconda-patches. I think that getting Malayalam layout for the Malay language is better than the crash. And just to make it clear the crash happens no matter whether the checkbutton is checked or not.

Comment 28 Vratislav Podzimek 2013-01-11 10:14:14 UTC
Patch pushed to the master branch (Rawhide). This should be fixed in the next anaconda rawhide build.

Comment 29 Adam Williamson 2013-01-11 22:45:51 UTC
"And just to make it clear the crash happens no matter whether the checkbutton is checked or not."

? No it doesn't. I tested that.

Comment 30 Adam Williamson 2013-01-11 22:47:05 UTC
Huh. Yes it does. Well, crap. I was _sure_ I tested that. No idea what happened there. Well, poop. The workaround is to install in English, then...

Comment 31 Adam Williamson 2013-05-10 06:00:26 UTC
Confirmed this is fixed in 19 Beta TC3.