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.


FS#15 - julia fractal, trace and inside cause crash

Attached to Project: POV-Ray
Opened by Tim Attwood (TimA) - Saturday, 09 May 2009, 22:59 GMT
Last edited by Chris Cason (chrisc) - Sunday, 07 June 2009, 09:51 GMT
Task Type Definite Bug
Category Backend → Geometric Primitives
Status Closed
Assigned To Chris Cason (chrisc)
Operating System All
Severity Medium
Priority Normal
Reported Version 3.70 beta 32
Due in Version 3.70 beta 33
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Using trace or inside with a julia fractal causes a crash.

#declare Test = julia_fractal {
  max_iteration 8
  precision 20
#declare Norm = <0,0,0>;
#declare Hit = trace(Test,<0,0,-10>,z,Norm);
#declare Center = inside(Test,<0,0,0>); 
This task depends upon

Closed by  Chris Cason (chrisc)
Sunday, 07 June 2009, 09:51 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed in change #4811.
Comment by Christoph Lipka (clipka) - Sunday, 10 May 2009, 00:16 GMT
  • Field changed: Status (Unconfirmed → New)

confirmed with beta.32 based development version

Comment by Grimbert Jérôme (Le_Forgeron) - Monday, 11 May 2009, 16:34 GMT

The bug is due to the size of stack in the parser thread (already created) not being updated when the depth needed for a fractal is increased.
When trace is used later, as the intersection stack is too short (in fact, default to none), it's crashing.

Attached is a patch for beta 32 source.

Proposal of at least a workaround (I find it ugly but it works), based on beta 32:
Updating the parser-thread Stack at the same time as the limit of stack is updated.
For rendering threads, they will use, as previously, the stack allocated from the limit.

Why it's ugly: the fractal object need to know about the parser!