Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Aug 1998 11:31:09 -0700 (PDT)
From:      Julian Elischer <julian@whistle.com>
To:        Andrzej Bialecki <abial@nask.pl>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: It's MFS panic.. (Re: Panic with DEVFS)
Message-ID:  <Pine.BSF.3.95.980828112924.3854N-100000@current1.whistle.com>
In-Reply-To: <Pine.BSF.4.00.9808271115470.17607-100000@korin.warman.org.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
I've been thinking about this....

could you make a -g kernel?

(config -g)
and strip -d the copy you eventually use

then use the unstripped version to get the symbols from the coredump...

I really need to see the value of ap->a_vn
and the vnode that it points to..




On Thu, 27 Aug 1998, Andrzej Bialecki wrote:

> 
> On Wed, 26 Aug 1998, Andrzej Bialecki wrote:
> 
> > I'm totally lame when it comes to FS internals, but this looks to me
> > as if some delayed action (caching? cleaning? read-ahead? whatever?)
> > is causing this.
> 
> ...but it looks like I was right after all. Below is the trace (no
> crashdump available yet - I'm working on it). Source tree is about four
> days old.
> 
> One important notice, though: this time I was able to reliably crash
> _without_ disabling any device, and even when not touching /dev at all -
> it was enough to do just an 'ls -l' of some directory a few times to
> produce sufficient number of dirty pages... The only thing that is common
> in all these cases is:
> 
> * root on MFS
> * DEVFS/SLICE kernel
> 
> and it seems these two definitely don't like each other.. :-(
> 
> So, here's the stack trace (taken by hand.. :-<< ):
> 
>   _panic()
>   _mfs_strategy(ap=...) at _mfs_strategy+0x3c [../../ufs/mfs/mfs_vnops.c:137]
>   _bwrite(bp=...) at _bwrite+0xaf [../../kern/vfs_bio.c:891]
> * _vop_stdbwrite(ap=...) at _vop_defaultop+0x15 [../../kern/vfs_default.c:131]
> * _bawrite(bp=...) at _bawrite+0x2c [../../kern/vfs_bio.c:1122]
> * _spec_fsync(ap=...) at _spec_fsync+0x76 [../../miscfs/specfs/spec_vnops.c:509]
>   _mfs_fsync(ap=...) at _mfs_fsync+0x16 [../../ufs/mfs/mfs_vnops.c:118]
>   _sched_sync() at _sched_sync+0xa4 [../../kern/vfs_subr.c:499]
>   _kproc_start(udata=...) at _kproc_start+0x32 [../../kern/init_main.c:248]
>   _fork_trampoline(...,...,...,...,...) at _fork_trampoline+0x30
> 
> The lines marked with stars ('*') in other panics were replaced with the
> following lines:
> 
>   _vop_stdbwrite(ap=...) at _vop_stdbwrite+0xe [../../kern/vfs_default.c:285]
>   _vop_defaultop(ap=...) at _vop_defaultop+0x15 [../../kern/vfs_default.c:131]
>   _vfs_bio_awrite(bp=...) at _vfs_bio_awrite+0x103 [../../kern/vfs_bio.c:1122]
>   _spec_fsync(ap=...) at _spec_fsync+0x1e [../../miscfs/specfs/spec_vnops.c:503]
> 
> I also tried to do a 'show object' which printed:
> 
> db> show object
> Object 0xf019bb75: type=1694529634, size=0x65007864, res=1166738538, ret=1694529635, flags=0x7363
> 
> Fatal trap 12: page fault while in kernel mode
> ...
> fault code         = supervisor read, page not present
> ...
> current process    = 4 (syncer)
> interrupt mask     = bio
> 
> and at this point I gave up...
> 
> I'll try to get the coredump, if you're interested in having it...
> 
> Andrzej Bialecki
> 
> +---------------------+------------------------+--------------------------+
> | <abial@nask.pl>     | When in problem or in  |  if(halt_per_mth > 0) {  |
> | Research & Academic | doubt, run in circles, |      fetch("FreeBSD");   |
> | Network in Poland   | scream and shout.      |  }                       |
> + --------------------+------------------------+--------------------------+
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.980828112924.3854N-100000>