Subject: panic on -current with USER_LDT
To: None <current-users@netbsd.org>
From: Henry R. Bent <Henry.Bent@oberlin.edu>
List: current-users
Date: 03/21/2007 18:20:39
Hi all,

I am seeing a reproducible panic here on a very recent (~1 hour ago) 
-current kernel with USER_LDT set; it goes away if I disable USER_LDT 
(but then mplayer fails; see below).  The panic is triggered by trying 
to use mplayer to play anything using the win32 dlls 
(pkgsrc/multimedia/win32-codecs).  If I disable USER_LDT I can't play 
the files, and mplayer reminds me that I need to set USER_LDT in order 
to load the windows codecs.  I didn't get all the guts of the panic 
since I was copying by hand, but here's the gist of it:

mutex_enter with held simple_lock 0xcec8ae74 CPU 0 
/usr/src/src-current/sys/arch/i386/i386/sys_machdep:296
uvm_fault(0xcec89a80, 0, 1) -> 0xe
kernel: supervisor trap page fault, code=0
Stopped in pid 29.1 (mplayer) at	netbsd:db_read_bytes+0x30:	movl	0
(%esi),%eax
db{0}> bt
db_read_bytes(...)
db_get_value(...)
db_stack_trace_print(...)
simple_lock_only_held(...)
mutex_vector_enter(...)
gdt_get_slot(...)
ldt_alloc(...)
i386_set_ldt(...)
syscall_plain(...)
--- syscall (number 165) ---

"sync" fails, and all I can do is reboot.

-Henry Bent