Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 2004 16:40:05 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Xin LI <delphij@frontfree.net>
Cc:        Xin LI <delphij@FreeBSD.org>
Subject:   Re: kern/72539: Panic: vm_page_remove(): page not found in hash
Message-ID:  <20041116164005.GA88098@happy-idiot-talk.infracaninophile.co.uk>
In-Reply-To: <20041116123050.GA2290@frontfree.net>
References:  <200411120350.iAC3o8xF072944@freefall.freebsd.org> <20041114174352.GA876@happy-idiot-talk.infracaninophile.co.uk> <20041115085240.GA3759@frontfree.net> <20041115145637.GB16729@happy-idiot-talk.infracaninophile.co.uk> <20041116123050.GA2290@frontfree.net>

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

--5mCyUwZo2JvN/JJP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 16, 2004 at 08:30:50PM +0800, Xin LI wrote:

> I'd like to try to reproduce your panic on my test box, however I got sto=
pped
> with:
>=20
> =09
> Can't locate warnings.pm in @INC (@INC contains: /usr/local/lib/perl5/sit=
e_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 . /usr/libda=
ta/perl/5.00503/mach /usr/libdata/perl/5.00503) at ./portindex line 40.
>=20
> Do I need newer Perl version?  Or install some Perl Modules?

Err -- yes.  Both of those things.  You need perl-5.8.5 and you'll
need to install the databases/p5-BerkeleyDB module.

I don't think those two requirements are anything to do with the
material cause of the crash though -- the example code is just from
something I was developing -- actually, now developed in a way that
avoids knocking over my machine, and released: see
http://www.infracaninophile.co.uk/portindex/

I have a feeling that the problem is triggered by code like the
following in perl:

   sub foo {
     my $bar =3D {};

     $bar->{blurlf} =3D "gronk";

     return $bar;
   }

and repeat that sort of thing a few thousand times.  If instead of
having $bar as a 'my' variable, you pass it into the function it seems
to avoid the problem.  Nb. as that code is in essence the standard way
of instantiating a perl object, that's pretty bad.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

--5mCyUwZo2JvN/JJP
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBmi1liD657aJF7eIRAmfpAKCWIbBeWvyb1If5c/0vhSb27tY6zgCgrpgW
X3OnW82Q14Lzv2LxnInIj8U=
=67Fe
-----END PGP SIGNATURE-----

--5mCyUwZo2JvN/JJP--



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