Bug 1403658

Summary: kdump_anaconda_addon: raise 'an unknown error has occurred' error while choosing languages which use non latin characters
Product: [Fedora] Fedora Reporter: Tong Li <tonli>
Component: kexec-toolsAssignee: Dave Young <ruyang>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: bhe, ruyang, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-20 10:21:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Tong Li 2016-12-12 06:20:19 UTC
Description of problem:

When enabling kdump_anaconda_addon in Fedora installation media and choosing languages using non-latin characters, e.g. Chinese and Japanese, in anaconda, an error will be raised and installation can't be continued. 

Version-Release number of selected component (if applicable):

Fedora release 25 (Twenty Five)

How reproducible:


Steps to Reproduce:
1. (Only for Live media) Enable kdump_anaconda_addon at boot menu by appending inst.kdump_addon=on.
2. Choose '繁體中文(臺灣)' in the first screen of anaconda.
3.

Actual results:

Installation was interrupted and pop an error information "an unknown error has occurred"

Expected results:

Continued the installation process to detail configuration

Additional info:

Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/__init__.py", line 1025, in _on_continue_clicked
    nextAction.refresh()
  File "/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 353, in refresh
    self._createBox()
  File "/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 175, in _createBox
    self._updateCompleteness(spoke, update_continue=False)
  File "/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 218, in _updateCompleteness
    spoke.selector.set_property("status", spoke.status)
TypeError: Must be string, not bytes

Comment 1 Tong Li 2016-12-13 03:12:52 UTC
Hello Vratislav,

I also tested this on RHEL 7.3 and didn't get the error. Is there some updates in
anaconda recently which may cause this issue?

Regards,
Tong

Comment 2 Vratislav Podzimek 2016-12-13 15:13:37 UTC
(In reply to Tong Li from comment #1)
> Hello Vratislav,
> 
> I also tested this on RHEL 7.3 and didn't get the error. Is there some
> updates in
> anaconda recently which may cause this issue?

Hello, RHEL 7.3 Anaconda is using Python 2.7, whereas Fedora 24+ (or even 23+, not sure) Anaconda is using Python 3 (3.5 now). And the traceback definitely looks like a thing related to Python 3 which differentiates between strings and bytes (byte arrays) strictly. Looks to me like the kdump addon is not properly ported to Python 3.

Comment 3 Dave Young 2016-12-14 06:24:04 UTC
Hi, Vratislav,

Could you help review the patch below, appreciated for your help!
https://github.com/daveyoung/kdump-anaconda-addon/pull/15

I would like to merge it in Fedora if it is ok.

Thanks
Dave

Comment 4 Vratislav Podzimek 2016-12-19 12:44:55 UTC
(In reply to Dave Young from comment #3)
> Hi, Vratislav,
> 
> Could you help review the patch below, appreciated for your help!
> https://github.com/daveyoung/kdump-anaconda-addon/pull/15
Done, looks good to me.

Comment 5 Dave Young 2016-12-20 10:21:10 UTC
Vratislav, thanks!