POV-Ray : Newsgroups : povray.general : Is this a bug? Server Time
26 Jun 2024 01:35:26 EDT (-0400)
  Is this a bug? (Message 31 to 40 of 41)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 1 Messages >>>
From: clipka
Subject: Re: Is this a bug?
Date: 20 Jan 2016 14:31:11
Message: <569fe07f$1@news.povray.org>
Am 17.01.2016 um 20:43 schrieb Ger:

> Including a datafile in the main body works, but
> including it inside a #macro results in an error
> at random frames in the animation. It can be at
> frame 10 or at frame 500.

*HA!*
Got that son of a bitch!

Quick workaround: Add /anything/ anywhere before the "#end" statement of
ParseCenterOfMass(); even somewhere before the macro will do. But no
more than about 50 characters.

"WTF?!" you might ask.


Well, here's what happens in a nutshell:

- For each macro defined, POV-Ray stores some information like what file
it resides in, where it starts and, most importantly in this context,
where it ends. More specifically, it stores the position of the "#end"
that ends the macro.

- While executing a macro, to determine whether it has reached the end,
POV-Ray keeps its eyes peeled for any "#" at the position it has stored
as the macro's end.

- In your example, the 10th (give or take 1) "#declare" in "data.inc"
happens to be at the very same position as the "#end" of
ParseCenterOfMass() in your main file.


Do I need to say more? They say never to spoil a joke by explaining its
punchline, but yeah: When looking out for the end of the macro, POV-Ray
does indeed /not/ bother to test whether it is even in the right file.

*Facepalm!*


Post a reply to this message

From: clipka
Subject: Re: Is this a bug?
Date: 20 Jan 2016 15:41:44
Message: <569ff108$1@news.povray.org>
Am 20.01.2016 um 20:31 schrieb clipka:

> - In your example, the 10th (give or take 1) "#declare" in "data.inc"
> happens to be at the very same position as the "#end" of
> ParseCenterOfMass() in your main file.

Slight flaw in my analysis there: I was under the impression "data.inc"
would grow with another line every frame.

Truth is, there is /some/ "#declare" that /sometimes/ coincides in file
position, depending on the values written. That's the case in frame 10,
but not earlier.


Post a reply to this message

From: clipka
Subject: Re: Is this a bug?
Date: 20 Jan 2016 18:08:26
Message: <56a0136a$1@news.povray.org>
Am 20.01.2016 um 20:31 schrieb clipka:
> Am 17.01.2016 um 20:43 schrieb Ger:
> 
>> Including a datafile in the main body works, but
>> including it inside a #macro results in an error
>> at random frames in the animation. It can be at
>> frame 10 or at frame 500.
> 
> *HA!*
> Got that son of a bitch!

A fix is available now at https://github.com/POV-Ray/povray (source
code) and https://github.com/c-lipka/povray/releases (semi-official
Windows build).


Post a reply to this message

From: Ger
Subject: Re: Is this a bug?
Date: 20 Jan 2016 19:30:03
Message: <56a0268b@news.povray.org>
clipka wrote:

> Am 20.01.2016 um 20:31 schrieb clipka:
>> Am 17.01.2016 um 20:43 schrieb Ger:
>> 
>>> Including a datafile in the main body works, but
>>> including it inside a #macro results in an error
>>> at random frames in the animation. It can be at
>>> frame 10 or at frame 500.
>> 
>> *HA!*
>> Got that son of a bitch!
> 
> A fix is available now at https://github.com/POV-Ray/povray (source
> code) and https://github.com/c-lipka/povray/releases (semi-official
> Windows build).


Compile fails
-- 

Ger


Post a reply to this message

From: dick balaska
Subject: Re: Is this a bug?
Date: 20 Jan 2016 20:08:03
Message: <56a02f73$1@news.povray.org>
On 1/20/2016 7:30 PM, Ger wrote:
> clipka wrote:
>
>> Am 20.01.2016 um 20:31 schrieb clipka:
>>> Am 17.01.2016 um 20:43 schrieb Ger:
>>>
>>>> Including a datafile in the main body works, but
>>>> including it inside a #macro results in an error
>>>> at random frames in the animation. It can be at
>>>> frame 10 or at frame 500.
>>>
>>> *HA!*
>>> Got that son of a bitch!
>>
>> A fix is available now at https://github.com/POV-Ray/povray (source
>> code) and https://github.com/c-lipka/povray/releases (semi-official
>> Windows build).
>
>
> Compile fails
>
difficult to diagnose. "Compile fails" doesn't grep out of the source code.


Post a reply to this message

From: Ger
Subject: Re: Is this a bug?
Date: 20 Jan 2016 20:14:39
Message: <56a030ff$1@news.povray.org>
dick balaska wrote:

> On 1/20/2016 7:30 PM, Ger wrote:
>> clipka wrote:
>>
>>> Am 20.01.2016 um 20:31 schrieb clipka:
>>>> Am 17.01.2016 um 20:43 schrieb Ger:
>>>>
>>>>> Including a datafile in the main body works, but
>>>>> including it inside a #macro results in an error
>>>>> at random frames in the animation. It can be at
>>>>> frame 10 or at frame 500.
>>>>
>>>> *HA!*
>>>> Got that son of a bitch!
>>>
>>> A fix is available now at https://github.com/POV-Ray/povray (source
>>> code) and https://github.com/c-lipka/povray/releases (semi-official
>>> Windows build).
>>
>>
>> Compile fails
>>
> difficult to diagnose. "Compile fails" doesn't grep out of the source code.


:) Yeah, I know. I was still digging at it.
It was just meant as an early shout that something is out of line.
-- 

Ger


Post a reply to this message

From: Ger
Subject: Re: Is this a bug?
Date: 20 Jan 2016 20:50:02
Message: <56a0394a$1@news.povray.org>
Ger wrote:

> dick balaska wrote:
> 
>> On 1/20/2016 7:30 PM, Ger wrote:
>>> clipka wrote:
>>>
>>>> Am 20.01.2016 um 20:31 schrieb clipka:
>>>>> Am 17.01.2016 um 20:43 schrieb Ger:
>>>>>
>>>>>> Including a datafile in the main body works, but
>>>>>> including it inside a #macro results in an error
>>>>>> at random frames in the animation. It can be at
>>>>>> frame 10 or at frame 500.
>>>>>
>>>>> *HA!*
>>>>> Got that son of a bitch!
>>>>
>>>> A fix is available now at https://github.com/POV-Ray/povray (source
>>>> code) and https://github.com/c-lipka/povray/releases (semi-official
>>>> Windows build).
>>>
>>>
>>> Compile fails
>>>
>> difficult to diagnose. "Compile fails" doesn't grep out of the source
>> code.
> 
> 
> :) Yeah, I know. I was still digging at it.
> It was just meant as an early shout that something is out of line.

Fails at

make[1]: Entering directory '/home/ger/Downloads/povray-master/source'
depbase=`echo backend/interior/interior.o | sed 's|[^/]*$|.deps/&|;s|
\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -I../unix/povconfig -I.. -I../unix -I../vfe -
I../vfe/unix -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -
I/usr/include/OpenEXR  -pthread -I/usr/include  -I/usr/include  -pipe -Wno-
multichar -Wno-write-strings -fno-enforce-eh-specs -Wno-non-template-friend -
s -O3 -ffast-math -march=native -pthread -MT backend/interior/interior.o -MD 
-MP -MF $depbase.Tpo -c -o backend/interior/interior.o 
backend/interior/interior.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from ./backend/render/trace.h:44:0,
                 from ./backend/interior/media.h:39,
                 from ./backend/interior/interior.h:37,
                 from backend/interior/interior.cpp:36:
./backend/bounding/bbox.h:59:7: error: redefinition of ‘class pov::Rayinfo’
 class Rayinfo
       ^

-- 

Ger


Post a reply to this message

From: clipka
Subject: Re: Is this a bug?
Date: 21 Jan 2016 00:03:11
Message: <56a0668f$1@news.povray.org>
Am 21.01.2016 um 02:49 schrieb Ger:

>>>>> A fix is available now at https://github.com/POV-Ray/povray (source
>>>>> code) and https://github.com/c-lipka/povray/releases (semi-official
>>>>> Windows build).
...
> Fails at
> 
> make[1]: Entering directory '/home/ger/Downloads/povray-master/source'
> depbase=`echo backend/interior/interior.o | sed 's|[^/]*$|.deps/&|;s|
> \.o$||'`;\
> g++ -DHAVE_CONFIG_H -I. -I..  -I../unix/povconfig -I.. -I../unix -I../vfe -
> I../vfe/unix -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -
> I/usr/include/OpenEXR  -pthread -I/usr/include  -I/usr/include  -pipe -Wno-
> multichar -Wno-write-strings -fno-enforce-eh-specs -Wno-non-template-friend -
> s -O3 -ffast-math -march=native -pthread -MT backend/interior/interior.o -MD 
> -MP -MF $depbase.Tpo -c -o backend/interior/interior.o 
> backend/interior/interior.cpp &&\
> mv -f $depbase.Tpo $depbase.Po
> In file included from ./backend/render/trace.h:44:0,
>                  from ./backend/interior/media.h:39,
>                  from ./backend/interior/interior.h:37,
>                  from backend/interior/interior.cpp:36:
> ../backend/bounding/bbox.h:59:7: error: redefinition of ‘class pov::Rayinfo’
>  class Rayinfo
>        ^

I have no idea what source code you are compiling there -- it is
definitely /not/ what the doctor prescribed, because all the files
"interior.cpp", "interior.h", "media.h" and "trace.h" and "bbox.h" no
longer reside in the "backend" directory sub-tree.

Let me reiterate: You do /not/ want the "stable" branch. You want "master".

Also, make sure you don't have any zombie source files from the "stable"
branch (or any other older version for that matter) lying around when
building.


The source code in question demonstrably builds fine with both g++ 4.6.3
on Ubuntu 12.04 and with g++ 4.8 on Ubuntu 14.04.


Post a reply to this message

From: Ger
Subject: Re: Is this a bug?
Date: 21 Jan 2016 02:37:13
Message: <56a08aa9$1@news.povray.org>
clipka wrote:

> I have no idea what source code you are compiling there -- it is
> definitely /not/ what the doctor prescribed, because all the files
> "interior.cpp", "interior.h", "media.h" and "trace.h" and "bbox.h" no
> longer reside in the "backend" directory sub-tree.
> 
> Let me reiterate: You do /not/ want the "stable" branch. You want "master".
> 
> Also, make sure you don't have any zombie source files from the "stable"
> branch (or any other older version for that matter) lying around when
> building.
> 
> 
> The source code in question demonstrably builds fine with both g++ 4.6.3
> on Ubuntu 12.04 and with g++ 4.8 on Ubuntu 14.04.

You're right, my bad, sorry for that.

I had some old master zip thingy stuck under the keyboard or to the back of 
the monitor and mistakenly unpacked that one.

It compiled just fine on a clean installed opensuse tumbleweed. I'll try and 
let you know tomorrow about the macro bug story.

-- 

Ger


Post a reply to this message

From: Ger
Subject: Re: Is this a bug?
Date: 21 Jan 2016 02:56:30
Message: <56a08f2e$1@news.povray.org>
Ger wrote:

> 
> You're right, my bad, sorry for that.
> 
> I had some old master zip thingy stuck under the keyboard or to the back of
> the monitor and mistakenly unpacked that one.
> 
> It compiled just fine on a clean installed opensuse tumbleweed. I'll try
> and let you know tomorrow about the macro bug story.
> 
This the correct version?

Persistence of Vision(tm) Ray Tracer Version 3.7.1-alpha.8443996.unofficial 
(g++
 5 @ x86_64-suse-linux-gnu)
This is an unofficial version compiled by:

-- 

Ger


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 1 Messages >>>

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