[LOR] kqueue()

From: Wojciech A. Koszek <dunstan_at_freebsd.czest.pl>
Date: Sat, 16 Jul 2005 22:44:43 +0000
Hello,
Code needed to reproduce LOR I've expirienced is here:

http://FreeBSD.czest.pl/dunstan/kqueuetest.c

Compile:
[1] gcc kqueuetest.c -o kqueuetest
Run with shell's PID:
[2] ./kqueuetest $$
[3] Suspend execution with CTRL^Z and move task to
    background: bg %1

Step [3] is not always needed.

Tested on -CURRENT.

/usr/src/sys/kern/kern_event.c:
__FBSDID("$FreeBSD: src/sys/kern/kern_event.c,v 1.93 2005/07/01 16:28:30 ssouhlal Exp $");

Backtrace..
[..]
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc04ad3d3 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
#2  0xc04ad6d3 in panic (fmt=0xc0624a08 "mutex %s owned at %s:%d")
    at /usr/src/sys/kern/kern_shutdown.c:553
#3  0xc04a5a10 in _mtx_assert (m=0xc2240100, what=0, 
    file=0xc062200d "/usr/src/sys/kern/kern_event.c", line=1039)
    at /usr/src/sys/kern/kern_mutex.c:752
#4  0xc04925d2 in kqueue_expand (kq=0xc2240100, fops=0x0, ident=1155, 
    waitok=0) at /usr/src/sys/kern/kern_event.c:1039
#5  0xc0492015 in kqueue_register (kq=0xc2240100, kev=0xd6c97c38, td=0x0, 
    waitok=0) at /usr/src/sys/kern/kern_event.c:828
#6  0xc0491436 in filt_proc (kn=0xc1dc9a18, hint=0)
    at /usr/src/sys/kern/kern_event.c:413
#7  0xc049346c in knote (list=0xc20b1c80, hint=1073742979, islocked=1)
    at /usr/src/sys/kern/kern_event.c:1548
#8  0xc0497c07 in fork1 (td=0xc1ec9900, flags=20, pages=0, procp=0xd6c97cd4)
    at /usr/src/sys/kern/kern_fork.c:696
#9  0xc0496bf0 in fork (td=0xc1ec9900, uap=0xd6c97d04)
    at /usr/src/sys/kern/kern_fork.c:96
#10 0xc05f9a73 in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 672035108, tf_esi = -1077941576, tf_ebp = -1077941768, tf_isp = -691438236, tf_ebx = 672067444, tf_edx = 672090288, tf_ecx = -1077941568, tf_eax = 2, tf_trapno = 12, tf_err = 2, tf_eip = 672757531, tf_cs = 51, tf_eflags = 642, tf_esp = -1077941796, tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:986
#11 0xc05eaadf in Xint0x80_syscall ()
    at /usr/src/sys/i386/i386/exception.s:200
#12 0x0000003b in ?? ()
#13 0x0000003b in ?? ()
#14 0x0000003b in ?? ()
#15 0x280e7124 in ?? ()
#16 0xbfbfeab8 in ?? ()
#17 0xbfbfe9f8 in ?? ()
#18 0xd6c97d64 in ?? ()
#19 0x280eef74 in ?? ()
#20 0x280f48b0 in ?? ()
#21 0xbfbfeac0 in ?? ()
#22 0x00000002 in ?? ()
#23 0x0000000c in ?? ()
#24 0x00000002 in ?? ()
#25 0x2819771b in ?? ()
#26 0x00000033 in ?? ()
#27 0x00000282 in ?? ()
#28 0xbfbfe9dc in ?? ()
#29 0x0000003b in ?? ()
#30 0xd0d0d0d0 in ?? ()
#31 0xd0d0d0d0 in ?? ()
#32 0xd0d0d0d0 in ?? ()
#33 0xd0d0d0d0 in ?? ()
#34 0x15c43000 in ?? ()
#35 0xc20b1ab4 in ?? ()
#36 0xc1ec9900 in ?? ()
#37 0xd6c97940 in ?? ()
#38 0xd6c97928 in ?? ()
#39 0xc199c780 in ?? ()
#40 0xc04bdb8f in sched_switch (td=0xbfbfeab8, newtd=0x280eef74, flags=)
    at /usr/src/sys/kern/sched_4bsd.c:973
(kgdb) quit

-- 
* Wojciech A. Koszek && dunstan_at_FreeBSD.czest.pl
Received on Sat Jul 16 2005 - 20:31:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:39 UTC