On Tuesday 01 March 2005 03:30 pm, Filippo Forti wrote: > Hi, > I got a fully reproduceable panic while trying to suspend (to S3) on my > laptop. FreeBSD is -CURRENT from Monday. > > I'm using a modified DSDT which used to work before I updated on Monday. > dmesg from after reboot is attacched. > > Here comes gbd output > > > Fatal trap 12: page fault while in vm86 mode > fault virtual address = 0x2000 > fault code = user write, page not present > instruction pointer = 0xc000:0x5195 > stack pointer = 0x0:0xfe4 > frame pointer = 0x0:0x0 > code segment = base 0x600005, limit 0x2, type 0x11 > = DPL 1, pres 0, def32 0, gran 0 > processor eflag = interrupt enabled, resume, mv86, IOPL = 0 > current process = 1046 (acpiconf) > [thread pid 1046 tid 100084] > Stopped at 0x5159: *** error reading from address 5159 *** > > db> tr > Tracing pid 1046 tid 100084 td 0xc27645c0 > (null)(ff000e2c3,f000ff53,f000ff54,f00092da) at 0x5195 > _end(ccce4fab,b638f354,3a6c5da3,ec956de5,fe6dff6c) at 0xf000ff53 > > db> where > Tracing pid 1046 tid 100084 td 0xc27645c0 > kdb_enter(c08d00f2,c08e69ce,c08cbfd1,c08ee7f9,2b8) at kdb_enter+0x31 > witness_checkorder(c2cc2a54,9,c08ee7f9,2b8,0) at witness_checkorder+0xc9 > _mtx_lock_flags(c2cc2a54,0,c08ee7f9,2b8,0) at _mtx_lock_flags+0x85 > trap_pfault(c0c21fa8,0,2000,c0c21fa8,2000) at trap_pfault+0xa1 > trap (0,0,0,1000,0) at trap+0x34b > calltrap() at calltrap+0x5 > ---trap 0xc, eip = 0x5195, esp = 0xc0c21fe8, ebp = 0 --- > > db> next > panic: blockable sleep lock (sleep mutex) process lock _at_ > /usr/src/sys/i386/i386/trap.c:696 > KDB: enter: panic > After 2 instructions (0 loads, 0 stores), > [thread 1046 tid 1000084] > stopped at kdb_enter+0x31: ret > > Thanks for your help > Filippo Can you try this patch to get rid of the bogus witness warning: Index: trap.c =================================================================== RCS file: /usr/cvs/src/sys/i386/i386/trap.c,v retrieving revision 1.270 diff -u -r1.270 trap.c --- trap.c 16 Nov 2004 20:42:31 -0000 1.270 +++ trap.c 18 Feb 2005 15:31:37 -0000 _at__at_ -238,7 +238,7 _at__at_ * to the debugger. */ eva = rcr2(); - if (td->td_critnest == 0) + if (td->td_critnest == 0 && td->td_sleeplocks == NULL) enable_intr(); else trap_fatal(&frame, eva); -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.orgReceived on Tue Mar 01 2005 - 21:57:19 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:29 UTC