Bug 309101 - kudzu segfaults on an irregular basis
Summary: kudzu segfaults on an irregular basis
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kudzu
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-27 14:22 UTC by Robert P. J. Day
Modified: 2014-03-17 03:08 UTC (History)
3 users (show)

Fixed In Version: 1.2.79.2-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-18 23:55:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Output of strace -tt /sbin/kudzu as root (216.77 KB, text/plain)
2007-11-12 19:36 UTC, William Lovaton
no flags Details
My crashing kudzu strace (215.47 KB, text/plain)
2007-12-28 18:40 UTC, Ricky Ng-Adam
no flags Details
small patch to add else so as not to invoke isAliased with NULL dev->driver (509 bytes, patch)
2007-12-30 20:15 UTC, Ricky Ng-Adam
no flags Details | Diff
patch for this issue (753 bytes, patch)
2008-01-07 19:42 UTC, Bill Nottingham
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.