ID: 12569 Updated by: rasmus Reported By: [EMAIL PROTECTED] Old Status: Open Status: Bogus Bug Type: Scripting Engine problem Operating System: Linux PHP Version: 4.0.6 New Comment: Please don't post bug reports for proprietary products in the PHP bug database. Previous Comments: ------------------------------------------------------------------------ [2001-08-04 18:56:57] [EMAIL PROTECTED] The apache module with optimiser enabled, and which up to now hasn't been crashing, now does so reproducably. A b/t is below although maybe not a lot to go on I'm afraid, but the events around the crash are *very significant*. The point of failure is always the same, and after starting a single apache process with -X, was always crashing on the 22nd request. A *most significant* thing is that adding effectively a dummy line of code, e.g. $x = true; changed the period of crashing from being the 22nd time to always the 16th time. Adding a second line the crashing stopped. Note that once determined, the crash interval is ALWAYS the same for a given state of my application. Clearly this is a serious, although in the general case possibly rare, problem, and probably one of those bugs that only emmerges for a very specific set of circumstances. I'll happily arrange access to my machine for an official developer to help diagnose this now, but I'll take a snapshot of my DB, code base and shared memory anyway for a chance of future analysis. Clearly something to focus on is why the crash would always occur after: 1) a specific number of apache requests, and 2) this number depends on the code structure. For the trace below, assuming that the zend_file_handle structures being passed are already initialised, then they're corrupt with bogus fd's and file file names for example. As an aside, I did a purify run on Solaris and there are a significant number UMR instances, which whilst not always indicative of a problem, typically are, and so I suspect some fundamental memory problems that one typically 'gets away with'. I'll look at this more next week. Anyway, the trace is: (gdb) where #0 0x80f5b39 in php_if_array_reduce (ht=3, return_value=0x8279dc4, this_ptr=0x0, return_value_used=1) at array.c:2886 #1 0x40253f84 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #2 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #3 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #4 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #5 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #6 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #7 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #8 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #9 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #10 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #11 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #12 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #13 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #14 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #15 0x40254183 in zend_reverse_table () from /usr/local/Zend/lib/ZendOptimizer.so #16 0x4025f01d in zstd__mhm () from /usr/local/Zend/lib/ZendOptimizer.so #17 0x80dde0b in zend_execute_scripts (type=8, file_count=3) at zend.c:752 #18 0x806a6fb in php_execute_script (primary_file=0xbffff768) at main.c:1206 #19 0x80eaa1b in apache_php_module_main (r=0x8246a2c, display_source_mode=0) at sapi_apache.c:89 #20 0x8067bee in send_php () #21 0x8067c36 in send_parsed_php () #22 0x8111609 in ap_invoke_handler () #23 0x8126a1f in process_request_internal () #24 0x8126a92 in ap_process_request () #25 0x811d8a6 in child_main () #26 0x811da85 in make_child () ---Type <return> to continue, or q <return> to quit--- #27 0x811dc06 in startup_children () #28 0x811e27d in standalone_main () #29 0x811eacc in main () #30 0x400c4a5e in __libc_start_main () at ../sysdeps/generic/libc-start.c:93 (gdb) Nick ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12569&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]