Bug 875354

Summary: Error: unsupported locale setting
Product: [Fedora] Fedora Reporter: Steve Tyler <stephent98>
Component: pypartedAssignee: Dave Cantrell <dcantrell>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: bcl, dcantrell, g.kaviyarasu, jonathan, sbueno, stephent98, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:8ae1630b3246883765550f9477a58e49f7788f19b43854bf7caa1298a97d53cc
Fixed In Version: pyparted-3.10-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-05 23:17:30 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:
Attachments:
Description Flags
anaconda-tb-xM5jWI showing invalid locale: sr_RS.utf_8_latin none

Description Steve Tyler 2012-11-10 19:15:20 UTC
Description of problem:
Select Serbian (Latin, Serbia) as install language.
Exception occurs after Begin Installation is clicked.


Version-Release number of selected component:
anaconda-18.28-1.fc18.x86_64

Additional info:
libreport version: 2.0.17
cmdline:        /usr/bin/python  /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-osimg-min --lang en_US.UTF-8
kernel:         3.6.5-2.fc18.x86_64

description:
:The following was filed automatically by anaconda:
:anaconda 18.28 exception report
:Traceback (most recent call first):
:  File "/usr/lib64/python2.7/locale.py", line 539, in setlocale
:    return _setlocale(category, locale)
:  File "/usr/lib64/python2.7/site-packages/parted/decorators.py", line 34, in new
:    locale.setlocale(locale.LC_MESSAGES, oldlocale)
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 1325, in preCommitFixup
:    _partition = _disklabel.partedDisk.getPartitionBySector(_sector)
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 293, in processActions
:    action.device.preCommitFixup(mountpoints=mpoints)
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 336, in doIt
:    self.devicetree.processActions()
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 174, in turnOnFilesystems
:    storage.doIt()
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 113, in doInstall
:    turnOnFilesystems(storage)
:  File "/usr/lib64/python2.7/threading.py", line 504, in run
:    self.__target(*self.__args, **self.__kwargs)
:  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
:    threading.Thread.run(self, *args, **kwargs)
:Error: unsupported locale setting

Comment 1 Steve Tyler 2012-11-10 19:43:21 UTC
Created attachment 642309 [details]
anaconda-tb-xM5jWI showing invalid locale: sr_RS.utf_8_latin

libreport didn't attach any logs because of an HTTP error. This log shows:

Local variables in innermost frame:
locale: sr_RS.utf_8_latin
category: 5

Comment 2 Steve Tyler 2012-11-10 20:14:11 UTC
This looks like a python-libs bug:

>>> import locale
>>> locale.setlocale(locale.LC_MESSAGES, 'sr_RS.UTF-8@latin')
'sr_RS.UTF-8@latin'
>>> locale.getlocale(locale.LC_MESSAGES)
('sr_RS', 'utf_8_latin')

See: Bug 870761, Comment 3.

Comment 3 Steve Tyler 2012-11-10 22:20:07 UTC
*** Bug 875389 has been marked as a duplicate of this bug. ***

Comment 4 Steve Tyler 2012-11-10 22:22:17 UTC
(In reply to comment #3)
> *** Bug 875389 has been marked as a duplicate of this bug. ***

The reproducer for Bug 875389 produces a slightly different traceback from the one this bug, but the invalid locale is the same: sr_RS.utf_8_latin.

The reproducer is:

Create a 12 GB empty disc image.
Install from the Live CD.
Select Serbian (Latin, Serbia) for the install language.
Click Installation Destination.
Click Done.
Exception occurs: Error: unsupported locale setting

Command-line:
$ qemu-kvm -m 2048 -hda f18-test-2.img -cdrom ~/xfr/fedora/F18/F18-Beta/TC7/Fedora-18-Beta-TC7-x86_64-Live-Desktop.iso -usb -vga qxl -boot menu=on -usbdevice mouse

Comment 5 Steve Tyler 2012-11-11 19:18:19 UTC
From the traceback, decorators.py has a call to setlocale() that is from a thread, but setlocale() is not thread-safe:

"setlocale() is not thread-safe on most systems."
http://docs.python.org/2.7/library/locale.html#locale.setlocale

Likewise, localization.py has a call to setlocale():

$ grep -rn setlocale anaconda-18.28-1/pyanaconda/
anaconda-18.28-1/pyanaconda/localization.py:415:            locale.setlocale(locale.LC_ALL, '')

Comment 6 Chris Lumens 2012-12-14 17:37:50 UTC
This is just an attempt to make sure errors coming out of libparted are not translated, so the traceback contains an English language string that's more useful for developers.  I'd prefer we just catch the error and not worry about it instead of causing a traceback.  The untranslated message is just a luxury.

Comment 7 Fedora End Of Life 2013-12-21 15:42:08 UTC
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Fedora End Of Life 2014-02-05 23:17:30 UTC
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.