Bug 209524 - Hangs in Kudzu
Summary: Hangs in Kudzu
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kudzu
Version: 5
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-10-05 19:44 UTC by Dan Carpenter
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2006-10-16 17:49:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
dmesg for reference (18.69 KB, text/plain)
2006-10-09 23:57 UTC, Dan Carpenter
no flags Details

Description Dan Carpenter 2006-10-05 19:44:16 UTC
Description of problem:  When I boot up I get a hang with Kudzu.


Version-Release number of selected component (if applicable): 
kernel-2.6.17-1.2187_FC5.src.rpm


How reproducible:  I've seen this on 3 systems.


Steps to Reproduce:
1.  Boot, and it hangs on kudzu.

Additional info:

I've seen this on 3 different systems.  On 2 systems I get a hang when kudzu is
run but on the other system I get a reboot when kudzu is run.  On the systems
that lock up it's a complete lock.  Numlock doesn't work.  SYSREQ doesn't work.
 I don't get a watchdog timer dump.

It seems to be related to readahead_early.  If I chkconfig readahead_early off I
don't get a hang.

If I chkconfig kudzu off and then run it after the system has booted I get a hang.

If I modify the kudzu service to run kudzu under strace then it doesn't hang.

If I modify the kudzu service to have a sleep before runing kudzu then it
doesn't hang because readahead_early completes.

My co-workers report that with the 2.6.16-1.2080_FC5 if they manually type
numa=off at the command line then it doesn't hang but if they use grub to do
that then it does hang.  They say that if they upgrade to 2.6.17-1.2187_FC5 and
use numa=off then it doesn't hang.

I've looked through the readahead code and that looks straight forward.  I've
started looking through the kudzu code but I haven't got very far on that yet.

Comment 1 Dan Carpenter 2006-10-06 04:51:20 UTC
Sorry, I meant to post a bunch more information but all 3 systems have been
taken away until Monday...  :/



Comment 2 Dan Carpenter 2006-10-09 23:53:51 UTC
I'm reassigning this bug to kudzu.  The bug happens in ddc probing.

What I did is in one terminal I do:
cat /dev/zero > /tmp/foo

In the other terminal I modified kudzu to run:
        for (i = 0; i < 500; i++) {
                get_edid_supported();

get_edid_supported() calls:
	iopl(3);
	ioperm(0, 0x400, 1);

	if (f->interrupt(0x10, &regs) == 0) {
		return 0;
	}

f->interrupt() sometimes locks the system.
I'm using AMD64 so it's using the x86emu stuff.  f->interrupt() calls
x86emu_LRMI_int() from thunk.c.  There's quite a bit of code in the x86emu stuff
that messes with interrupts.  

I'm testing with a one cpu dual core opteron box.

In FC6, kudzu doesn't do any ddc probing...



Comment 3 Dan Carpenter 2006-10-09 23:57:18 UTC
Created attachment 138102 [details]
dmesg for reference

Comment 4 Bill Nottingham 2006-10-16 17:49:10 UTC
This is fixed in the FC6 development tree.


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