Bug 734527

Summary: systemd-vconsole-setup.service segfaults at boot process
Product: [openSUSE] openSUSE 12.1 Reporter: Matwey Kornilov <matwey.kornilov>
Component: BasesystemAssignee: Frederic Crozat <fcrozat>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None CC: crrodriguez, fcrozat
Version: Final   
Target Milestone: ---   
Hardware: i686   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: /etc/sysconfig/console
/etc/sysconfig/keyboard

Description Matwey Kornilov 2011-12-02 16:01:35 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0

systemd-vconsole-setup.service crashes every time the machine boot.

message in /var/log/messages:

Dec  2 17:20:09 dragon kernel: [   26.148836] systemd-vconsol[282]: segfault at 0 ip b75fa948 sp bf8073c8 error 4 in libc-2.14.1.so[b7582000+166000]

Since vconsole-setup fails, several major services that depend on it don't start too. I can't even login to the system.


There is workaround for me. I has switched to sysvinit.

Please, tell me how can I produce additional useful information to fix this?

Reproducible: Always
Comment 1 Frederic Crozat 2011-12-05 09:22:32 UTC
please attach:
/etc/sysconfig/keyboard
/etc/vconsole.conf (if it exists)
/etc/sysconfig/console

you might not be able to login because your keyboard is not configured ie in en-US (qwerty) to type your password.
Comment 2 Matwey Kornilov 2011-12-05 10:00:40 UTC
Created attachment 465821 [details]
/etc/sysconfig/console
Comment 3 Matwey Kornilov 2011-12-05 10:01:06 UTC
Created attachment 465822 [details]
/etc/sysconfig/keyboard
Comment 4 Matwey Kornilov 2011-12-05 10:03:21 UTC
/etc/vconsole.conf  does not exist.


I didn't see 'Login:' prompt at all, but was able to use ctrl-alt-del to shutdown the system correctly.
Comment 5 Frederic Crozat 2011-12-05 12:29:44 UTC
try to press "enter", login prompt might be hidden by other services startup..

I can't reproduce your crash with your configuration :(

first, try to install systemd package from home:fcrozat:systemd, I fixed some memleaks in vconsole-setup but I don't think it will fix your issue.

could you try running /lib/systemd/systemd-vconsole-setup inside gdb to see if we can get a backtrace ?

gdb /lib/systemd/systemd-vconsole-setup

then type run
then bt

and paste the output here.

or try with 
valgrind --leak-check=full /lib/systemd/systemd-vconsole-setup

it might be good for you to enable debug repositories and install systemd-debuginfo package.
Comment 6 Matwey Kornilov 2011-12-05 13:24:11 UTC
systemd-37-302.1 from home:fcrozat:systemd also doesn't work for me :(

I've installed the following packages (and went back to systemd from main repo):
systemd-debuginfo-37-3.4.1.i586
glibc-debuginfo-2.14.1-14.12.2.i686



Reading symbols from /lib/systemd/systemd-vconsole-setup...Reading symbols from /usr/lib/debug/lib/systemd/systemd-vconsole-setup.debug...done.
done.
(gdb) run
Starting program: /lib/systemd/systemd-vconsole-setup 
Missing separate debuginfo for /lib/libselinux.so.1
Try: zypper install -C "debuginfo(build-id)=cda445d37d78f3a4bbc79c0fde65706425fe5048"
Missing separate debuginfo for /lib/libcap.so.2
Try: zypper install -C "debuginfo(build-id)=fcf69089ed068b7dd7d7bf9191f1a7b3375c6225"
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
__GI___strcasecmp (s1=0x0, s2=0x804e55c "YES") at strcasecmp.c:65
65        while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0)
(gdb) bt
#0  __GI___strcasecmp (s1=0x0, s2=0x804e55c "YES") at strcasecmp.c:65
#1  0x0804a6a5 in main (argc=1, argv=0xbffff864) at src/vconsole-setup.c:388



It seems that parse_env_file can't parse KBD_DISABLE_CAPS_LOCK but return value isn't handled properly.

I compared /etc/sysconfig/keyboard on different machines and it seems to me that there KBD_DISABLE_CAPS_LOCK="" should be KBD_DISABLE_CAPS_LOCK="no". Unfortunately, I will be able to check this only after tomorrow :)
Comment 7 Frederic Crozat 2011-12-05 13:42:32 UTC
grr, I saw KBD_DISABLE_CAPS_LOCK="" and I thought I had tested it but I didn't..

I can reproduce your crash now, I'll should be able to fix it easily ;)
Comment 8 Frederic Crozat 2011-12-05 14:00:56 UTC
fixed in home:fcrozat:systemd / systemd.

please test (it will be part of next systemd maintenance update for 12.1)
Comment 9 Matwey Kornilov 2011-12-06 11:56:39 UTC
checked. systemd-37-304.1.i586 is ok for me.
Comment 10 Frederic Crozat 2011-12-09 14:43:16 UTC
sr 96122 pushed to openSUSE:12.1:Update:Test
requesting maintenance update for 12.1
Comment 11 Bernhard Wiedemann 2011-12-09 15:01:15 UTC
This is an autogenerated message for OBS integration:
This bug (734527) was mentioned in
https://build.opensuse.org/request/show/96122 12.1 / systemd
https://build.opensuse.org/request/show/96125 Factory / systemd
Comment 12 Bernhard Wiedemann 2011-12-09 18:01:13 UTC
This is an autogenerated message for OBS integration:
This bug (734527) was mentioned in
https://build.opensuse.org/request/show/96193 Factory / systemd
Comment 13 Marcus Meissner 2011-12-09 19:40:22 UTC
the submitreq against 12.1 is sufficient and it will get picked up.

that some stuff from factory is also in is OK.
Comment 14 Bernhard Wiedemann 2011-12-12 17:01:24 UTC
This is an autogenerated message for OBS integration:
This bug (734527) was mentioned in
https://build.opensuse.org/request/show/96377 12.1 / systemd
Comment 16 Cristian Rodríguez 2011-12-17 15:31:58 UTC
already fixed, fix is on the queue...
Comment 17 Frederic Crozat 2012-01-04 09:36:36 UTC
maintenance update has been released for 12.1