#26598 [Fbk->Opn]: Segmentation fault
ID: 26598 User updated by: robert at interjinn dot com Reported By: robert at interjinn dot com -Status: Feedback +Status: Open Bug Type: Zend Engine 2 problem Operating System: Mandrake 9.0 PHP Version: 5CVS-2003-12-12 (dev) New Comment: The following does NOT combine everything into one file since when I do that the segmentation fault disappears. However, it does shrink the code into as few files as possible. http://www.interjinn.com/download/interJinn-0.9.1-php5mods-3.tar.gz FYI, I'm not getting payed for this, I don't get payed to do InterJinn, and I have very little disposable time lately since I became a father 3 weeks ago. I'm doing this because I came across a bug and thought I would help out, I was not paricularly in a rush to ensure InterJinn has PHP5 compatibility, since I don't think it's going to have massive adoption for a year or two. I just happened to have a little spare time one night to test. Now I've spent about 10 hours debugging, trimming, and rewriting various chunks of my application all so I could help you guys. Time which probably would have been better spent helping my wife with the baby. A little tolerance and less sarcasm would be great for your karma. Thanks, Rob. Previous Comments: [2003-12-15 23:56:02] [EMAIL PROTECTED] Maybe I wasn't clear enough..but I think I said something about ONE file..? And that generating of some weird configuration file really wasn't necessary either? (one file -> no need for includes -> no need for config file) hardcode the stuff.. [2003-12-15 20:46:46] robert at interjinn dot com I have done as you asked and stripped away everything that I could while still reproducing the same segmentation fault. You can download the tarball at this following location: http://www.interjinn.com/download/interJinn-0.9.1-php5mods-2.tar.gz [2003-12-15 17:33:49] [EMAIL PROTECTED] Start by removing all the unnecessary lines from the first file, all unnecessary include()'s etc. Then remove all the includes, ie. put the stuff in one file. But only those parts of the code that are necessary for the reduced first file.. Just remove stuff line by line, run the code and if it still crashes, continue nuking the code until it doesn't crash. :) [2003-12-15 15:03:09] robert at interjinn dot com As stated previously I was unable to come up with a short script that can reproduce the bug. I attached a link to a big script in my last response. I apologize if this is not suitable but I don't see another alternative. [2003-12-15 09:43:05] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/26598 -- Edit this bug report at http://bugs.php.net/?id=26598&edit=1
#26598 [Fbk->Opn]: Segmentation fault
ID: 26598 User updated by: robert at interjinn dot com Reported By: robert at interjinn dot com -Status: Feedback +Status: Open Bug Type: Zend Engine 2 problem Operating System: Mandrake 9.0 PHP Version: 5CVS-2003-12-12 (dev) New Comment: I have done as you asked and stripped away everything that I could while still reproducing the same segmentation fault. You can download the tarball at this following location: http://www.interjinn.com/download/interJinn-0.9.1-php5mods-2.tar.gz Previous Comments: [2003-12-15 17:33:49] [EMAIL PROTECTED] Start by removing all the unnecessary lines from the first file, all unnecessary include()'s etc. Then remove all the includes, ie. put the stuff in one file. But only those parts of the code that are necessary for the reduced first file.. Just remove stuff line by line, run the code and if it still crashes, continue nuking the code until it doesn't crash. :) [2003-12-15 15:03:09] robert at interjinn dot com As stated previously I was unable to come up with a short script that can reproduce the bug. I attached a link to a big script in my last response. I apologize if this is not suitable but I don't see another alternative. [2003-12-15 09:43:05] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. [2003-12-14 21:17:36] robert at interjinn dot com I compiled and ran the latest CVS snapshot with the minimal compile options indicated in a recent post with the same results. Engine still segfaults at the same line of code. On the flip side, I also tried the binary on the script I wanted to make available that illustrates the problem, and it now works (so the bug previously mentioned as Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templ ateManager.inc on line 17 is now fixed.) So to test you can download the following link: http://www.interjinn.com/download/interJinn-0.9.1-php5mods.tar.gz then switch into the created directory (interJinn-0.9.1-php5mods) and type: $ /usr/bin/wherever/phpbinary -qC makeInterJinnSite.php The segfault should occur immediately after a bunch of deprecation warnings. HTH, Rob. [2003-12-14 20:23:25] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/26598 -- Edit this bug report at http://bugs.php.net/?id=26598&edit=1
#26598 [Fbk->Opn]: Segmentation fault
ID: 26598 User updated by: robert at interjinn dot com Reported By: robert at interjinn dot com -Status: Feedback +Status: Open Bug Type: Zend Engine 2 problem Operating System: Mandrake 9.0 PHP Version: 5CVS-2003-12-12 (dev) New Comment: As stated previously I was unable to come up with a short script that can reproduce the bug. I attached a link to a big script in my last response. I apologize if this is not suitable but I don't see another alternative. Previous Comments: [2003-12-15 09:43:05] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. [2003-12-14 21:17:36] robert at interjinn dot com I compiled and ran the latest CVS snapshot with the minimal compile options indicated in a recent post with the same results. Engine still segfaults at the same line of code. On the flip side, I also tried the binary on the script I wanted to make available that illustrates the problem, and it now works (so the bug previously mentioned as Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templ ateManager.inc on line 17 is now fixed.) So to test you can download the following link: http://www.interjinn.com/download/interJinn-0.9.1-php5mods.tar.gz then switch into the created directory (interJinn-0.9.1-php5mods) and type: $ /usr/bin/wherever/phpbinary -qC makeInterJinnSite.php The segfault should occur immediately after a bunch of deprecation warnings. HTH, Rob. [2003-12-14 20:23:25] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip [2003-12-12 18:10:28] robert at interjinn dot com I hav recompiled with minimal extensions compiled in, namely: ./configure \ --disable-all \ --with-pcre-regex \ --prefix=/usr/local/php/${PHP_VERSION_DIR}/installation \ --exec-prefix=/usr/local/php/${PHP_VERSION_DIR}/installation And I still have a no go. I spent the last 3 hours trying to produce a short script which would illustrate the bug and running the PHP binary through GDB and Valgrind to no avail. What I do know is that at: zend_do_declare_property (/usr/local/php/php5-200312120830/Zend/zend_compile.c:2442) CG(active_class_entry) evaluates to null and so CG(active_class_entry)->ce_flags causes a NULL pointer fault. I tried patching with a test for NULL, but then I got a crash in zend_hash_find() where the memory for the hash appeared to be corrupted - Valgrind was not useful in determining where the memory may have become corrupt. I was going to set up a link to an InterJinn download, but while I was testing to make sure it ran, I got the following error (possibly related to this bug): Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templateManager.inc on line 17 For which the actual line of code is: var $filename = __FILE__; which is in a class. If it is also helpful I get a LOT of deprecated warnings for: Strict Standards: var: Deprecated. Please use the public/private/protected modifiers. The reason I think maybe the above is related is because in the backtrace of the original report, and more recent ones with minimal extensions, the zend_do_declare_property() function is attmepting to work with a property called "filename". [2003-12-12 06:49:03] [EMAIL PROTECTED] Don't forget to remove the non-standard exts from your PHP config either. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/26598 -- Edit this bug report at http://bugs.php.net/?id=26598&edit=1
#26598 [Fbk->Opn]: Segmentation fault
ID: 26598 User updated by: robert at interjinn dot com Reported By: robert at interjinn dot com -Status: Feedback +Status: Open Bug Type: Zend Engine 2 problem Operating System: Mandrake 9.0 PHP Version: 5CVS-2003-12-12 (dev) New Comment: I compiled and ran the latest CVS snapshot with the minimal compile options indicated in a recent post with the same results. Engine still segfaults at the same line of code. On the flip side, I also tried the binary on the script I wanted to make available that illustrates the problem, and it now works (so the bug previously mentioned as Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templ ateManager.inc on line 17 is now fixed.) So to test you can download the following link: http://www.interjinn.com/download/interJinn-0.9.1-php5mods.tar.gz then switch into the created directory (interJinn-0.9.1-php5mods) and type: $ /usr/bin/wherever/phpbinary -qC makeInterJinnSite.php The segfault should occur immediately after a bunch of deprecation warnings. HTH, Rob. Previous Comments: [2003-12-14 20:23:25] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip [2003-12-12 18:10:28] robert at interjinn dot com I hav recompiled with minimal extensions compiled in, namely: ./configure \ --disable-all \ --with-pcre-regex \ --prefix=/usr/local/php/${PHP_VERSION_DIR}/installation \ --exec-prefix=/usr/local/php/${PHP_VERSION_DIR}/installation And I still have a no go. I spent the last 3 hours trying to produce a short script which would illustrate the bug and running the PHP binary through GDB and Valgrind to no avail. What I do know is that at: zend_do_declare_property (/usr/local/php/php5-200312120830/Zend/zend_compile.c:2442) CG(active_class_entry) evaluates to null and so CG(active_class_entry)->ce_flags causes a NULL pointer fault. I tried patching with a test for NULL, but then I got a crash in zend_hash_find() where the memory for the hash appeared to be corrupted - Valgrind was not useful in determining where the memory may have become corrupt. I was going to set up a link to an InterJinn download, but while I was testing to make sure it ran, I got the following error (possibly related to this bug): Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templateManager.inc on line 17 For which the actual line of code is: var $filename = __FILE__; which is in a class. If it is also helpful I get a LOT of deprecated warnings for: Strict Standards: var: Deprecated. Please use the public/private/protected modifiers. The reason I think maybe the above is related is because in the backtrace of the original report, and more recent ones with minimal extensions, the zend_do_declare_property() function is attmepting to work with a property called "filename". [2003-12-12 06:49:03] [EMAIL PROTECTED] Don't forget to remove the non-standard exts from your PHP config either. [2003-12-12 06:28:00] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. [2003-12-12 05:17:46] robert at interjinn dot com Description: No idea why script crashes. I'm including my compile information and the backtrace. export PHP_VERSION_DIR=php5-200312120830 make clean rm config.cache ./configure \ --disable-all \ --with-mysql \ --enable-carnagemath \ --enable-carnagexml \ --enable-carnageutilities \ --enable-interjinn \ --enable-ctype \ --with-zlib \ --enable-ftp \ --enable-sockets \ --with-ncurses \ --enable-pcntl \ --with-pcre-regex \ --enable-exif \ --with-jpeg-dir=/usr/lib \ --with-png-dir=/usr/lib \ --with-tiff-dir=/usr/lib \ --with-gif-dir=/usr/lib \ --with-gd \ --prefix=/usr/local/php/${PHP_VERSION_DIR}/installation \ --exec-prefix=/usr/local/php/${PHP_VERSION_DIR}/installation make make install Program received signal S
#26598 [Fbk->Opn]: Segmentation fault
ID: 26598 User updated by: robert at interjinn dot com Reported By: robert at interjinn dot com -Status: Feedback +Status: Open Bug Type: Reproducible crash Operating System: Mandrake 9.0 PHP Version: 5CVS-2003-12-12 (dev) New Comment: I hav recompiled with minimal extensions compiled in, namely: ./configure \ --disable-all \ --with-pcre-regex \ --prefix=/usr/local/php/${PHP_VERSION_DIR}/installation \ --exec-prefix=/usr/local/php/${PHP_VERSION_DIR}/installation And I still have a no go. I spent the last 3 hours trying to produce a short script which would illustrate the bug and running the PHP binary through GDB and Valgrind to no avail. What I do know is that at: zend_do_declare_property (/usr/local/php/php5-200312120830/Zend/zend_compile.c:2442) CG(active_class_entry) evaluates to null and so CG(active_class_entry)->ce_flags causes a NULL pointer fault. I tried patching with a test for NULL, but then I got a crash in zend_hash_find() where the memory for the hash appeared to be corrupted - Valgrind was not useful in determining where the memory may have become corrupt. I was going to set up a link to an InterJinn download, but while I was testing to make sure it ran, I got the following error (possibly related to this bug): Fatal error: Only variables or references can be returned by reference in /home/suds/yackspit/interJinn-0.9.1/Core/libraries/templateJinn/templateManager.inc on line 17 For which the actual line of code is: var $filename = __FILE__; which is in a class. If it is also helpful I get a LOT of deprecated warnings for: Strict Standards: var: Deprecated. Please use the public/private/protected modifiers. The reason I think maybe the above is related is because in the backtrace of the original report, and more recent ones with minimal extensions, the zend_do_declare_property() function is attmepting to work with a property called "filename". Previous Comments: [2003-12-12 06:49:03] [EMAIL PROTECTED] Don't forget to remove the non-standard exts from your PHP config either. [2003-12-12 06:28:00] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. [2003-12-12 05:17:46] robert at interjinn dot com Description: No idea why script crashes. I'm including my compile information and the backtrace. export PHP_VERSION_DIR=php5-200312120830 make clean rm config.cache ./configure \ --disable-all \ --with-mysql \ --enable-carnagemath \ --enable-carnagexml \ --enable-carnageutilities \ --enable-interjinn \ --enable-ctype \ --with-zlib \ --enable-ftp \ --enable-sockets \ --with-ncurses \ --enable-pcntl \ --with-pcre-regex \ --enable-exif \ --with-jpeg-dir=/usr/lib \ --with-png-dir=/usr/lib \ --with-tiff-dir=/usr/lib \ --with-gif-dir=/usr/lib \ --with-gd \ --prefix=/usr/local/php/${PHP_VERSION_DIR}/installation \ --exec-prefix=/usr/local/php/${PHP_VERSION_DIR}/installation make make install Program received signal SIGSEGV, Segmentation fault. zend_do_declare_property (var_name=0xbffed0e0, value=0xbffed110, access_type=256) at /usr/local/php/php5-200312120830/Zend/zend_compile.c:2442 2442if (CG(active_class_entry)->ce_flags & ZEND_ACC_INTERFACE) { (gdb) bt #0 zend_do_declare_property (var_name=0xbffed0e0, value=0xbffed110, access_type=256) at /usr/local/php/php5-200312120830/Zend/zend_compile.c:2442 #1 0x08121b3a in zendparse () at Zend/zend_language_parser.c:2545 #2 0x0812371e in compile_file (file_handle=0xbffee4e0, type=2) at Zend/zend_language_scanner.c:3139 #3 0x08155ad1 in zend_include_or_eval_handler (execute_data=0xbfff0ad0, op_array=0x0) at /usr/local/php/php5-200312120830/Zend/zend_execute.c:3355 #4 0x08151442 in execute (op_array=0x4032039c) at /usr/local/php/php5-200312120830/Zend/zend_execute.c:1277 #5 0x0815407a in zend_do_fcall_common_helper (execute_data=0xbfff5180, op_array=0x40315e44) at /usr/local/php/php5-200312120830/Zend/zend_execute.c:2580 #6 0x081542c9 in zend_do_fcall_by_name_handler (execute_data=0x0, op_array=0x40315e44) at /usr/local/php/php5-200312120830/Zend/zend_execute.c:2666 #7 0x08151442 in execute (op_array=0x40315e44) at /usr/local/php/php5-200312120830/Zend/zend_execute.c:1277