The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.

Attached to Project: POV-Ray
Opened by Christoph Lipka - 2009-08-25
Last edited by Chris Cason - 2010-03-18

FS#51 - POV-Ray crashes hard on missing parenthesis

The following (bogus) SDL code causes POV-Ray 3.7 beta to crash hard with an access violation:

#include "fubar.inc"
#macro FooBar() #end
#macro Foo(Fnord) #end
#macro Bar(Ignord) Foo(23 #end
Closed by  Chris Cason
Thursday, 18 March 2010, 03:27 GMT
Reason for closing:  Fixed
Grimbert Jérôme commented on Thursday, 17 September 2009, 17:50 GMT

On beta 34, from Source, linux amd64.

No crash but a really strange filename reported:

File '              d' line 3: Parse Error: Expected ')', # found instead
Fatal error in parser: Cannot parse input.
Render failed

The filename is assumed to be a lost pointer here.

Grimbert Jérôme commented on Thursday, 17 September 2009, 17:52 GMT
Tim Attwood commented on Tuesday, 17 November 2009, 01:14 GMT

On Version beta 34 (win x64)... with file "foobar.pov" and "foobar.inc"

Cannot find file "foobar.inc", even after trying to append file extension.

I think this is similar to the error with the .tiff extension, the exact
filename provided should be searched for first before any attempts to
guess the file extension.

Christoph Lipka commented on Tuesday, 17 November 2009, 09:05 GMT

I still do get hard crashes with POV-Ray 3.7.0.beta.34 official binary, running Windows XP x64 on an Intel i7 QuadCore machine. (Though I just experimented a bit again, and once saw a clean "Expected ')', # found instead" message, but can't reproduce that.)

The error message Tim is getting makes no sense at all: Including "FOO.inc" from "FOO.pov" is nothing uncommon, and usually works perfectly fine; the .tiff extension problem also pertains to files with a >3 character file extension. So I guess that in Tim's particular case it was indeed a typo or some such - or another random weird result of POV-Ray going all crackpot on this particular combo of macros, includes and that missing closing parenthesis.

Christoph Lipka commented on Tuesday, 17 November 2009, 09:06 GMT

I just tested to find that POV-Ray 3.6.2 exhibits hard crashes as well on this particular combo.

Chris Cason commented on Thursday, 31 December 2009, 12:09 GMT

The cause of this bug was a pointer to the include file input stream being retained in the token structure after the stream was closed.
When the missing parenthesis was detected, the error output code would de-reference the pointer, which would either cause an invalid memory access or otherwise return junk (if that portion of the heap was still valid).


Available keyboard shortcuts


Task Details

Task Editing