LOR filedesc structure / Giant

Stefan Bethke stb at lassitu.de
Mon Nov 24 12:45:56 PST 2003

This is with a current from around two days ago, with a kernel not much 
different from GENERIC.

lock order reversal
  1st 0xc48ab234 filedesc structure (filedesc structure) @ 
  2nd 0xc0729a60 Giant (Giant) @ /usr/src/sys/fs/specfs/spec_vnops.c:377
Stack backtrace:
backtrace(c06cdeaa,c0729a60,c06ca2ff,c06ca2ff,c06c5b0c) at 
witness_lock(c0729a60,8,c06c5b0c,179,0) at witness_lock+0x686
_mtx_lock_flags(c0729a60,0,c06c5b0c,179,c06ce4b1) at 
spec_poll(d79e7afc,d79e7b1c,c05897b4,d79e7afc,c071e1a0) at 
spec_vnoperate(d79e7afc,c071e1a0,c4692208,40,c4888f00) at 
vn_poll(c466f7f8,40,c4888f00,c4425c80,c4888f00) at vn_poll+0x3c
selscan(c4425c80,d79e7b9c,d79e7b8c,5,4) at selscan+0x11a
kern_select(c4425c80,5,bfbfe3f8,0,0) at kern_select+0x368
select(c4425c80,d79e7d14,c06e5eae,3ee,5) at select+0x67
syscall(2f,2f,2f,1,bfbfed24) at syscall+0x292
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (93), eip = 0x280c7073, esp = 0xbfbfe39c, ebp = 0xbfbfecf0 

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x3c
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc04e1305
stack pointer           = 0x10:0xd8c0a8a8
frame pointer           = 0x10:0xd8c0a978
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 19005 (patch)
kernel: type 12 trap, code=0
Stopped at      devfs_lookupx+0x448:    movl    0x3c(%eax),%eax
db> trace
devfs_lookupx(d8c0a9d0,1,0,c6592500,c4658c30) at devfs_lookupx+0x448
devfs_lookup(d8c0a9d0,c6592500,0,c6592500,c6592500) at devfs_lookup+0x4b
lookup(d8c0abdc,0,c06d1d39,a6,c6592500) at lookup+0x2e0
namei(d8c0abdc,c072f3a8,0,c6592500,c07358e0) at namei+0x235
vn_open_cred(d8c0abdc,d8c0acdc,d,c4888f00,4) at vn_open_cred+0x257
vn_open(d8c0abdc,d8c0acdc,d,4,d8c0ab80) at vn_open+0x33
kern_open(c6592500,80527e6,0,3,f) at kern_open+0xd0
open(c6592500,d8c0ad14,c06e5eae,3ee,3) at open+0x30
syscall(2f,2f,2f,80543d0,0) at syscall+0x292
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (5, FreeBSD ELF32, open), eip = 0x280c47b3, esp = 
0xbfbfeb2c, ebp = 0xbfbfeb58 ---

Stefan Bethke <stb at lassitu.de>   Fon +49 170 346 0140

More information about the freebsd-current mailing list