Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Apr 2007 14:52:31 +0200
From:      Stefan Ehmann <shoesoft@gmx.net>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-current@freebsd.org, des@freebsd.org
Subject:   Re: strace causes panic: sleeping thread
Message-ID:  <200704281452.32256.shoesoft@gmx.net>
In-Reply-To: <20070428115503.GM2441@deviant.kiev.zoral.com.ua>
References:  <200704281128.44077.shoesoft@gmx.net> <20070428115503.GM2441@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 28 April 2007 13:55:03 Kostik Belousov wrote:
> On Sat, Apr 28, 2007 at 11:28:43AM +0200, Stefan Ehmann wrote:
> > I see this on freshly build CURRENT (i386):
> >
> > Using strace causes an immediate panic, e.g. strace echo foo:
> >
...
> This is because you do not have INVARIANTS in kernel. Then you would obtain
> the "recursed on non-recursive mutex" panic.
>
> The pfs_ioctl locks the process (pfs_ioctl()->pfs_visible()->pfind()) that
> is the target of the ioctl, and then the pseudofs_ioctl() do PROC_LOCK()
> again.
>
> This is changed by rev. 1.62 of the fs/pseudofs/pseudofs_vnops.c, before it
> process was held during pn_ioctl() call instead of being locked. Also, this
> change seems to also take place for getextattr().
>
> With the following patch, I was able to successfully strace ls. As a side
> note, it seems that procfs ABI changed, strace built on RELENG_6 cannot run
> on CURRENT.

Yes, INVARIANTS is disabled here.

The patch also works for me, thanks.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704281452.32256.shoesoft>