From: 73budden . <bud...@gm...> - 2015-11-19 18:22:34
|
I tryed to reproduce the problem without room. Pages are created too fast, I'm unable to have 30 threads... but it crashed in several minutes. Then I removed "saver" thread which calls (gc :full t) every 3 seconds. It crashed approximately at the same time. I also tried Linux: Sbcl 1.2.7 Linux d8 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) i686 GNU/Linux File crash2.lisp seem to be rather innocent: (in-package :cl-user) (proclaim '(optimize (debug 3) (compilation-speed 0) (speed 0) (space 0) (safety 3))) (mapc 'require '(sb-bsd-sockets sb-posix sb-introspect sb-cltl2 asdf)) (defmethod asdf::perform-with-restarts :after (operation component) (format t "perform-with-restarts done with op ~S, compt ~S~%" operation component) (room) (sb-ext:gc :full t) ) (setf sb-impl::*default-external-format* :utf-8) (let ((quicklisp-init "~/ql.sbcl.l/setup.lisp")) (load quicklisp-init)) (proclaim '(optimize (debug 3) (compilation-speed 3))) (load (merge-pathnames "swank-loader.lisp" (ql:where-is-system :swank))) (swank-loader:init) (proclaim '(optimize (debug 3) (compilation-speed 0) (speed 0) (space 0) (safety 3))) (swank:create-server :port 4005 :dont-close t) (asdf:load-system :cl-fad) ; or :alexandria - it does not matter (break "If you are here, you didn't reproduce my problem") ;; EOF crash2.lisp I call it with sbcl --no-userinit --load /s2/clcon/crash2.lisp and see: perform-with-restarts done with op #<ASDF/LISP-ACTION:COMPILE-OP >, compt #<ASDF/COMPONENT:STATIC-FILE "alexandria" "LICENCE"> Dynamic space usage is: 52,446,816 bytes. Read-only space usage is: 3,496 bytes. Static space usage is: 2,240 bytes. Control stack usage is: 3,216 bytes. Binding stack usage is: 496 bytes. Control and binding stack usage is for the current thread only. Garbage collection is currently enabled. Heap exhausted during allocation: 0 bytes available, 8 requested. Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age 0: 131071 0 0 0 118097 0 0 0 0 483410504 314808 5368709 0 0 0,0000 1: 0 0 0 0 0 0 0 0 0 0 0 5368709 0 0 0,0000 2: 0 0 0 0 0 0 0 0 0 0 0 5368709 0 0 0,0000 3: 0 0 0 0 0 0 0 0 0 0 0 5368709 0 0 0,0000 4: 0 0 0 0 0 0 0 0 0 0 0 5368709 0 0 0,0000 5: 0 0 0 0 2006 809 12 0 76 10841616 737776 16210325 1929 56 0,0000 6: 0 0 0 0 8437 1709 0 0 0 41558016 0 2000000 8235 0 0,0000 Total bytes allocated = 535810136 Dynamic-space-size bytes = 536870912 GC control variables: *GC-INHIBIT* = true *GC-PENDING* = true *STOP-FOR-GC-PENDING* = false fatal error encountered in SBCL pid 14564(tid 3084576512): Heap exhausted, game over. Welcome to LDB, a low-level debugger for the Lisp runtime environment. without that gc-ing in asdf, my application (several Mb of sources) builds and works, but it crashes as soon I try to call (room) with the similar message. . |