<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Hi Robert,</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">from within the BinaryStreamOperator we can get the file version with getInputStream()->getFileVersion()<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">and decide to read/write the block size on 4 or 8 bytes accordingly. </div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">For the file version check would you use > 148 (i.e. osg 3.5.6) ?</div><div class="gmail_default" style="font-family:tahoma,sans-serif">Riccardo</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jun 11, 2017 at 2:05 PM, Robert Osfield <span dir="ltr"><<a href="mailto:robert.osfield@gmail.com" target="_blank">robert.osfield@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Good to hear you've tracked down the problem.  We might be able to<br>
version to use of long uints for future rev's of the OSG.<br>
<div><div class="h5"><br>
On 9 June 2017 at 17:22, Riccardo Corsi <<a href="mailto:riccardo.corsi@kairos3d.it">riccardo.corsi@kairos3d.it</a>> wrote:<br>
> Hi again,<br>
><br>
> I think I've found what's going on.<br>
> Basically the BinaryStreamOperator used to read the osgb format saves the<br>
> block size currently read with an int - see here - which is not large enough<br>
> to express very large blocks.<br>
><br>
> I've patched the code with unsigned int (both when writing and reading block<br>
> size, always on 4 bytes) and I can now write and read correctly the files<br>
> that showed the problem.<br>
> Of course unsigned int is not large enough for arbitrarily huge blocks, but<br>
> at least it doubles the current max size.<br>
> I'll post a pull request with the patch.<br>
><br>
> Using a type bigger than 4 bytes would make the current files unreadable, so<br>
> I don't think it's something that can be changed.<br>
> Riccardo<br>
><br>
><br>
> On Thu, Jun 8, 2017 at 1:15 PM, Riccardo Corsi <<a href="mailto:riccardo.corsi@kairos3d.it">riccardo.corsi@kairos3d.it</a>><br>
> wrote:<br>
>><br>
>> Hi all,<br>
>><br>
>> I'm getting an error when reading some (pretty big) osgb files and having<br>
>> hard time in finding what's causing the issue.<br>
>><br>
>> I'm creating the files myself with osgDB::writeNodeFile, without any error<br>
>> message when writing them.<br>
>> The files' contents are only Groups and Geometries with basic data<br>
>> (vertices, normals, stateset).<br>
>> The files are created and read with the same osg libraries, version 3.5.3.<br>
>> The error message I receive on the console (even at DEBUG level) is only:<br>
>><br>
>> Error reading file sample.osgb: read error (InputStream: Failed to read<br>
>> from stream. At osg::Group )<br>
>><br>
>> with no additional details, as it normally happens when file is not well<br>
>> formatted.<br>
>><br>
>> Additional info:<br>
>> - I've spotted the issue for big file (2GB or more), but not always from a<br>
>> given size up. I have some 4GB files working and some 3GB causing the error.<br>
>> - in some cases, if I create foo.osgb and bar.osgb they are both loaded<br>
>> correctly, but if I create foo+bar.osgb (writing works ok) I get the error<br>
>> when reading it.<br>
>><br>
>> Unfortunately I cannot share example files.<br>
>> I'm looking for some pointers on how to investigate further to find the<br>
>> culprit.<br>
>><br>
>> My configuration is:<br>
>> - osg 3.5.3<br>
>> - windows 10<br>
>> - visual studio 2013<br>
>><br>
>> Thank you,<br>
>> Riccardo<br>
>><br>
>><br>
><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> osg-users mailing list<br>
> <a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
> <a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
><br>
______________________________<wbr>_________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
</blockquote></div><br></div>