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#156 - Crash when reading from DF3 file with no data, using interpolation (div/0)

Attached to Project: POV-Ray
Opened by Phil M (philwatcher) - Friday, 09 July 2010, 22:04 GMT
Last edited by Christoph Lipka (clipka) - Tuesday, 17 July 2012, 20:46 GMT
Task Type Definite Bug
Category Backend → Other
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version 3.70 beta 38
Due in Version 3.70 RC4
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


A df3 file is written, with header 00 00 00 00 00 00 and no data (hypothetically valid df3 file).
This file is used as density file for media, using interpolation. This causes a crash once Pov-Ray starts rendering the pixels that contain media.
All pixels rendered before that render fine. Using no interpolation does not cause a crash.

Sample Scene:
#fopen out “random.df3” write
#write (out, uint16be <0,0,0>)
#fclose out

box{0,1 pigment{rgbt 1} hollow interior{media{
density{density_file df3 “random.df3” interpolate 1}}}} // interpolate 2 also crashes, interpolate 0 does not.

System: Win7 x64, 3.7 Beta 38

This task depends upon

Closed by  Christoph Lipka (clipka)
Tuesday, 17 July 2012, 20:46 GMT
Reason for closing:  Fixed
Comment by Grimbert Jérôme (Le_Forgeron) - Saturday, 21 May 2011, 16:59 GMT

Confirmed with 3.7RC3 on linux.
Beware, the flyspray quote for filename must be replaced with the double-quote.

* glibc detected * povray: double free or corruption (fasttop): 0x0000000001be9de0 ***


Comment by Grimbert Jérôme (Le_Forgeron) - Sunday, 22 May 2011, 14:39 GMT

Should be corrected with #5440.

#5440 is only a protection: if any of the 3 size (x,y,z) of the DF3 is 0, do not compute.

It was crashing because the interpolation code use modulo the size... modulo 0 is a bad idea.