PHP Access Violations
9 answers - 3482 bytes -

K, this is starting to get really annoying. I think it's time I
posted this to php-general, and see if there is anything anyone knows
about it.
For a while now (about two years), I have been developing on a laptop
configured as listed below. I'll provide the versions of software I
am currently working with, although the problems I will describe have
been occurring with regularity over several previous versions of the
software.
HP Pavilion zx5000 notebook computer
1 GB RAM
120 GB HD
Windows XP Pro (SP2)
PHP 5.1.6 (running as ISAPI)
MySQL Server 5.0.24
SQLyog Enterprise 5.17
The problem became so bad and pervasive that I decided the best thing
do (about two week ago) was to wipe this machine completely and
rebuild it from the ground up. The main partition was deleted,
recreated, slow-formatted, and Windows XP re-installed clean (with ALL
updates installed as well). The latest versions of PHP, MySQL, and my
client admin program, SQLyog we re-installed. I haven't put much of
anything else on this machine, aside from Homesite (to write PHP), and
MySQL Administrator to manage users. Process count is low and managed
well. There is nothing stupid on this laptop.
But the problem persists!
Basically, it's an intermittent but frequent "Access Violation" within
PHP. It happens at complete unpredictable times. Meaning, I cannot
reproduce the problem using a recipe. There are no known sequence of
events that cause the problem to occur.
After boot, I start developing. I'm running Homesite, writing code,
saving it. I'm using IE to run locally the PHP/Fusebox app I have
written, using localhost. I have a virtual directory set up in IIS
for the app. I test my code, running through several circuits and
functions. I use SQLyog Enterprise to make and alter tables, adjust
data, perform other analyses through manual queries, etc. etc. Lots
of querying going on to the local MySQL server from the app. This is
an astronomical data management system, so it is query-heavy. I'm
using PEAR::DB and mysqli to do all the PHP/MySQL stuff. My code is
two years old and quite robust. It is fully debugged, and I think I
write pretty good code that does the right thing. But after a while
(again, the time span is unpredictable), things suddenly die. one
request, I won't get back what I'm expecting. Usually a partial page.
the next invocation of PHP, I get an error about an "Access
violation" PHP has encountered. At that point, I am dead in the
water. PHP simply won't work any more. I have to reboot the system
to get it back up and running.
This will happen during very single development session. Eventually,
after working with Homesite, SQLyog and IE to run and test the app, it
WILL die. And it's PHP giving me the error. It seems as if there is
nothing I can do to modify my development practices to eliminate or
even lessen the frequency of this error.
You have to understand that this machine was WIPED CLEAN a couple of
weeks ago, and I haven't installed anything on it except the S and
essential development tools. This machine is devoid of any malware,
and is extremely process poor. It's a super clean system.
Does someone, anyone, has any insight into this? Please help me!
Christopher Watson
No.1 | | 354 bytes |
| 
First thing you need to do is log the boot through the crash of PHP, it
sounds like something is getting hung in the processes and crapping out.
Personally, I run Apache on windows and Linux machines. It has less
tendency to die and gives a great log of when something happens. First
step is getting that PHP error/system log.
Wolf
No.2 | | 845 bytes |
| 
Hi Wolf,
Set up PHP error logging. Proceeded to do some regular development.
Created some PHP errors in my code to test logging. Worked great.
Expected errors occurred and got logged.
Five minutes into the session, wham! This error is what comes up in
the browser:
"PHP has encountered an Access Violation at 7C911F6C"
Dead. I check the error log. Nothing. Not a thing.
-Christopher
9/5/06, Wolf <LoneWolf (AT) nc (DOT) rr.comwrote:
First thing you need to do is log the boot through the crash of PHP, it
sounds like something is getting hung in the processes and crapping out.
Personally, I run Apache on windows and Linux machines. It has less
tendency to die and gives a great log of when something happens. First
step is getting that PHP error/system log.
Wolf
No.3 | | 489 bytes |
| 
Christopher Watson wrote:
Hi Wolf,
Set up PHP error logging. Proceeded to do some regular development.
Created some PHP errors in my code to test logging. Worked great.
Expected errors occurred and got logged.
Five minutes into the session, wham! This error is what comes up in
the browser:
"PHP has encountered an Access Violation at 7C911F6C"
Run memtest or something over your machine, sounds more like a hardware
issue than anything else.
No.4 | | 255 bytes |
| 
Hi Chris,
memtest run over several hours, with 2000% coverage. No errors.
-Chris
9/5/06, Chris <dmagick (AT) gmail (DOT) comwrote:
Run memtest or something over your machine, sounds more like a hardware
issue than anything else.
No.5 | | 1470 bytes |
| 
Thanks for the input, Jon. I'll get to the Apache and IIS restart
suggestions soon.
Meanwhile, I think I have a semi-repeatable recipe for getting the
access violation to happen. As far as I can tell, everything is cool
until I open up SQLyog and do some sort of database manipulation
within it. Almost immediately after that, switching back to the
browser and flying through the app a little more brings on the
violation. So far, my testing is indicating to me that the violation
does not occur without SQLyog having done some work in the database.
-Chris
9/6/06, Jon Anderson <jon (AT) gamingsolutions (DOT) cawrote:
Christopher Watson wrote:
memtest run over several hours, with 2000% coverage. No errors.
My impression of this is that it either has to be a software problem in
either PHP or the server (pretty much guaranteed your PHP code should
never be allowed to trigger an access violation) or a fundamental
hardware issue.
In this case, I would first eliminate software problems first - I gather
you've used different versions of PHP, so why not try using Apache
temporarily and see if that alleviates the problem. Also, what happens
after an access violation if you fully stop then restart the IIS service?
If you eliminate your web server and PHP as possibilities, I would look
to hardware (overheating CPU?), it's obviously not memory. ;-)
jon
--
No.6 | | 859 bytes |
| 
Spoke too soon. After a reboot, I had only IE and Homesite open,
making changes to PHP code and running the app, and it hit an access
violation. So SQLyog ain't it.
-Chris
9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
Thanks for the input, Jon. I'll get to the Apache and IIS restart
suggestions soon.
Meanwhile, I think I have a semi-repeatable recipe for getting the
access violation to happen. As far as I can tell, everything is cool
until I open up SQLyog and do some sort of database manipulation
within it. Almost immediately after that, switching back to the
browser and flying through the app a little more brings on the
violation. So far, my testing is indicating to me that the violation
does not occur without SQLyog having done some work in the database.
-Chris
No.7 | | 1411 bytes |
| 
Following up on this now
I have successfully installed Apache 2.0.59 (Win32), and configured
successfully for PHP 5.1.6 and MySQL 5.0.24. The app is running fine,
but I ran a few manipulation queries from the SQLyog interface and
Apache did crash. I'll have try to reproduce the problem again in
order to get the exception data. This is looking more and more like a
SQLyog problem. Maybe I should try another MySQL admin client.
-Christopher
9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
Spoke too soon. After a reboot, I had only IE and Homesite open,
making changes to PHP code and running the app, and it hit an access
violation. So SQLyog ain't it.
-Chris
9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
Thanks for the input, Jon. I'll get to the Apache and IIS restart
suggestions soon.
Meanwhile, I think I have a semi-repeatable recipe for getting the
access violation to happen. As far as I can tell, everything is cool
until I open up SQLyog and do some sort of database manipulation
within it. Almost immediately after that, switching back to the
browser and flying through the app a little more brings on the
violation. So far, my testing is indicating to me that the violation
does not occur without SQLyog having done some work in the database.
-Chris
No.8 | | 1837 bytes |
| 
MySQL Query Tool
MySQL Admin Tool
Both free, both work flawlessly w/ MySQL and both maintained by MySQL
Wolf
Christopher Watson wrote:
Following up on this now
I have successfully installed Apache 2.0.59 (Win32), and configured
successfully for PHP 5.1.6 and MySQL 5.0.24. The app is running fine,
but I ran a few manipulation queries from the SQLyog interface and
Apache did crash. I'll have try to reproduce the problem again in
order to get the exception data. This is looking more and more like a
SQLyog problem. Maybe I should try another MySQL admin client.
-Christopher
9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
>Spoke too soon. After a reboot, I had only IE and Homesite open,
>making changes to PHP code and running the app, and it hit an access
>violation. So SQLyog ain't it.
>>
>-Chris
>>
>9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
>Thanks for the input, Jon. I'll get to the Apache and IIS restart
>suggestions soon.
>>
>Meanwhile, I think I have a semi-repeatable recipe for getting the
>access violation to happen. As far as I can tell, everything is cool
>until I open up SQLyog and do some sort of database manipulation
>within it. Almost immediately after that, switching back to the
>browser and flying through the app a little more brings on the
>violation. So far, my testing is indicating to me that the violation
>does not occur without SQLyog having done some work in the database.
>>
>-Chris
>>
No.9 | | 2063 bytes |
| 
Hi Wolf,
Please correct me if I'm wrong, but neither of these tools from the
MySQL team can SSH tunnel. I need that.
-Chris
9/8/06, Wolf <LoneWolf (AT) nc (DOT) rr.comwrote:
MySQL Query Tool
MySQL Admin Tool
Both free, both work flawlessly w/ MySQL and both maintained by MySQL
Wolf
Christopher Watson wrote:
Following up on this now
I have successfully installed Apache 2.0.59 (Win32), and configured
successfully for PHP 5.1.6 and MySQL 5.0.24. The app is running fine,
but I ran a few manipulation queries from the SQLyog interface and
Apache did crash. I'll have try to reproduce the problem again in
order to get the exception data. This is looking more and more like a
SQLyog problem. Maybe I should try another MySQL admin client.
-Christopher
9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
>Spoke too soon. After a reboot, I had only IE and Homesite open,
>making changes to PHP code and running the app, and it hit an access
>violation. So SQLyog ain't it.
>>
>-Chris
>>
>9/6/06, Christopher Watson <skygeex (AT) gmail (DOT) comwrote:
>Thanks for the input, Jon. I'll get to the Apache and IIS restart
>suggestions soon.
>>
>Meanwhile, I think I have a semi-repeatable recipe for getting the
>access violation to happen. As far as I can tell, everything is cool
>until I open up SQLyog and do some sort of database manipulation
>within it. Almost immediately after that, switching back to the
>browser and flying through the app a little more brings on the
>violation. So far, my testing is indicating to me that the violation
>does not occur without SQLyog having done some work in the database.
>>
>-Chris
>>
>
>