POV-Ray : Newsgroups : povray.beta-test : Bug when loading big 'inc' files : Re: Bug when loading big 'inc' files Server Time
20 May 2024 22:54:48 EDT (-0400)
  Re: Bug when loading big 'inc' files  
From: clipka
Date: 6 Sep 2012 09:31:57
Message: <5048a5cd$1@news.povray.org>
Am 06.09.2012 11:21, schrieb Alex:
> clipka <ano### [at] anonymousorg> wrote:
>
>> I suspect that the problem is in the .inc file being larger than 2 GB;
>> ad-hoc inspection of the POV-Ray source code indicates that we do have
>> /some/ potential problems with text input files of that size on all
>> 32-bit systems, as well as on Windows 64-bit systems. Not sure whether
>> that is related to your issue though.
>
> Many thanks for the quick response!
>
> I did a quick check with a 1.9 GB .inc file and indeed - that works. With files
> bigger than 2 GB, the error occurs.
>
> I can understand that for 32 bit OS this enforced limitation in data size
> would be necessary to prevent out-of-memory issues, but on a 64 bit OS, memory
> allocation should not be a limiting factor, right?

It (probably) has nothing to do with memory allocation (we never load 
the whole file into memory during parsing anyway), but rather with 
tracking particular positions in a file; while we do explicitly use 
64-bit integers for that purpose, the C standard runtime library 
functions to retrieve or change the current file position use the "long 
int" data type, which is 32 bit wide on any 32-bit PC systems, but also 
on Windows 64-bit systems (it's 64 bit on Linux 64-bit systems though, 
as a naive programmer would probably expect).

> So now this 'data size limitation' has been identified as the problem, is there
> a solution for it? Or is there going to be a fix/update in the near future to
> tackle this issue? Any other insights are welcome.

The solution is to call different (but unfortunately platform-specific) 
library functions for file position querying and manipulation, which 
obviously needs changes to the code. I can't promise anything about when 
it will be fixed though.


All what I've said is of course valid only in case the bogus code I 
found is indeed related to the issue.


Post a reply to this message

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