[Ecls-list] Memory problems during IO

Waldek Hebisch hebisch at math.uni.wroc.pl
Sun Nov 29 20:50:50 UTC 2009


I have problem reading modertely large (76 MB) input file
using FriCAS.  I am geting  the following message:

Memory limit reached. Please jump to an outer pointer, quit program and
enlarge the
memory limits before executing the program again.
Available restarts:

1. (CONTINUE) Extend heap size
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

If I choose the first restart it works.  But what is going on:
the process size is quite small (slightly larger than 256 MB).

I am using CVS version from about 3 weeks ago.  The machine is Core
2 with 8 GB of ram running 64-bit Fedora 9.

I have made an artificial test that seem to reproduce the problem,
after running it few times I get the same message:

(defun write-it (str)
    (with-open-file (fil "foo.dat" :direction :output
                     :if-exists :overwrite :if-does-not-exist :create)
        (format fil "(~&")
        (dotimes (i 3000) (format fil "( ~S ~S )~&" str str))
        (format fil ")~&")))

(compile 'write-it)

(defvar *trash1*)

(let
     ((str "0123456789")
      (l nil))
    (dotimes (i 11) (setf str (concatenate 'string str str)))

    (format t "writing~&")
    (time (write-it str))

    (format t "reading~&")
    (with-open-file (fil "foo.dat" :direction :input)
         (time (setf l (read fil))))
    (setf *trash1* l)
    nil)

-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list