Problem with INVARIANTS and WITNESS
M. Warner Losh
imp at bsdimp.com
Tue Jun 22 15:51:55 UTC 2010
In message: <2212d4b11d25b115892adba1d35d71f1.squirrel at webmail.equix.ee>
"Ain Tepp" <freebsd at luftivennad.com> writes:
: Thanks for answer, Warner!
:
:
: nm gives following info:
:
: # nm /mnt/da1/mips/boot/kernel/kernel | grep -i 800f8cc0
: 800f8cc0 t g_down_procbody
OK. That's not as helpful as I'd have hoped... How about my patch?
What does it say the geom is?
Warner
: Ain
:
: > In message: <27670c29041b59dc0a95514c6a0b86d7.squirrel at webmail.equix.ee>
: > "Ain Tepp" <freebsd at luftivennad.com> writes:
: > : I have added my working kernel conf following options:
: > :
: > : options INVARIANTS
: > : options INVARIANT_SUPPORT
: > : options WITNESS
: > : options WITNESS_SKIPSPIN
: >
: > These options have found a bug...
: >
: > : mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0
: > : mx25l0: mx25ll128, sector 65536 bytes, 256 sectors
: > ...
: > : panic: wrong offset 16773120 for sectorsize 65536
: >
: > The tasting code is scheduling an I/O that isn't at a even 64k offset,
: > and geom is getting cranky.
: >
: > : KDB: enter: panic
: > : [ thread pid 4 tid 100008 ]
: > : Stopped at kdb_enter+0x50: lui at,0x8140
: > : db> bt
: > : Tracing pid 4 tid 100008 td 0xc0c57540
: > : db_trace_thread+30 (?,?,?,?) ra 80055c70 sp c0bd7910 sz 24
: > : 80055b54+11c (0,?,ffffffff,?) ra 80055258 sp c0bd7928 sz 32
: > : 80054ec4+394 (?,?,?,?) ra 800553e8 sp c0bd7948 sz 168
: > : db_command_loop+78 (?,?,?,?) ra 80057ac8 sp c0bd79f0 sz 24
: > : 800579c0+108 (?,?,?,?) ra 80183400 sp c0bd7a08 sz 424
: > : kdb_trap+108 (?,?,?,?) ra 80304d70 sp c0bd7bb0 sz 32
: > : trap+d50 (?,?,?,?) ra 802fc6f0 sp c0bd7bd0 sz 168
: > : MipsKernGenException+134 (0,a,81579fe4,109) ra 80183688 sp c0bd7c78 sz
: > 200
: > : kdb_enter+50 (?,?,?,?) ra 8014d6d4 sp c0bd7d40 sz 24
: > : panic+f8 (?,0,0,fff000) ra 800f7a3c sp c0bd7d58 sz 40
: > : g_io_request+118 (?,?,?,?) ra 800fa0c0 sp c0bd7d80 sz 72
: > : 800f9dcc+2f4 (?,?,?,?) ra 800f8274 sp c0bd7dc8 sz 48
: > : g_io_schedule_down+30c (?,?,?,?) ra 800f8d38 sp c0bd7df8 sz 72
: > : 800f8cc0+78 (?,?,?,?) ra 80125198 sp c0bd7e40 sz 24
: > : fork_exit+b0 (?,?,?,?) ra 80309670 sp c0bd7e58 sz 40
: > : fork_trampoline+10 (?,?,?,?) ra 0 sp c0bd7e80 sz 0
: > : pid 4
: >
: > But unfortunately, I don't know anything from this traceback. I need
: > to know who is calling g_io_schedule_down. can you find the symbol
: > for address 0x800f8cc0? I usually do this by approximately:
: >
: > % setenv MAKEOBJDIRPREFIX /mumble # the real one
: > % setenv TARGET mips
: > % make buildenv
: > $ nm /path/to/kernel | grep -i 800f8cc0
: >
: > (so that I'm running the right nm). I'm guessing it will be one of
: > the routines in goem...
: >
: > Warner
: >
:
:
:
More information about the freebsd-mips
mailing list