Trouble with APM suspend in 5.3-R

Andrew Belashov bel at orel.ru
Mon Jan 24 03:12:56 PST 2005


Dave Walton wrote:
> That done, I rebooted and tested suspend/resume.  With the pir0 patch
> removed, the resume triggered the ROUTE_INTERRUPT error message three
> times, as before.  That was followed by the same panic screen as before,
> with these values:
> 
>    fault virtual address = 0x0
>    instruction pointer   = 0x8:0xc061ed0e
>    stack pointer         = 0x10:0xcde52ac8
>    frame pointer         = 0x10:0xcde52ac8
>    code segment          = base 0x0, limit 0xfffff, type 0x1b
> 
> After reboot, I found I needed to symlink /var/crash to a directory with
> enough space to hold the core and manually run /etc/rc.d/savecore again.
> 
> At this point, addr2line now reports:
> 
>    # addr2line -f -e kernel.debug 0xc061ed0e
>    turnstile_head
>    /usr/src/sys/kern/subr_turnstile.c:763
> 
> 
> Since I now have a core file, I expect you'd like to see a backtrace...
> (Which is about the extent of my knowledge of gdb.)
> 
> # kgdb kernel.debug /var/crash/vmcore.0
> [GDB will not be able to debug user-mode threads: 
> /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you 
> are welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-marcel-freebsd".
> doadump () at pcpu.h:159
> (kgdb) backtrace
> #0  doadump () at pcpu.h:159
> #1  0xc05ffa69 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
> #2  0xc05ffd25 in panic (fmt=0xc07f5ecb "%s")
>     at /usr/src/sys/kern/kern_shutdown.c:553
> #3  0xc07af4a0 in trap_fatal (frame=0xcde52a88, eva=0)
>     at /usr/src/sys/i386/i386/trap.c:809
> #4  0xc07aec49 in trap (frame=
>       {tf_fs = -1063387112, tf_es = -840630256, tf_ds = -1067384816, 
> tf_edi = -1049316608, tf_esi = -1049320320, tf_ebp = -840619320, tf_isp 
> = -840619340, tf_ebx = 0, tf_edx = -1050516704, tf_ecx = -1049320320, 
> tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1067324146, tf_cs = 8, 
> tf_eflags = 589894, tf_esp = -840619292, tf_ss = -1067486604}) at 
> /usr/src/sys/i386/i386/trap.c:247
> #5  0xc079eeda in calltrap () at /usr/src/sys/i386/i386/exception.s:140
> #6  0xc09e0018 in ?? ()
> #7  0xcde50010 in ?? ()
> #8  0xc0610010 in sched_pctcpu (td=0x0) at 
> /usr/src/sys/kern/sched_4bsd.c:1207
> #9  0xc05f7274 in _mtx_unlock_sleep (m=0xc174a480, opts=0,
>     file=0xc09ded5e 
> "/usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/channel.c", 
> line=1087) at /usr/src/sys/kern/kern_mutex.c:665
> #10 0xc05f6ffe in _mtx_unlock_flags (m=0x0, opts=0,
>     file=0xc09ded5e 
> "/usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/channel.c", 
> line=1087) at /usr/src/sys/kern/kern_mutex.c:364
> #11 0xc09d715d in ?? ()
> #12 0xc174a480 in ?? ()
> #13 0x00000000 in ?? ()
> #14 0xc09ded5e in ?? ()
> #15 0x0000043f in ?? ()
> #16 0x10000010 in ?? ()
> #17 0x00001000 in ?? ()
> #18 0x00000000 in ?? ()
> #19 0xc174b400 in ?? ()
> #20 0x00000000 in ?? ()
> #21 0xc171c700 in ?? ()
> #22 0x0000ac44 in ?? ()
> #23 0xcde52b60 in ?? ()
> #24 0xc09d6cdd in ?? ()
> #25 0xc171c700 in ?? ()
> #26 0x00000020 in ?? ()
> #27 0x00000000 in ?? ()
> #28 0xc1735500 in ?? ()
> #29 0xc1735594 in ?? ()
> #30 0xc174b300 in ?? ()
> #31 0xc174b400 in ?? ()
> #32 0xc171c700 in ?? ()
> #33 0xc1739960 in ?? ()
> #34 0x10000010 in ?? ()
> #35 0xcde52b80 in ?? ()
> #36 0xc09d6e89 in ?? ()
> #37 0xc171c700 in ?? ()
> #38 0x0000ac44 in ?? ()
> #39 0xc1735594 in ?? ()
> #40 0x00000019 in ?? ()
> #41 0xc171c700 in ?? ()
> #42 0x10000010 in ?? ()
> #43 0xcde52b9c in ?? ()
> #44 0xc09d6ea9 in ?? ()
> #45 0xc171c700 in ?? ()
> #46 0x10000010 in ?? ()
> #47 0x00000019 in ?? ()
> #48 0xc1735500 in ?? ()
> #49 0xc16fc380 in ?? ()
> #50 0xcde52bb4 in ?? ()
> #51 0xc09ef477 in ?? ()
> #52 0xc171c700 in ?? ()
> #53 0x10000010 in ?? ()
> #54 0xc171c580 in ?? ()
> #55 0xc171c580 in ?? ()
> #56 0xcde52bc8 in ?? ()
> #57 0xc0613f92 in bus_generic_resume (dev=0x0) at device_if.h:302
> Previous frame inner to this frame (corrupt stack?)
> (kgdb)

Look like bug in pcm(4). Try to disable a sound support.

Best Regards,
Andrew Belashov.


More information about the freebsd-mobile mailing list