[snake-farm] Re: [Python-Dev] Snake farm (original) (raw)
Marc Recht marc@informatik.uni-bremen.de
11 Nov 2002 11:00:33 +0100
- Previous message: [snake-farm] Re: [Python-Dev] Snake farm
- Next message: [snake-farm] Re: [Python-Dev] Snake farm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
--=-tuuTKiD/ra3Duz9v1MjA Content-Type: text/plain Content-Transfer-Encoding: quoted-printable
Marc, pymalloc is supposed to be bulletproof. If there's a segfault that can be avoided by disabling pymalloc, that's a bug in pymalloc. Would you mind helping us find this bug? No problem. Environment: FreeBSD-current (Nov. 8th), Python CVS Sources Nov. 11th (~ 10:00 CEST). limit: cputime unlimited filesize unlimited datasize 512MB stacksize 64MB coredumpsize unlimited memoryuse unlimited memorylocked unlimited maxproc 7390 descriptors 32768 sockbufsize unlimited vmemorysize unlimited
I compiled Python with no optimization flags set and my changes to pyconfig.h.in/configure.in (removes XOPEN_*,POSIX_* in the FreeBSD case to get it compiled). The only configure argument was prefix.
Error=20
/usr/bin/install -c ./install-sh
/opt/local/python/lib/python2.3/config/install-sh
./python -E ./setup.py install
--prefix=3D/opt/local/python
--install-scripts=3D/opt/local/python/bin
--install-platlib=3D/opt/local/python/lib/python2.3/lib-dynload
running install
running build
running build_ext
gmake: *** [sharedinstall] Segmentation fault (core dumped)
713 if (ADDRESS_IN_RANGE(p, pool->arenaindex)) {
(gdb) bt #0 0x080779c0 in PyObject_Free (p=3D0x800) at Objects/obmalloc.c:713 #1 0x080e00a0 in function_call (func=3D0x82641ec, arg=3D0x8258b8c, kw=3D0x826bbdc) at Objects/funcobject.c:481 #2 0x080599fb in PyObject_Call (func=3D0x82641ec, arg=3D0x8258b8c, kw=3D0x826bbdc) at Objects/abstract.c:1688 #3 0x080a7950 in ext_do_call (func=3D0x82641ec, pp_stack=3D0xbfbfdfa4, flags=3D2, na=3D1, nk=3D0) at Python/ceval.c:3453 #4 0x080a4b64 in eval_frame (f=3D0x81d400c) at Python/ceval.c:2043 #5 0x080a5e1e in PyEval_EvalCodeEx (co=3D0x820e620, globals=3D0x819a57c, locals=3D0x0, args=3D0x831ad70, argcount=3D1, kws=3D0x831ad74, kwcount=3D0, defs=3D0x0, defcount=3D0, closure=3D0x0) at Python/ceval.c:2554 #6 0x080a73c3 in fast_function (func=3D0x82378ec, pp_stack=3D0xbfbfe194, n=3D1, na=3D1, nk=3D0) at Python/ceval.c:3297 #7 0x080a72af in call_function (pp_stack=3D0xbfbfe194, oparg=3D0) at Python/ceval.c:3266 #8 0x080a4a50 in eval_frame (f=3D0x831ac0c) at Python/ceval.c:2009 [...]
(gdb) l 708=09 709 if (p =3D=3D NULL) /* free(NULL) has no effect / 710 return; 711=09 712 pool =3D POOL_ADDR(p); 713 if (ADDRESS_IN_RANGE(p, pool->arenaindex)) { 714 / We allocated this address. / 715 LOCK(); 716 / 717 * Link p to the start of the pool's freeblock list. Since
Here ?
(gdb) p pool $1 =3D (struct pool_header *) 0x0
(gdb) p p $2 =3D (void *) 0x800
(gdb) x 0x800 0x800: Cannot access memory at address 0x800
This doesn't happen if either --without-pymalloc or --with-pydebug is given.
HTH, Marc --=20 "Premature optimization is the root of all evil." -- Donald E. Knuth
--=-tuuTKiD/ra3Duz9v1MjA Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD)
iD8DBQA9z3/B7YQCetAaG3MRArVTAKCMXN0FbfVRiPLX0Oexa5eoU4RldACgieIk hRUOXsYIgSdxj+QwDDkqf4M= =pMq1 -----END PGP SIGNATURE-----
--=-tuuTKiD/ra3Duz9v1MjA--
- Previous message: [snake-farm] Re: [Python-Dev] Snake farm
- Next message: [snake-farm] Re: [Python-Dev] Snake farm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]