Kernel Panic on Freebsd 8-RELEASE

Daniel Ballenger dan at svwh.net
Mon Feb 1 21:44:53 UTC 2010


Hi all,
A recent HLDS update is causing my machine to kernel panic.

Here is a copy of the kernel dump:

#0  sched_switch (td=0xffffffff80be7600, newtd=0xffffff00014f6720, flags=Variable "flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1864
1864                    cpuid = PCPU_GET(cpuid);
(kgdb) 
(kgdb) bt
#0  sched_switch (td=0xffffffff80be7600, newtd=0xffffff00014f6720, flags=Variable "flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1864
#1  0xffffffff805879bf in mi_switch (flags=260, newtd=0x0) at /usr/src/sys/kern/kern_synch.c:449
#2  0xffffffff805b94a2 in sleepq_timedwait (wchan=0xffffffff80be71a0, pri=68) at /usr/src/sys/kern/subr_sleepqueue.c:623
#3  0xffffffff80587f38 in _sleep (ident=0xffffffff80be71a0, lock=0x0, priority=Variable "priority" is not available.
) at /usr/src/sys/kern/kern_synch.c:230
#4  0xffffffff807c7faa in scheduler (dummy=Variable "dummy" is not available.
) at /usr/src/sys/vm/vm_glue.c:779
#5  0xffffffff8053a859 in mi_startup () at /usr/src/sys/kern/init_main.c:251
#6  0xffffffff8018a33c in btext () at /usr/src/sys/amd64/amd64/locore.S:81
#7  0x0000000000e74000 in ?? ()
#8  0x0000000000000000 in ?? ()
#9  0x0000000000000000 in ?? ()
#10 0xffffffff80c0c710 in sleepq_chains ()
#11 0xffffffff80be7600 in proc0 ()
#12 0xffffffff80e52be0 in ?? ()
#13 0xffffffff80e52b98 in ?? ()
#14 0xffffff00014f6720 in ?? ()
#15 0xffffffff805a2bd8 in sched_switch (td=0x0, newtd=0x0, flags=Variable "flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1858
Previous frame inner to this frame (corrupt stack?)
(kgdb)

uname -a:
FreeBSD dl0009.sjc02.denetron.net 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Thu Jan 28 05:36:57 UTC 2010     root at dl0009.sjc02.denetron.net:/usr/obj/usr/src/sys/GENERIC  amd64

The message displayed to the console:
	• Unread portion of the kernel message buffer:
	• panic: tdsignal(): invalid signal 0
	• cpuid = 2
	• Uptime: 6m52s
	• Physical memory: 4073 MB

t_j in the ##freebsd channel on freenode asked me to do this so I'll include it incase it's some help:

(kgdb) frame 0
#0  sched_switch (td=0xffffffff80be7600, newtd=0xffffff00014f6720, flags=Variable "flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1864
1864                    cpuid = PCPU_GET(cpuid);
(kgdb) list
1859                    /*
1860                     * We may return from cpu_switch on a different cpu.  However,
1861                     * we always return with td_lock pointing to the current cpu's
1862                     * run queue lock.
1863                     */
1864                    cpuid = PCPU_GET(cpuid);
1865                    tdq = TDQ_CPU(cpuid);
1866                    lock_profile_obtain_lock_success(
1867                        &TDQ_LOCKPTR(tdq)->lock_object, 0, 0, __FILE__, __LINE__);
1868    #ifdef  HWPMC_HOOKS


The crash is repeatable (occurs everytime for me).  I also confirmed that another FreeBSD 8 machine I have ran into the same panic (also amd64).

I'm guessing this is a bug of some kind, if there's more information I need to provide, just let me know.

Thanks,
Daniel


More information about the freebsd-stable mailing list