Re: Fwd: [PHP-DEV] PHP 4.0 Bug #5044: ps4ts.dll crashes whenapache tries to access page (apache 1.3.12)

From: Date: Thu, 15 Jun 2000 14:14:20 +0000
Subject: Re: Fwd: [PHP-DEV] PHP 4.0 Bug #5044: ps4ts.dll crashes whenapache tries to access page (apache 1.3.12)
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-21423@lists.php.net to get a copy of this message
> Shane, > > Some Windows Apache users keep on getting weird crashes. I remember you > showed us away to understand the cryptic crash a while ago (finding where > it really crashes). > Can you please give us that lesson again :) > > Thanks, > > Andi Wish I still had that email. "use it or lose it". I figured out last year the meanings of these lame 95/98 crash outputs, but haven't had a need for it since, and cannot remember the specifics. Anyway, you have the address of the fault, 100765d6. What you do is set apache.exe as the debug executable for php in visual studio. Apache does not need to be a debug compile, and probably better if it isnt. You need the same compile this person is using also. You can run a release version through the debuger (if you set the project to produce the program database), you just wont be able to see variable values. Then use a web browser to load a php page and produce the crash. The debugger will take you right to the address of the crash, and show you the associated source. The only unfortunate part of this, if the crash is in a system dll, or in apache, it wont tell you much. But from the looks of it, this crash is actually in php4ts.dll. If you cannot produce the crash, you can still go to the address of the fault to find out where in the source this occurs. Just open the dissasembly window, page up or down to the address, the right click, and choose view source. Again, this all depends on setting the project to produce the program database. Go into the project settings, to the c/c++ tab, under general, set Debug Info to Program Database. Do this under the release compile. It does not change the executable or dll at all, it simply produces the pdb file so the debugger can match source to machine code. > >PHP caused an invalid page fault in > >module PHP4TS.DLL at 015f:100765d6. > >Registers: > >EAX=48544150 CS=015f EIP=100765d6 EFLGS=00010202 > >EBX=0000000e SS=0167 ESP=0063fcc8 EBP=00784940 > >ECX=00760c10 DS=0167 ESI=00760570 FS=61a7 > >EDX=4152545f ES=0167 EDI=00654240 GS=0000 > >Bytes at CS:EIP: > >89 02 8b 06 85 c0 74 06 8b 4e 04 89 48 04 56 ff > >Stack dump: > >00784959 007603e0 100033c9 00760580 00000001 007603e0 0063fdc4 00760c20 > >007603e0 007605ba 00762060 0000000f 004030dc 0000000f 000004e4 0063fdc4

« previous php.dev (#21423) next »