Discussion:
[Larceny-users] open-input-file "unable to open file" on 8GB file
David Rush
2016-03-11 09:43:35 UTC
Permalink
Hi y'all -

I'm running larceny 0.98, for which I have written a number of logfile
analysis programs, but I can't seem to get started on my latest (and
largest) log file.

***@dubl-jessie-00:~/git/reorg/MarginMan/Bin/Log$ ls -l
total 8320968
-rwxr-xr-x 1 drr drr 8266904911 Mar 10 17:31 ars-cache-20160309T122704.sexp
-rwxr-xr-x 1 drr drr 3515 Mar 10 18:08 errors.sexp
-rw-r--r-- 1 drr drr 174703 Mar 11 09:39 head.sexp
-rw-r--r-- 1 drr drr 3405 Mar 10 18:22 junk
-rwxr-xr-x 1 drr drr 253571078 Mar 10 18:09 warnings.sexp

The other files all open just fine. Is this expected behavior? Do I have to
wait for 64-bit Larceny?

d
--
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt
Sven Hartrumpf
2016-03-11 10:18:17 UTC
Permalink
Hi David.
Post by David Rush
I'm running larceny 0.98, for which I have written a number of logfile
analysis programs, but I can't seem to get started on my latest (and
largest) log file.
-rwxr-xr-x 1 drr drr 8266904911 Mar 10 17:31 ars-cache-20160309T122704.sexp
Other Scheme implementations (when build in 32 bit mode) have similar problems
for files larger than 2 GiB, e.g. bigloo.
A work-around (for bigloo) is to read from standard input (and not from a file),
but I have not tested this with larceny.

Ciao
Sven
William D Clinger
2016-03-11 13:27:07 UTC
Permalink
Post by David Rush
I'm running larceny 0.98, for which I have written a number of logfile
analysis programs, but I can't seem to get started on my latest (and
largest) log file.
I was not aware of this problem, but Sven Hartrumpf's response is correct:
Larceny is unable to create or to read files larger than 2 GiB because it
was built in 32-bit mode, and the 2 GiB limit is built into the standard
32-bit libraries.
Post by David Rush
Do I have to wait for 64-bit Larceny?
You won't be able to use Scheme's standard file i/o on files larger than
2 GiB until Larceny moves to 64 bits.
Post by David Rush
A work-around (for bigloo) is to read from standard input (and not from a file),
but I have not tested this with larceny.
I have confirmed that this workaround works in Larceny.

Will

Loading...