POV-Ray : Newsgroups : povray.bugreports : Parse Error: String too long. : Re: Parse Error: String too long. Server Time
16 Jul 2026 21:48:23 EDT (-0400)
  Re: Parse Error: String too long.  
From: Le Forgeron
Date: 28 Dec 2014 16:58:18
Message: <54a07cfa@news.povray.org>
Le 28/12/2014 20:47, jmichae3 a écrit :
> "jmichae3" <jmi### [at] yahoocom> wrote:
>> Preset INI file is 'D:\WWW\JESUSNJIM\RAYTRACE\JOHN3_16-17.INI'.
>> Preset source file is 'D:\WWW\JESUSNJIM\RAYTRACE\JOHN3_16-17.INI'.
>> Rendering with 12 threads.
>> -
>> Parser Options
>>   Input file: John3_16-17.pov
>>   Remove bounds........On
>>   Split unions.........Off
>>   Library paths:
>>     C:\Users\Jim-Michaels\Documents\POV-Ray\v3.7\include
>>     C:\Windows\Fonts
>> Animation Options
>>   Initial Frame:        1  Final Frame:     9104
>>   Frame Step:           1
>>   Initial Clock:    4.500  Final Clock:  -11.000
>>   Cyclic Animation.....Off  Field render.........Off  Odd lines/frames.....Off
>> Image Output Options
>>   Image resolution.....720 by 405 (rows 1 to 405, columns 1 to 720).
>>   Output file..........John3_16-170001.png, 24 bpp PNG
>>   Dithering............Off
>>   Graphic display......On  (gamma: 2.2)
>>   Mosaic preview.......Off
>>   Continued trace......Off
>> Information Output Options
>>   All Streams to console..........On
>>   Debug Stream to console.........On
>>   Fatal Stream to console.........On
>>   Render Stream to console........On
>>   Statistics Stream to console....On
>>   Warning Stream to console.......On
>> -
>> "John3_16-17.pov" line 136: Parse Error: String too long.
>>
>> Render failed
>> -
>> CPU time used: kernel 0.06 seconds, user 0.00 seconds, total 0.06 seconds.
>> Elapsed time 0.39 seconds.
>> ----------------------------------------------------------------------------
>>
>>
>> the string has 263 chars. why is this even a problem? if this is written in c++,
>> use std::string in <string>. please fix.
> 
> in source/backend/parser/parse.h line 54,
> const int MAX_STRING_LEN_FAST = 256;
> // this needs to be usable as bit mask, so keep it MAX_STRING_LEN_FAST - 1
> const int MAX_STRING_LEN_MASK = (MAX_STRING_LEN_FAST - 1);
> 
> is way too small. it should be 65536. I also see another set of strings in the
> windows

I have another patch for that (already in a branch, circa 2014-05-18 ),
because replacing a hard limit with another one is just a bad idea.

Btw, there is, in current main branch, an array sized by
MAX_STRING_LEN_FAST, so this increase to 65536 is not a good idea at
all. And limiting fast string to 256 is really what is intended (fast
string is used for token, you do not want to type a 10235 charaters long
identifier anyway). It's just the slower string that must be unbounded.
(as long as your C++ memory allows it)

https://github.com/LeForgeron/povray/commits/master

> config that looks a mite small. windows/pvtext.cpp
>   char                  str [2048] ;
> 

I have no clue nor concern about windows port. Somebody else might.

> several of those.
> 
> 
> 
> 
> 
>


Post a reply to this message

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