The reason of the crash is just a stack overflow. You use -O0 and unoptimized execute() function require a lot of stack space, because space for local variables is not reused. During execution of "ackermann" benchmark execute() is called recursively many times and eats all stack space...
Dmitry. > -----Original Message----- > From: news [mailto:[EMAIL PROTECTED] On Behalf Of Sebastian Bergmann > Sent: Sunday, October 15, 2006 5:21 PM > To: internals@lists.php.net > Subject: Re: [PHP-DEV] Impact of CFLAGS on GOTO and SWITCH executers > > > Sebastian Bergmann wrote: > > What strikes me as odd are the segmentation faults when PHP > is built > > with -O0 (no optimizations). > > Some more information of the segfaults: It looks as if the > ackermann test is responsible for the segfaults. > > I uploaded a backtrace from GDB and a logfile from valgrind > to > http://static.phpunit.de/gdb-php_5_2-goto-gcc-4.1.1-O0.txt > and http://static.phpunit.de/valgrind-php_5_2-goto-gcc-4.1.1-O0.txt, > respectively. > > -- > Sebastian Bergmann > http://sebastian-bergmann.de/ > GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 > C514 B85B 5D69 > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php