Re: ISAPI Crash Debugging Notes
| From: | Andi Gutmans | Date: | Mon, 02 Sep 2002 04:23:35 +0000 |
| Subject: | Re: ISAPI Crash Debugging Notes | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-87737@lists.php.net to get a copy of this message | ||
At 05:11 PM 9/1/2002 -0700, Michael Sisolak wrote:
Andi, I download the alpha2 version of the php-4.3.0-dev-zend2 release. Unfortunatley out-of-the-box I got an "Invalid access to memory location." error returned when I try to view I page. I was able to track it down to something with the browscap processing - something in ini_parse() is causing a memory access violation, but I get lost in all the lex code trying to figure out exactly what is going on. I disabled my browscap entry and was able to continue with the testing.That's strange. I know browsecap isn't really supposed to work (I commented out lots of code to get Engine 2 to work) but it shouldn't crash. It doesn't crash for me. Are you actually calling it? Can you try not loading it?
It does appear that the issue I'm seeing with the first thread getting the GLOBAL_FUNCTION_TABLE as it's own local copy is fixed in Zend2: [1340] the startup thread is 1996 [1340] copying the GLOBAL_FUNCTION_TABLE from 20933432 [1340] in HttpExtensionProc thread 1996, CG(function table) is 21138360 [1340] copying the GLOBAL_FUNCTION_TABLE from 20933432 [1340] in HttpExtensionProc thread 532, CG(function table) is 22055840 [1340] in HttpExtensionProc thread 1996, CG(function table) is 21138360 The initial thread does now get it's own copy of the GLOBAL_FUNCTION_TABLE. Since it will be a while before Zend2 is production quality do you think it would be possible to port what makes this work in Zend2 back to 4.2.x? The changes in zend.c seem fairly straight forward, but there may be interactions with other changes I'm not seeing.This code is quite complex as you have probably noticed. I moved some stuff around there for Engine 2 but it's not very easy to port these changes back to Engine 1 especially as I'm not sure I actually fixed any bugs. Bugs weren't the reason for me shifting it around. If you can figure out what changes in Engine 2 actually make the difference then we can look at them but it might mean lots of work for you. Andi