|
|
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
|
|