|
|
CodeMax editor crash bug description:
Version: PovRay for Windows RC2 (machine has been dated back to 27 of April)
Opsys: Windows 2000 Prof. SP2
Scene file to produce: Stereo.inc posted to povray.binaries.scene-files
Actions to reproduce the bug:
- Select the first occurrence of the )+" (3 characters) sequence at the end
of the second #debug line
- Press Ctrl-H (replace)
- Type )," (3 characters) as a replacement
- Press Replace button with the mouse (or press the hotkey)
This produces an access violation exception dialog in: povcmax.dll
Error message: Read of addess 00000000
This seems to be a string function called with a null pointer accidentally
in CodeMax.
Visual studio debugger not started automatically.
Is there any error handling code to catch the exception?
Let's go ahead:
- Press the Ok button in the error dialog
- Try to continue the replace operation by pressing Replace button again
A second exception dialog pops up:
POV-Ray editor error!: pvengine.exe - Application Error
The instruction at "0x014e9915" referenced memory at "0x00000000". The
memory could not be "read".
Usual OK, CANCEL. Cancel to debug.
I pressed the CANCEL and went to VC++ debugger... :-)))
Result: Microsoft Visual C++ error: POVCMAX2.DLL 0xC0000005: Access
violation
Call stack debug window has one entry:
POVCMAX2! 014e9915()
Register dump:
EAX = 00000000 EBX = 01524938 ECX = 0012FA14
EDX = 00130608 ESI = 00000000 EDI = 00000001
EIP = 014E9915 ESP = 0012F9D4 EBP = 00000001
EFL = 00000246
MM0 = B93720980012FD04 MM1 = 0000000000001372
MM2 = B937237C00000000 MM3 = 0012FCF800000000
MM4 = 00000021A03141F0 MM5 = 002300CC00000020
MM6 = 0000000077E203A8 MM7 = 000000000000000C
CS = 001B DS = 0023 ES = 0023 SS = 0023 FS = 003B
GS = 0000 OV=0 UP=0 EI=1 PL=0 ZR=1 AC=0 PE=1 CY=0
ST0 = -1.44089024400955013e+4588
ST1 = +0.00000000000000000e+0000
ST2 = +0.00000000000000000e+0000
ST3 = +0.00000000000000000e+0000
ST4 = +0.00000000000000000e+0000
ST5 = +0.00000000000000000e+0000
ST6 = +0.00000000000000000e+0000
ST7 = -0.00000000000000000e+4698
CTRL = 1372 STAT = 0000 TAGS = FFFF EIP = 00000000
CS = 3938 DS = 0246 EDO = 0000001B
Next instructions:
014E9915 mov cl,byte ptr [esi]
014E9917 test cl,cl
014E9919 je 014E9953
014E991B mov edx,ecx
014E991D xor eax,eax
014E991F and edx,0FFh
014E9925 mov dl,byte ptr [edx+150B1A8h]
014E992B cmp dl,cl
014E992D sete al
014E9930 and ebp,eax
014E9932 xor eax,eax
014E9934 cmp dl,cl
014E9936 mov ecx,dword ptr [esp+18h]
014E993A setne al
014E993D and ecx,eax
014E993F test ebp,ebp
014E9941 mov dword ptr [esp+18h],ecx
...
Thanks for your help.
- Vic -
Post a reply to this message
|
|