Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2007 12:19:49 +0400
From:      Oleg Bulyzhin <oleg@freebsd.org>
To:        Attilio Rao <attilio@freebsd.org>
Cc:        Patrick Lamaiziere <patfbsdc@davenulle.org>, freebsd-current@freebsd.org
Subject:   Re: LOR's, and a panic (ipf NAT related?)
Message-ID:  <20070723081949.GA1528@lath.rinet.ru>
In-Reply-To: <46A36A49.2090303@FreeBSD.org>
References:  <46A2B49F.4030307@freebsd.org> <20070722155356.49797993@roxette> <46A36A49.2090303@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Sun, Jul 22, 2007 at 04:31:37PM +0200, Attilio Rao wrote:
>  Patrick Lamaiziere wrote:
> > Le Sat, 21 Jul 2007 20:36:31 -0500,
> > Eric Anderson <anderson@freebsd.org> a ?crit :
> >> Today, on a -CURRENT from a few days ago (running ULE 3.0), I got a
> >> panic:
> >>
> >> panic: Trying sleep, but thread marked as sleeping prohibited
> >> cpuid = 0
> >>
> 
>  This one should have been fixed in last ULE3.0 revision, could you please 
>  update your src/sys and see if it goes away?
> 
>  About the other LORs, you should see in the bz's page if they are alredy 
>  listes, since it seems I remind at least one of them:
>  http://sources.zabbadoz.net/freebsd/lor.html
> 
> 
>  Thanks,
>  Attilio
>  _______________________________________________
>  freebsd-current@freebsd.org mailing list
>  http://lists.freebsd.org/mailman/listinfo/freebsd-current
>  To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"

This panic is not ULE related. It came from wrong sx lock usage inside ipfilter.
I tried to use recently imported (into -current) ipfilter 4.1.23 and found it
is almost unusable (at least ipnat): it's very unstable (several hangs or
deadlocks per day), it does leak memory.

I've spent some time on fixing ipfilter's bugs, then sent report to ipfilter's
author. Unfortunately, i failed to get any feedback.

You can get patch here:
http://people.freebsd.org/~oleg/patches/ipfilter.r70.diff

I would not swear it's 100% correct, but it should make ipfilter much more
stable. It does following:
- sx locks converted to rwlocks. (this should be done, cause pfil(4) uses
  rwlocks, which are not sleepable).
- fixed memory leak inside nat_getnext()
- fixed several improper checks of array's boundary.
- added some missing mutex_destroy() calls
- ipfilter's attaching/detaching procedure changed a bit in order to fix some
  LORs.

-- 
Oleg.

================================================================
=== Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- oleg@rinet.ru ===
================================================================


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFGpGSkryLc73jOEF8RAqNqAJ9TSnEhRQOzipuk947mfxRY01xiuACfVOZ5
DLsLRoxvKu3v3qaKLolw9l8=
=DMlh
-----END PGP SIGNATURE-----

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