POV-Ray : Newsgroups : povray.unix : Re: 3.7rc6 on Raspberry PI, with/without openexr image artifacts : Re: 3.7rc6 on Raspberry PI, with/without openexr image artifacts Server Time
29 Apr 2024 07:50:34 EDT (-0400)
  Re: 3.7rc6 on Raspberry PI, with/without openexr image artifacts  
From: clipka
Date: 1 Aug 2013 14:34:34
Message: <51faaa3a$1@news.povray.org>
Am 01.08.2013 18:29, schrieb Craig Lindley:
> clipka <ano### [at] anonymousorg> wrote:
>> Am 13.12.2012 14:48, schrieb clipka:
>>
>>> Turning off /all/ optimizations does give the expected results. I don't
>>> consider this an option though, so I guess we'll have to wait for
>>> feedback from the raspbian team.
>>
>> I've received feedback at last: The problem /may/ be solved with
>> gcc-4.7; I'm currently recompiling POV-Ray on my Pi.
>>
>> Raspbian Wheezy's standard gcc package is still at 4.6, so I had to
>> manually install the gcc-4.7 and g++-4.7 packages, and force the
>> ./configure script to actually use gcc-4.7 via the "CXX=gcc-4.7" option.
>>
>> We shall see in a couple of hours whether that actually solves the issue.
>
> I haven't tried 3.7 but 3.6.1 on the RPi using the 4.7 versions of the compiler
> seem to work fine.

I wouldn't trust it; regarding the 3.7 issues, gcc 4.7 did somewhat 
change the symptoms, but apparently not the underlying problem.

There's something seriously fishy going on (or at least was, last time I 
tried) when the Pi tries to do single-precision vector computations with 
very small (near-zero) numbers involved, and in some inexplicable way it 
is very, /very/ sensitive to the structure of the program that does 
these computations. Stuff like, say, you boil down the error to a small 
program running some very simple computations in a loop 10 times, 
triggering the bug on the 5th iteration; you reduce the loop count to 8 
times, and suddenly the error does /not/ occur anymore, or manifests in 
an entirely different manner. You "unroll" the loop into a sequence of 
identical computations, and the program's behaviour changes yet again. 
You use a different compiler, and the error goes away, but only in that 
small boiled-down program, while still manifesting in the big program 
that you're actually trying to get fixed.

So more likely than not it is just pure chance if the bug doesn't 
manifest in 3.6.1. compiled with gcc 4.7 - and it may actually be still 
lurking in some dark, rarely used corner.


Post a reply to this message

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