Red Hat Bugzilla – Bug 882212
localectl set-x11-keymap: variant settings does not work
Last modified: 2013-03-03 20:30:57 EST
Description of problem:
There is an error when 'localectl set-x11-keymap' is invoked with parameters to set an alternative keyboard variant. The keyboard setting is not set and there is a segfault.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. localectl set-x11-keymap cz pc105 qwerty
process 7484: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_utf8 (*string_p)" failed in file dbus-message.c line 2598.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)
X11 keyboard configuration is set correctly.
It works fine without specifying the layout variant:
localectl set-x11-keymap cz pc105
Keyboard layout setting process changed between F17 and F18. This becomes critical for people upgrading using yum as I did. (Not sure how the migration to new configuration files is handled with other upgrade methods.)
Therefore proposing as a blocker.
Yum is not officially supported upgrade mechanism thus -1 blocker + 1 nth
Are upgrades with FedUp affected by this or is it just yum upgrades?
I can confirm that the fix is correct.
Here is a scratch build with the patch applied:
Any chance this can be included in final F18?
Yeah, this like it would be ok for NTH (able to pull fix past freeze but wouldn't block F18 release) without testing the FedUp case.
Proposing as NTH, if you could get a build submitted soon for testing, that would be great.
Discussed at 2012-12-19 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-19/f18final-blocker-review-6.2012-12-19-17.02.log.txt . We're not clear on the impact on fedup upgrades, but accepted NTH at least for the yum case.
Adam, this has no impact at fedup (at the moment), because fedup does not care about keyboard layout. There is an existing bug #881624 for that, I just nominated it as a blocker.
systemd-195-13.fc18 has been submitted as an update for Fedora 18.
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-195-13.fc18'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
Discussed again at 2012-12-21 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-21/f18final-blocker-review-7.2012-12-21-18.33.log.txt . We were very unclear on how this actually affects upgrades. systemd %post does not call localectl or systemd-localed in any way to perform the config migration: it simply sources /etc/sysconfig/keyboard and dumps what it finds into /etc/vconsole.conf:
# Migrate /etc/sysconfig/keyboard
if [ -e /etc/sysconfig/keyboard -a ! -e /etc/vconsole.conf ]; then
[ -e /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n >/dev/null 2>&1 || :
. /etc/sysconfig/keyboard >/dev/null 2>&1 || :
[ -n "$SYSFONT" ] && echo FONT=$SYSFONT > /etc/vconsole.conf 2>&1 || :
[ -n "$SYSFONTACM" ] && echo FONT_MAP=$SYSFONTACM >> /etc/vconsole.conf 2>&1 || :
[ -n "$UNIMAP" ] && echo FONT_UNIMAP=$UNIMAP >> /etc/vconsole.conf 2>&1 || :
[ -n "$KEYTABLE" ] && echo KEYMAP=$KEYTABLE >> /etc/vconsole.conf 2>&1 || :
The bug report doesn't explain sufficiently how this actually causes problems on upgrade, and we couldn't figure out how ourselves. So we couldn't really accept it as a blocker. However, it's already accepted as NTH, and should be pulled into the next compose and pushed through the freeze, so it ought to go away either way.
This currently doesn't affect the upgrade.
I updated one of my machines with "yum distro-sync" and my X11 keyboard layout got lost. That's the reason why I care about working 'localectl set-x11-keymap' and why I nominated it as a blocker. It's fine as NTH.
Then I tried the upgrade using Fedup on my laptop. The result was the same, X11 keyboard layout was dropped. I thought this was a problem of Fedup, but obviously this should be handled by systemd, no matter how. So here is a bug for systemd:
And sorry for the confusion, I'm getting lost in what is responsible for what.
systemd-195-13.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.