[Python-Dev] [Fwd: segfault in sre on 64-bit plats] (original) (raw)
Mark Favas m.favas@per.dem.csiro.au
Thu, 17 Aug 2000 09:17:42 +0800
- Previous message: [Python-Dev] pthreads question: typedef ??? pthread_t and hacky return statements
- Next message: [Python-Dev] [Fwd: segfault in sre on 64-bit plats]
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This is a multi-part message in MIME format. --------------53A0211FF1B8BFA142994B9A Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
--------------53A0211FF1B8BFA142994B9A Content-Type: message/rfc822 Content-Disposition: inline
Message-ID: <399B3CAA.C8815E61@per.dem.csiro.au> Date: Thu, 17 Aug 2000 09:15:22 +0800 From: Mark Favas <m.favas@per.dem.csiro.au> Organization: CSIRO Exploration & Mining X-Mailer: Mozilla 4.73 [en] (X11; U; OSF1 V4.0 alpha) X-Accept-Language: en MIME-Version: 1.0 To: Trent Mick <trentm@ActiveState.com> Subject: Re: segfault in sre on 64-bit plats References: <20000815104723.A27306@ActiveState.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
Trent Mick wrote: >> Fredrik, >> The sre module currently segfaults on one of the tests suite tests on both > Win64 and 64-bit linux: >> [trentm@nickel src]$ ./python -c "import sre; sre.match('(x)', 50000'x')" > srefail.out > Segmentation fault (core dumped) >> I know that I can't expect you to debug this completely, as you don't have to > hardware, but I was hoping you might be able to shed some light on the > subject for me. >> This test on Win32 and Linux32 hits the recursion limit check of 10000 in > SREMATCH(). However, on Linux64 the segfault occurs at a recursion depth of > 7500. I don't want to just willy-nilly drop the recursion limit down to make > the problem go away. >> Do you have any idea why the segfault may be occuring on 64-bit platforms? >> Mark (Favas), have you been having any problems with sre on your 64-bit plats? > Sorry for the delay - yes, I had these segfaults due to exceeding the stack size on Tru64 Unix (which, by default, is 2048 kbytes) before Fredrick introduced the recusrion limit of 10000 in _sre.c. You'd expect a 64-bit OS to use a bit more bytes of the stack when handling recursive calls, but your 7500 down from 10000 sounds a bit much - unless the stack size limit you're using on Linux64 is smaller than that for Linux32 - what are they? I certainly agree that it'd be better to solve this in a way other than selecting a sufficiently low recursion limit (I won't mention stackless here... .) - getrlimit(2), getrusage(2), or other???
Mark
--------------53A0211FF1B8BFA142994B9A--
- Previous message: [Python-Dev] pthreads question: typedef ??? pthread_t and hacky return statements
- Next message: [Python-Dev] [Fwd: segfault in sre on 64-bit plats]
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]