Bug 309101

Summary: kudzu segfaults on an irregular basis
Product: [Fedora] Fedora Reporter: Robert P. J. Day <rpjday>
Component: kudzuAssignee: Bill Nottingham <notting>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: rngadam, rvokal, walovaton
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.2.79.2-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-01-18 23:55:47 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
Output of strace -tt /sbin/kudzu as root
none
My crashing kudzu strace
none
small patch to add else so as not to invoke isAliased with NULL dev->driver
none
patch for this issue none

Description Robert P. J. Day 2007-09-27 14:22:45 UTC
On a Gateway laptop, a kudzu segfault error that happened several times in
succession earlier today, but I can't seem to reproduce now.  From
/var/log/messages:

...
Sep 27 08:09:15 localhost kernel: EXT3 FS on sda1, internal journal
Sep 27 08:09:15 localhost kernel: EXT3-fs: mounted filesystem with ordered data
mode.
Sep 27 08:09:15 localhost kernel: ACPI: PCI Interrupt 0000:00:02.0[A] -> GSI 16
(level, low) -> IRQ 17
Sep 27 08:09:15 localhost kernel: Adding 1048568k swap on /dev/mapper/f8-swap. 
Priority:-1 extents:1 across:1048568k
Sep 27 08:09:15 localhost kernel: kudzu[2555]: segfault at 00000000 eip 4c47d617
esp bf9e2458 error 4
Sep 27 08:09:15 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready
Sep 27 08:09:15 localhost kernel: e100: eth0: e100_watchdog: link up, 100Mbps,
full-duplex
Sep 27 08:09:15 localhost kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
...

$ uname -r
2.6.23-0.204.rc8.fc8
$

Comment 1 Bill Nottingham 2007-09-27 15:58:00 UTC
Which kudzu version?

Comment 2 Robert P. J. Day 2007-09-27 16:05:56 UTC
Whoops, my mistake for not providing that:

$ rpm -q kudzu
kudzu-1.2.76-1

$

Comment 3 William Lovaton 2007-11-11 23:35:25 UTC
kudzu is segfaulting on me too.  I get the following when I try to run
/etc/init.d/kudzu start:

[root@localhost ~]# /etc/init.d/kudzu start
Checking for hardware changes/etc/init.d/kudzu: line 23:  3094 Segmentation
fault      /sbin/kudzu $KUDZU_ARGS
                                                           [FAILED]

And the following gets logged in /var/log/messages:

Nov 11 18:26:22 localhost kudzu[3125]: obsolete kudzu ddcProbe called
Nov 11 18:26:22 localhost kernel: kudzu[3125]: segfault at 00000000 eip 001b8bc8
esp bfc728dc error 4


I don't know if this is the same problem reported in this bug but it looks
similar.  It happens in the final version of Fedora 8 plus latest updates.  The
funny thing is that I installed it on my Desktop (AMD Athlon 2000+) and it works
fine there.  It fails only on my laptop (Dell XPS M1210 Intel Core Duo).

My packages are:
kudzu-1.2.79-1
glibc-2.7-2
kernel-2.6.23.1-49.fc8

Maybe we should update the version and severity of this bug report.  I guess
this particular problem is keeping my sound card from working correctly on my
laptop.  So far I get no sound on my shiny new system.

Comment 4 Bill Nottingham 2007-11-12 16:28:25 UTC
William - this has nothing to do with any sound problems you have - please file
those separately.

If you do 'strace /usr/sbin/kudzu', what's the output (and does it crash?)?

Comment 5 William Lovaton 2007-11-12 19:36:07 UTC
Created attachment 255671 [details]
Output of strace -tt /sbin/kudzu as root

This is the output you asked.  If you need me to, I can install debuginfo
packages and try to get an stack trace, just tell me what other debuginfo
packages do I need besides kudzu.

Comment 6 Bill Nottingham 2007-11-12 19:53:29 UTC
kudzu-debuginfo should almost certainly be enough, but if you want the full
stack, 'debuginfo-install kudzu' should DTRT.


Comment 7 William Lovaton 2007-11-12 21:25:07 UTC
The most incredible thing just happened: For some reason kudzu doesn't fail
anymore.  It apparently fixed it self when I installed the debuginfo packages
but now that I removed all of them it still works fine.  I remember I tried a
gdb execution before the debuginfo packages but I only got a very lame backtrace.

It works fine in both: the boot process and directly from the console as root. 
Now when I execute /etc/init.d/kudzu start the only thing that gets logged in
messages is: localhost kudzu[2754]: obsolete kudzu ddcProbe called

The funny thing is that it _always_ failed on me after installation.  Is there
anything wrong that you can see on the attached strace output in comment #5 ??

I'll keep an eye on it and see if it fails again.

Comment 8 Bill Nottingham 2007-11-12 21:33:20 UTC
No particular reason it would start succeeding, no; at least ,not unless your
hardware information changed at the same time.

Comment 9 Ricky Ng-Adam 2007-12-28 18:40:49 UTC
Created attachment 290504 [details]
My crashing kudzu strace

Comment 10 Ricky Ng-Adam 2007-12-28 18:43:20 UTC
kudzu-1.2.79.1-1 (Fedora 8)
kernel-2.6.23.9-85.fc8
glibc-2.7-2

Checking for hardware changes/etc/init.d/kudzu: line 23:  3261 Segmentation
fault      /sbin/kudzu $KUDZU_ARGS
                                                           [FAILED]
[rngadam@localhost ~]$ dmesg | grep kudzu
kudzu[1531]: segfault at 00000000 eip 00180bc8 esp bfcefd2c error 4
kudzu[3261]: segfault at 00000000 eip 00180bc8 esp bfcc90fc error 4

as per comment #3 idea rejected by Bill that sound not working is not related to
kudzu... If kudzu crash before completion, wouldn't the setup for sound not
complete?

Comment 11 Ricky Ng-Adam 2007-12-30 16:30:55 UTC
I also tried gdb after installing with `yum install kudzu-debuginfo`:

(gdb) file /sbin/kudzu
Reading symbols from /sbin/kudzu...warning: the debug information found in
"/usr/lib/debug//sbin/kudzu.debug" does not match "/sbin/kudzu" (CRC mismatch).

even if I seem to have the correct package installed:

[rngadam@localhost ~]$ rpm -q kudzu-debuginfo
kudzu-debuginfo-1.2.79-1
[rngadam@localhost ~]$ rpm -q kudzu
kudzu-1.2.79.1-1

when I went ahead and used `debuginfo-install kudzu`, it also sets
kudzu-debuginfo to be updated once again and I'm able to get this stacktrace:

(gdb) run
Starting program: /sbin/kudzu 

Program received signal SIGSEGV, Segmentation fault.
0x00180bc8 in strcmp () from /lib/libc.so.6
(gdb) bt
#0  0x00180bc8 in strcmp () from /lib/libc.so.6
#1  0x0805113b in isAliased (cf=0x9d519b0, alias=0x8061351 "snd-card-", 
    module=0x0) at modules.c:339
#2  0x0804b353 in isConfigured (dev=0x9d5fb60) at hwconf.c:472
#3  0x0804c500 in configMenu (oldDevs=0x0, newDevs=0x9d60818, runFirst=1)
    at hwconf.c:777
#4  0x0804cce0 in main (argc=Cannot access memory at address 0x0
) at hwconf.c:978
#5  0x00127390 in __libc_start_main (main=0x804c580 <main>, argc=1, 
    ubp_av=0xbf89ab64, init=0x8060df0 <__libc_csu_init>, 
    fini=0x8060de0 <__libc_csu_fini>, rtld_fini=0x31e940 <_dl_fini>, 
    stack_end=0xbf89ab5c) at libc-start.c:220
#6  0x0804a151 in _start ()

Comment 12 Ricky Ng-Adam 2007-12-30 20:15:18 UTC
Created attachment 290557 [details]
small patch to add else so as not to invoke isAliased with NULL dev->driver 

Compiling the code from here: http://rhlinux.redhat.com/kudzu/ I get the same
segfault.

I think there is a missing 'else' in hwconf.c.

Comment 13 Ricky Ng-Adam 2007-12-31 16:33:42 UTC
Just more context:

-booted into Fedora 8 i686 Developer Spin
-tested that sound worked
-installed to disk
-booted from disk == kudzu segfaulting
-running from command-line == kudzu segfaulting
-sound not working because of incompletly configured sound card (PCM device
missing) - side effects is that a bunch of apps that depend on sound were crashing!
-compiled and patched (see comment #12)
-compiled kudzu runs ok
-reboot
-original kudzu does not segfault anymore, sound works

I think that somewhere at the disk installation from the live dvd the
/etc/modprobe.conf got broken into a format that made dev->drive NULL thus
triggering the segfault.  Once I fixed that, kudzu runs ok (probably because
modprobe.conf is corrected). 

Sadly, I did not keep the original modprobe.conf so if someone else gets this
bug, please upload your modprobe.conf

Comment 14 Bill Nottingham 2008-01-07 19:42:27 UTC
Created attachment 291003 [details]
patch for this issue

Ricky - thanks for the debugging. Here's what I'm committing.

Comment 15 Fedora Update System 2008-01-11 22:17:15 UTC
kudzu-1.2.79.2-1 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update kudzu'

Comment 16 Fedora Update System 2008-01-18 23:55:46 UTC
kudzu-1.2.79.2-1 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.