Summary: | UnicodeDecodeError when entering encryption passphrase in language other than English on live install | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Adam Williamson (Fedora) <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: | |
Bug Depends On: | |||
Bug Blocks: | 1043130 |
Description
Adam Williamson (Fedora)
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 *** |