Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1217610
Summary: | UnicodeDecodeError when entering encryption passphrase in language other than English on live install | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | DO NOT USE account not monitored (old adamwill) <adamw+fedora> |
Component: | anaconda | Assignee: | Anaconda Maintenance Team <anaconda-maint-list> |
Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 22 | CC: | anaconda-maint-list, danofsatx, g.kaviyarasu, jonathan, robatino, vanmeeuwen+fedora |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | AcceptedBlocker | ||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-05-06 14:21:04 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: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1043130 |
Description
DO NOT USE account not monitored (old adamwill)
2015-04-30 19:38:17 UTC
We've tested that this fixes it: [adamw@adam anaconda (f22-branch %)]$ git diff diff --git a/pyanaconda/ui/gui/spokes/lib/passphrase.py b/pyanaconda/ui/gui/spokes/lib/passphrase.py index c104194..2f49fcd 100644 --- a/pyanaconda/ui/gui/spokes/lib/passphrase.py +++ b/pyanaconda/ui/gui/spokes/lib/passphrase.py @@ -168,7 +168,7 @@ class PassphraseDialog(GUIObject, GUIInputCheckHandler): def _checkStrength(self, inputcheck): if self._pwq_error: - return ("dialog-error", _(ERROR_WEAK) % self._pwq_error) + return ("dialog-error", _(ERROR_WEAK).encode('utf-8') % self._pwq_error) else: return InputCheck.CHECK_OK there are likely other cases, though. I would think that any time we use a %s substitution into a translated string and the translation has non-ASCII characters in it would fail, but that doesn't actually seem to be the case: I tested a few others (like "error = _("%s cannot be encrypted") % mountpoint" in custom.py and "return _(PASSWORD_WEAK_WITH_ERROR) % (self._pwq_error, done_msg)" in password.py) and they didn't cause crashes. IIRC there's some kind of wrinkle involved where Python *does* somehow know to use utf-8 in some cases but not others, but I'm not sure we ever fully traced that out. See also https://bugs.python.org/issue9196 - apparently the behaviour of %s as it relates to unicode objects is...unclear (and I'm not sure why it fails in this case, given the information from that bug - perhaps something odd about pwquality.PWQError objects?) Discussed at the 2015-05-04 blocker review meeting.[0] Voted as AcceptedBlocker based on different criteria as cited in Comment #1. AcceptedBlocker - violates "When using the guided partitioning flow, the installer must be able to: ... Complete an installation using any combination of disk configuration options it allows the user to select" for live, non-English installs [0] http://meetbot.fedoraproject.org/meetbot/fedora-blocker-review/2015-05-04/f22-blocker-review.2015-05-04-16.00.log.txt *** This bug has been marked as a duplicate of bug 1217504 *** |