POV-Ray : Newsgroups : povray.beta-test : 3.8.0 block pattern, density list parsing issue. Server Time
28 Mar 2024 17:56:58 EDT (-0400)
  3.8.0 block pattern, density list parsing issue. (Message 1 to 4 of 4)  
From: William F Pokorny
Subject: 3.8.0 block pattern, density list parsing issue.
Date: 5 Jan 2018 09:38:20
Message: <5a4f8ddc$1@news.povray.org>
The following test scene parses fine in 3.7.0.4.

It fails to parse in 3.8/master at commit bb85b4fd on Sat Nov 18 
22:10:56 2017 +0100.

In digging the last commit I've found which works is 2c4e9f2 on Fri Jun 
13 09:50:05 2014 +0200. Some time between that commit and 9b10411 on Mon 
Jul 21 23:17:10 2014 +0200 something changes such that we get this core 
dump:

povray_9b10411:  backend/parser/express.cpp:3129:  boost::shared_ptr<X>
pov::Parser::Parse_Blend_List(int, pov::ColourBlendMapConstPtr, int)
[with MAP_T = pov::GenericPigmentBlendMap; pov::ColourBlendMapConstPtr =
boost::shared_ptr<const pov::ColourBlendMap>]:  Assertion `Blend_Type ==
PIGMENT_TYPE' failed.  Aborted (core dumped)

At some point between d1d01eb on Fri Sep 18 19:12:10 2015 and eeeb2c5 on 
Sun Jan 3 02:13:09 2016 the core dump is fixed and we start to get part 
of the parse error which carries forward to the present day.

Still digging, but no more time for it today and unsure when I can get 
back to it. Posting what I have.

//--- Block pattern density lists.
//    OK in 3.7.0.4
//    Fails to parse in 3.8/master as of commit bb85b4fd
//    on Sat Nov 18 22:10:56 2017 +0100.
#version 3.7;
global_settings { assumed_gamma 1 }
#declare Sphere00 = sphere { <0,0,0>, 0.5 }
#declare Red = srgb <1,0,0>;
#declare Dred = density { color Red }
#declare Green = srgb <0,1,0>;
#declare Dgreen = density { color Green }
#declare Blue = srgb <0,0,1>;
#declare Dblue = density { color Blue }
#declare Yellow = srgb <1,1,0>;
#declare Dyellow = density { color Yellow }
#declare Cyan = srgb <0,1,1>;
#declare Dcyan = density { color Cyan }
#declare Magenta = srgb <1,0,1>;
#declare Dmagenta = density { color Magenta }
#declare DensityBrick = density {
     brick
     density { Dred }
     density { Dgreen }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensityChecker = density {
     checker
     density { Dred }
     density { Dgreen }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensityObject = density {
     object {
         Sphere00
         density { Dred }
         density { Dgreen }
     }
     warp {turbulence 0.5}
}
#declare DensityHexagon = density {
     hexagon
     density { Dred }
     density { Dgreen }
     density { Dblue }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensitySquare = density {
     square
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     warp {turbulence 0.5}
}
#declare DensityCubic = density {
     cubic
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     density { Dcyan }
     density { Dmagenta }
     warp {turbulence 0.5}
}
#declare DensityTriangular = density {
     triangular
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     density { Dcyan }
     density { Dmagenta }
     scale 0.2 warp {turbulence 0.5}
}
//--- end


Post a reply to this message

From: Kenneth
Subject: Re: 3.8.0 block pattern, density list parsing issue.
Date: 5 Jan 2018 16:50:00
Message: <web.5a4ff1c6c0519a26a47873e10@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:
> The following test scene parses fine in 3.7.0.4.
>
> It fails to parse in 3.8/master at commit bb85b4fd on Sat Nov 18
> 22:10:56 2017 +0100.
>
It also fails in 3.7.1 beta 9 (64-bit). Each density block fails in the same
way. Example:

#declare DensityHexagon = density {
      hexagon
      density { Dred } // fails here, immediately after the pattern type
      density { Dgreen }
      density { Dblue }
      scale 0.2 warp {turbulence 0.5}
 }


Post a reply to this message

From: clipka
Subject: Re: 3.8.0 block pattern, density list parsing issue.
Date: 5 Jan 2018 17:01:48
Message: <5a4ff5cc$1@news.povray.org>
Am 05.01.2018 um 22:45 schrieb Kenneth:
> William F Pokorny <ano### [at] anonymousorg> wrote:
>> The following test scene parses fine in 3.7.0.4.
>>
>> It fails to parse in 3.8/master at commit bb85b4fd on Sat Nov 18
>> 22:10:56 2017 +0100.
>>
> It also fails in 3.7.1 beta 9 (64-bit). Each density block fails in the same
> way. Example:

Already on it.


Post a reply to this message

From: William F Pokorny
Subject: Re: 3.8.0 block pattern, density list parsing issue.
Date: 24 Jan 2018 11:13:30
Message: <5a68b0aa@news.povray.org>
On 01/05/2018 05:01 PM, clipka wrote:
> Am 05.01.2018 um 22:45 schrieb Kenneth:
 >
>> It also fails in 3.7.1 beta 9 (64-bit). Each density block fails in the same
>> way. Example:
> 
> Already on it.
> 

I updated to the current release/3.8.0 and this is fixed - thanks.

Given there was a performance related parser update too - and that I'd 
not run parser tests since last summer, I ran all the sample scenes, 
shipped includes and the small-ish set of parser test cases I have in my 
space against release/3.8.0. All OK for what was tested.

Bill P.


Post a reply to this message

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