Re: Trouble writing very large files [message #64817 is a reply to message #62676] |
Fri, 16 January 2009 04:53  |
Juggernaut
Messages: 83 Registered: June 2008
|
Member |
|
|
On Jan 16, 3:35 am, Bringfried Stecklum <steck...@tls-tautenburg.de>
wrote:
> wlandsman wrote:
>> Vince Hradil posted a message in September about problems writing
>> large files. I am encountering the same problem, but with a
>> variation. Instead of giving a segmentation fault, IDL returns
>> without writing anything.
>
>> IDL> print,!version
>> { x86_64 linux unix linux 7.0 Oct 25 2007 64 64}
>> IDL> im = intarr(4096,4096,256)
>> IDL> openw,1,'test.dat'
>> IDL> writeu,1,im
>> IDL> close,1
>> IDL> $ls -l test.dat
>> -rw-r--r-- 1 wlandsma shadow 0 2009-01-15 15:22 test.dat
>
>> If I instead do the same thing with a 4096 x 4096 x 255 array, then
>> IDL does crash with a segmentation fault. My guess is that an
>> internal IDL counter is not properly defined as 64 bit integer, and
>> so is being set to zero in my first case (where subscripts are a exact
>> multiple of two). In the second case it is being set to a negative
>> number and causing IDL to crash.
>
>> In any case this seems to be an internal IDL bug, since I should be
>> able to write these arrays on a 64 bit machine. --Wayne
>
> It seems to be a writeu bug since save works fine
>
> IDL Version 6.4 (linux x86_64 m64). (c) 2007, ITT Visual Information Solutions
> Installation number: 12207.
> Licensed for use by: TLS Tautenburg
> IDL> hhh=intarr(4096,4096,128)
> IDL> openw,1,'hhh'
> IDL> writeu,1,hhh
> Segmentation fault
>
> 2nd attempt
> IDL> hhh=intarr(4096,4096,128)
> IDL> save,hhh,file='hhh'
> IDL> exit
>
> Regards,
>
> Bringfried
There are limitations for file size on different operating systems.
FAT32 has a limit of 4GB. If you put into IDL 4096UL*4096UL*255UL
then get your limit. You may be pushing this limit. Not sure what the
exact problems but this is at least a push in some direction.
Best of Luck,
Bennett
|
|
|