POV-Ray : Newsgroups : povray.bugreports : Windows crash. Server Time
23 Dec 2024 04:01:03 EST (-0500)
  Windows crash. (Message 1 to 5 of 5)  
From: Spider
Subject: Windows crash.
Date: 15 Apr 1999 10:33:28
Message: <3715E987.74A321F2@bahnhof.se>
hello. I was tinkering with the #default option in WinPov, as I stubled across
this bug.
I think it is related to the 
#declare tDefault = texture {}
....
in the attached code, but I don't know for certain, so I include the whole pice.

Symptoms : fatal crash.
Where : early parse stage.
Version : povray 3.1e.watcom.win32
System :
  Windows 95 osr 2.5
  P200 MMX, 64Mb sdram
Error:
PVENGINE.EXE caused fault #c0000005 in PVENGINE.EXE at address 0137:0047296e

To date, 25 fatal errors have been recorded in this program.  This particular
error was recorded 16 times.

Reported By:
CrashGuard v2.0.1

Report Date:
1999-04-15 15:19:21

WindowTitle:
POV-Ray - C:\graphic\POV-Ray for Windows v3.1\spider\ljus1.pov

Last Message:
MSG(00000000, 0000, 00000000, 00000000)

Program:
C:\GRAPHIC\POV-RAY FOR WINDOWS V3.1\BIN\PVENGINE.EXE
(03/19/99 23:21 - 1774592)

Registers:
EAX=00000000 CS=0137
EIP=0047296e EFLGS=00010206
EBX=00000000 SS=013f
ESP=00f6fbf0 EBP=00f6fdb4
ECX=00f6fe00 DS=013f
ESI=00f84f04 FS=0fc7
EDX=00000000 ES=013f
EDI=00f84f00 GS=0000

Bytes at CS:EIP:
66 8b 30 31 c9 31 ff 66 83 fe 03 75 03 8b 48 24

Stack dump:
00000000 0043da4d cccccccd 4008cccc 00f6fc48 00472226 30300031 675c3a43 68706172
505c6369 522d564f 00000000 00f6fc88 00f6fd98 00f6fda0 00f6fd64



-- 
//Spider
        [ spi### [at] bahnhofse ]-[ http://www.bahnhof.se/~spider/ ]
What I can do and what I could do, I just don't know anymore
                "Marian"
        By: "Sisters Of Mercy"


Post a reply to this message


Attachments:
Download 'ljuskrash.pov.txt' (2 KB)

From: Spider
Subject: Re: Windows crash.
Date: 15 Apr 1999 11:53:25
Message: <3715F81C.CD68A985@bahnhof.se>
I've trimmed the code a bit.

#version 3.1;
#declare tDefault = texture {}
#declare tMyDefault = 
texture {
  pigment { rgb <1,0,0> }
  finish { ambient 0 }
} 

#default { texture {tDefault} }
box { <-50,90,-100>,<50,100,100> pigment {colour rgb <1,0,0> } }
//^---- This is where it crashes.
#default { texture {tMyDefault} }
#error "This transmission has ended"


This should be easier to debug for you.
-- 
//Spider
        [ spi### [at] bahnhofse ]-[ http://www.bahnhof.se/~spider/ ]
What I can do and what I could do, I just don't know anymore
                "Marian"
        By: "Sisters Of Mercy"


Post a reply to this message

From: Ron Parker
Subject: Re: Windows crash.
Date: 15 Apr 1999 12:11:11
Message: <3716018f.0@news.povray.org>
On Thu, 15 Apr 1999 15:28:39 +0200, Spider <spi### [at] bahnhofse> wrote:
>Registers:
>EAX=00000000 CS=0137
>EIP=0047296e EFLGS=00010206
>EBX=00000000 SS=013f
>ESP=00f6fbf0 EBP=00f6fdb4
>ECX=00f6fe00 DS=013f
>ESI=00f84f04 FS=0fc7
>EDX=00000000 ES=013f
>EDI=00f84f00 GS=0000
>
>Bytes at CS:EIP:
>66 8b 30 31 c9 31 ff 66 83 fe 03 75 03 8b 48 24

For what it's worth, 66 8b 30 is "mov si, [eax]", which means
that whatever this code is, it's trying to dereference a null
pointer.


Post a reply to this message

From: Ronald L  Parker
Subject: Re: Windows crash.
Date: 16 Apr 1999 00:25:16
Message: <3717a98c.4853660@news.povray.org>
On Thu, 15 Apr 1999 15:28:39 +0200, Spider <spi### [at] bahnhofse> wrote:

>hello. I was tinkering with the #default option in WinPov, as I stubled across
>this bug.
>I think it is related to the 
>#declare tDefault = texture {}
>....
>in the attached code, but I don't know for certain, so I include the whole pice.

The following two lines can reproduce the problem:

#default { texture {} }
box { 0 1 pigment {color rgb 1}}

It is indeed due to the default texture.  It's also not just a Windows
problem; it's in the core code.  The problem is that Post_Textures()
isn't getting called, so POV isn't detecting the fact that it just
created a texture full of null pointers.  If you tried to just say 

  object {foo texture{}}

POV would complain that there was a missing pigment; this is handled
by Post_Pigment, which is called by Post_Textures.  Anyway, to make
a long story short, I added a line to Parse_Default and it fixes the
problem, though there might still be other similar problems in some of
the other cases.  If all goes as planned, a copy of this post is being
sent to Chris Young, so you shouldn't have to worry about reporting
it.  Thorsten, you may want to pass it along anyway, just in case my
newsreader doesn't like me.

     CASE (TEXTURE_TOKEN)
       Local_Texture = Default_Texture;
       Parse_Begin ();
       Default_Texture = Parse_Texture();
+      Post_Textures( Default_Texture );
       Parse_End ();
       if (Default_Texture->Type != PLAIN_PATTERN)
	 Error("Default texture cannot be material map or tiles.");
       if (Default_Texture->Next != NULL)
	 Error("Default texture cannot be layered.");


Post a reply to this message

From: Nieminen Mika
Subject: Re: Windows crash.
Date: 16 Apr 1999 11:17:13
Message: <37174669.0@news.povray.org>
In povray.bugreports Ronald L. Parker <par### [at] mailfwicom> wrote:
: The following two lines can reproduce the problem:

: #default { texture {} }
: box { 0 1 pigment {color rgb 1}}

: It is indeed due to the default texture.  It's also not just a Windows
: problem; it's in the core code.

  You are right. I tried it with my SunOS compile of 3.1e and it caused
a segmentation fault.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.