From: <pas...@tr...> - 2016-01-26 22:07:11
|
Hi! I am running SBCL 1.3.1 (with the latest quicklisp distribution and client) on a VPS running Debian 7. When I try to load caveman2*, I get the following error: Couldn't fork child process: Cannot allocate memory. I am not sure this is a bug, but with about 1.5G of free memory, it looks a bit like it. I assumed it was a problem with sb-ext:run-program because the memory was not nearly exhausted, so I tried another function - (sb-ext:run-program "whoami" nil) - which resulted in the same error. I also created a swap file, but I can't activate it on the VPS. I will switch to another server this summer. Is there anything I can do to get it to work in the meantime? Best regards, Pascal * or, more exactly, when it tries to load static-vectors: CL-USER> (ql:quickload :caveman2) To load "caveman2": Load 1 ASDF system: caveman2 ; Loading "caveman2" ; cc -m64 -I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/ -o /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quickl\ isp/software/static-vectors-1.6/src/ffi-types /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/static-vectors\ -1.6/src/ffi-types.c ; Debugger entered on #<SIMPLE-ERROR "Couldn't fork child process: ~A" {1005B91A53}> [1] CL-USER> _____________________________________________________________________________ Couldn't fork child process: Cannot allocate memory [Condition of type SIMPLE-ERROR] Restarts: 0: [RETRY] Retry PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types">. 1: [ACCEPT] Continue, treating PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types"> as having been successful. 2: [RETRY] Retry ASDF operation. 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 4: [ABORT] Give up on "caveman2" 5: [RETRY] Retry SLY mREPL evaluation request. 6: [*ABORT] Return to SLY's top level. 7: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {10044BA2E3}>) Backtrace: 0: (SB-EXT:RUN-PROGRAM "cc" ("-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/stati.. 1: (CFFI-GROVEL::%INVOKE "cc" ("-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/sta.. 2: (CFFI-GROVEL::INVOKE #<unavailable argument> "-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quick.. 3: ((LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE)) 4: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE) {100605D03B}>) 5: ((:METHOD ASDF/ACTION:PERFORM (CFFI-GROVEL::PROCESS-OP CFFI-GROVEL:GROVEL-FILE)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method] 6: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) 7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method] 8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . #<ASDF/SYSTEM:SYST.. 9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) 10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . #<ASDF/SYSTEM.. 11: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) 12: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1004E4E373}> :VERBOSE NIL) [fast-method] 13: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) [fast-method] 14: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) 15: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) [fast-method] 17: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) 18: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) 19: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1004E3D00B}> :OVERRIDE NIL :KEY NIL) 20: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) [fast-method] 21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) [fast-method] 22: (ASDF/OPERATE:LOAD-SYSTEM "caveman2" :VERBOSE NIL) 23: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1004E2B52B}>) 24: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "caveman2" :PROMPT NIL) 25: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unavailable argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) [fast-method] 26: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {100684A503}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) [fast-me.. 27: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) #<unavailable argument> :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method] 28: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E013BB}>) 29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2) #<NULL-LEXENV>) 30: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2)) 31: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) 32: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY mREPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1) {1004DE7C3B}>) 33: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) 34: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) 35: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {1004DE78AB}>) 36: (SLYNK-MREPL::MREPL-EVAL-1 #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :caveman2)") 37: (SLYNK-MREPL::MREPL-EVAL #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :caveman2)") 38: (SLYNK::PROCESS-REQUESTS NIL) 39: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) 40: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) 41: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044E000B}>) 42: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/me/quicklisp/local-projects/sly/slynk/backend/sbcl.lisp") #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-.. 43: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) 44: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {10044E004B}>) 45: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) 46: ((FLET #:WITHOUT-INTERRUPTS-BODY-1156 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) 47: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) 48: ((FLET #:WITHOUT-INTERRUPTS-BODY-359 :IN SB-THREAD::CALL-WITH-MUTEX)) 49: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFF11AEC5B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR.. 50: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "sly-channel-1-mrepl-remote-1" RUNNING {10044BA2E3}> NIL #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044B678B}> (#<SB-TH.. 51: ("foreign function: call_into_lisp") 52: ("foreign function: new_thread_trampoline") |
From: Stas B. <sta...@gm...> - 2016-01-27 15:33:39
|
On Wed, Jan 27, 2016 at 12:48 AM, <pas...@tr...> wrote: > Hi! > > I am running SBCL 1.3.1 (with the latest quicklisp distribution and client) > on a VPS running Debian 7. When I try to load caveman2*, I get the following > error: Couldn't fork child process: Cannot allocate memory. > > I am not sure this is a bug, but with about 1.5G of free memory, it looks a > bit like it. > > I assumed it was a problem with sb-ext:run-program because the memory was > not nearly exhausted, so I tried another function - (sb-ext:run-program > "whoami" nil) - which resulted in the same error. I also created a swap > file, but I can't activate it on the VPS. > > I will switch to another server this summer. Is there anything I can do to > get it to work in the meantime? > This is probably due to overcommit being disabled. SBCL requests all the memory it's going to use upfront, which may cause any subsequent memory allocations from C to fail. The default dynamic space size on x86-64 is 1GB, so it's conceivable that 1.5GB may not be enough. You need to either enable overcommit or reduce dynamice-space-size. -- With best regards, Stas. |
From: Stas B. <sta...@gm...> - 2016-01-27 15:34:50
|
On Wed, Jan 27, 2016 at 6:33 PM, Stas Boukarev <sta...@gm...> wrote: > On Wed, Jan 27, 2016 at 12:48 AM, <pas...@tr...> wrote: >> Hi! >> >> I am running SBCL 1.3.1 (with the latest quicklisp distribution and client) >> on a VPS running Debian 7. When I try to load caveman2*, I get the following >> error: Couldn't fork child process: Cannot allocate memory. >> >> I am not sure this is a bug, but with about 1.5G of free memory, it looks a >> bit like it. >> >> I assumed it was a problem with sb-ext:run-program because the memory was >> not nearly exhausted, so I tried another function - (sb-ext:run-program >> "whoami" nil) - which resulted in the same error. I also created a swap >> file, but I can't activate it on the VPS. >> >> I will switch to another server this summer. Is there anything I can do to >> get it to work in the meantime? >> > This is probably due to overcommit being disabled. SBCL requests all > the memory it's going to use upfront, which may cause any subsequent > memory allocations from C to fail. The default dynamic space size on > x86-64 is 1GB, so it's conceivable that 1.5GB may not be enough. You > need to either enable overcommit or reduce dynamice-space-size. Or since it fails at fork, two 1GB processes would cause that too. -- With best regards, Stas. |
From: Jack C. <ja...@cr...> - 2016-01-27 14:55:50
|
Unfortunatly I can't tell you what the issue is, but I can tell you that it's local to your situation: jackc@petrichor ~ :) $ uname -a Darwin petrichor.pinewood.net 15.0.0 Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64 jackc@petrichor ~ :) $ sbcl --version SBCL 1.3.1 jackc@petrichor ~ :) $ which whoami /usr/bin/whoami jackc@petrichor ~ :) $ CL-USER> (with-output-to-string (o) (sb-ext:run-program "/usr/bin/whoami" '() :output o)) "jackc " CL-USER> (ql:quickload 'caveman2) To load "caveman2": Load 1 ASDF system: caveman2 ; Loading "caveman2" .................................................. [package split-sequence].......................... [package cl-utilities]............................ [package quri.port]............................... [ -snip- ] [package dbi.driver].............................. [package dbi]..................................... [package caveman2.exception]...................... [package caveman2.app]............................ [package caveman2.nested-parameter]............... [package caveman2.route].......................... [package caveman2.helper]......................... [package caveman2.skeleton]....................... [package caveman2] (CAVEMAN2) CL-USER> If you can't activate swap on your VPS, I'd guess that other settings have been altered as well. Do you have root on the system? You can try: strace sbcl --non-interactive --eval '(sb-ext:run-program "/usr/bin/whoami" nil)' to attempt to find what syscalls / actions are signaling the error. (Note: there is probably a more elegant way to do this via SBCL, but I'm not familiar enough with the internals, sorry) -J On Tue, Jan 26, 2016 at 4:48 PM, <pas...@tr...> wrote: > Hi! > > I am running SBCL 1.3.1 (with the latest quicklisp distribution and client) > on a VPS running Debian 7. When I try to load caveman2*, I get the following > error: Couldn't fork child process: Cannot allocate memory. > > I am not sure this is a bug, but with about 1.5G of free memory, it looks a > bit like it. > > I assumed it was a problem with sb-ext:run-program because the memory was > not nearly exhausted, so I tried another function - (sb-ext:run-program > "whoami" nil) - which resulted in the same error. I also created a swap > file, but I can't activate it on the VPS. > > I will switch to another server this summer. Is there anything I can do to > get it to work in the meantime? > > > Best regards, > Pascal > > > > > > > > * or, more exactly, when it tries to load static-vectors: > > > CL-USER> (ql:quickload :caveman2) > > To load "caveman2": > Load 1 ASDF system: > caveman2 > ; Loading "caveman2" > ; cc -m64 -I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/ -o > /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quickl\ > isp/software/static-vectors-1.6/src/ffi-types > /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/static-vectors\ > -1.6/src/ffi-types.c > ; Debugger entered on #<SIMPLE-ERROR "Couldn't fork child process: ~A" > {1005B91A53}> > [1] CL-USER> > > _____________________________________________________________________________ > > Couldn't fork child process: Cannot allocate memory > [Condition of type SIMPLE-ERROR] > > Restarts: > 0: [RETRY] Retry PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types">. > 1: [ACCEPT] Continue, treating PROCESS-OP on #<GROVEL-FILE "static-vectors" > "ffi-types"> as having been successful. > 2: [RETRY] Retry ASDF operation. > 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the > configuration. > 4: [ABORT] Give up on "caveman2" > 5: [RETRY] Retry SLY mREPL evaluation request. > 6: [*ABORT] Return to SLY's top level. > 7: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING > {10044BA2E3}>) > > Backtrace: > 0: (SB-EXT:RUN-PROGRAM "cc" ("-m64" > "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" > "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/stati.. > 1: (CFFI-GROVEL::%INVOKE "cc" ("-m64" > "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" > "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/sta.. > 2: (CFFI-GROVEL::INVOKE #<unavailable argument> "-m64" > "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" > "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quick.. > 3: ((LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE)) > 4: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN > CFFI-GROVEL:PROCESS-GROVEL-FILE) {100605D03B}>) > 5: ((:METHOD ASDF/ACTION:PERFORM (CFFI-GROVEL::PROCESS-OP > CFFI-GROVEL:GROVEL-FILE)) #<CFFI-GROVEL::PROCESS-OP > > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method] > 6: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> > #<unavailable argument> #<CFFI-GROVEL::PROCESS-OP > > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) > 7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) > #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" > "ffi-types">) [fast-method] > 8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) > ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) > (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . > #<ASDF/SYSTEM:SYST.. > 9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) > 10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) > ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) > (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . > #<ASDF/SYSTEM.. > 11: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) > 12: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) > #<ASDF/PLAN:SEQUENTIAL-PLAN {1004E4E373}> :VERBOSE NIL) [fast-method] > 13: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION > ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> > #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) [fast-method] > 14: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused > argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM > "caveman2"> :VERBOSE NIL) > 15: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) > #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> > :VERBOSE NIL) [fast-method] > 17: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused > argument> ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) > 18: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 19: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN > ASDF/OPERATE:OPERATE) {1004E3D00B}> :OVERRIDE NIL :KEY NIL) > 20: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP > "caveman2" :VERBOSE NIL) [fast-method] > 21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP > "caveman2" :VERBOSE NIL) [fast-method] > 22: (ASDF/OPERATE:LOAD-SYSTEM "caveman2" :VERBOSE NIL) > 23: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL > :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1004E2B52B}>) > 24: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "caveman2" :PROMPT > NIL) > 25: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) > #<unavailable argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN > QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) [fast-method] > 26: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND > (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {100684A503}> #<CLOSURE (FLET > QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) > [fast-me.. > 27: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) #<unavailable argument> > :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method] > 28: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN > QUICKLISP-CLIENT:QUICKLOAD) {1004E013BB}>) > 29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2) > #<NULL-LEXENV>) > 30: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2)) > 31: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) > 32: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY mREPL evaluation request." > #<CLOSURE (LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1) {1004DE7C3B}>) > 33: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) > 34: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) > 35: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) > (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN > SLYNK::CALL-WITH-LISTENER) {1004DE78AB}>) > 36: (SLYNK-MREPL::MREPL-EVAL-1 #<SLYNK-MREPL::MREPL mrepl-1-1> > "(ql:quickload :caveman2)") > 37: (SLYNK-MREPL::MREPL-EVAL #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload > :caveman2)") > 38: (SLYNK::PROCESS-REQUESTS NIL) > 39: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 40: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 41: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> > #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044E000B}>) > 42: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN > "/home/me/quicklisp/local-projects/sly/slynk/backend/sbcl.lisp") #<FUNCTION > SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-.. > 43: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) > 44: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) > (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN > SLYNK::CALL-WITH-LISTENER) {10044E004B}>) > 45: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 46: ((FLET #:WITHOUT-INTERRUPTS-BODY-1156 :IN > SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) > 47: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN > SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) > 48: ((FLET #:WITHOUT-INTERRUPTS-BODY-359 :IN SB-THREAD::CALL-WITH-MUTEX)) > 49: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK > :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFF11AEC5B}> > #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR.. > 50: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD > "sly-channel-1-mrepl-remote-1" RUNNING {10044BA2E3}> NIL #<CLOSURE (LAMBDA > NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044B678B}> (#<SB-TH.. > 51: ("foreign function: call_into_lisp") > 52: ("foreign function: new_thread_trampoline") > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs > |
From: <pas...@tr...> - 2016-01-28 11:34:04
|
Thank you! It works when I start sbcl with sbcl --dynamic-space-size 256. Best regards, Pascal > This is probably due to overcommit being disabled. SBCL requests all > the memory it's going to use upfront, which may cause any subsequent > memory allocations from C to fail. The default dynamic space size on > x86-64 is 1GB, so it's conceivable that 1.5GB may not be enough. You > need to either enable overcommit or reduce dynamice-space-size. Or since it fails at fork, two 1GB processes would cause that too. -- With best regards, Stas. > On 26 Jan 2016, at 22:48, pas...@tr... wrote: > > Hi! > > I am running SBCL 1.3.1 (with the latest quicklisp distribution and client) on a VPS running Debian 7. When I try to load caveman2*, I get the following error: Couldn't fork child process: Cannot allocate memory. > > I am not sure this is a bug, but with about 1.5G of free memory, it looks a bit like it. > > I assumed it was a problem with sb-ext:run-program because the memory was not nearly exhausted, so I tried another function - (sb-ext:run-program "whoami" nil) - which resulted in the same error. I also created a swap file, but I can't activate it on the VPS. > > I will switch to another server this summer. Is there anything I can do to get it to work in the meantime? > > > Best regards, > Pascal > > > > > > > > * or, more exactly, when it tries to load static-vectors: > > > CL-USER> (ql:quickload :caveman2) > > To load "caveman2": > Load 1 ASDF system: > caveman2 > ; Loading "caveman2" > ; cc -m64 -I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/ -o /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quickl\ > isp/software/static-vectors-1.6/src/ffi-types /home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/static-vectors\ > -1.6/src/ffi-types.c > ; Debugger entered on #<SIMPLE-ERROR "Couldn't fork child process: ~A" {1005B91A53}> > [1] CL-USER> > > _____________________________________________________________________________ > > Couldn't fork child process: Cannot allocate memory > [Condition of type SIMPLE-ERROR] > > Restarts: > 0: [RETRY] Retry PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types">. > 1: [ACCEPT] Continue, treating PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types"> as having been successful. > 2: [RETRY] Retry ASDF operation. > 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. > 4: [ABORT] Give up on "caveman2" > 5: [RETRY] Retry SLY mREPL evaluation request. > 6: [*ABORT] Return to SLY's top level. > 7: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {10044BA2E3}>) > > Backtrace: > 0: (SB-EXT:RUN-PROGRAM "cc" ("-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/stati.. > 1: (CFFI-GROVEL::%INVOKE "cc" ("-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quicklisp/software/sta.. > 2: (CFFI-GROVEL::INVOKE #<unavailable argument> "-m64" "-I/home/me/quicklisp/dists/quicklisp/software/cffi_0.16.1/" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1-linux-x64/home/me/quicklisp/dists/quick.. > 3: ((LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE)) > 4: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE) {100605D03B}>) > 5: ((:METHOD ASDF/ACTION:PERFORM (CFFI-GROVEL::PROCESS-OP CFFI-GROVEL:GROVEL-FILE)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method] > 6: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) > 7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method] > 8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . #<ASDF/SYSTEM:SYST.. > 9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) > 10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "cl-ppcre">) (#1# . #<ASDF/COMPONENT:MODULE #2="trivial-features" "src">) (#1# . #<ASDF/SYSTEM.. > 11: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) > 12: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1004E4E373}> :VERBOSE NIL) [fast-method] > 13: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) [fast-method] > 14: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) > 15: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "caveman2"> :VERBOSE NIL) [fast-method] > 17: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) > 18: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 19: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1004E3D00B}> :OVERRIDE NIL :KEY NIL) > 20: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) [fast-method] > 21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "caveman2" :VERBOSE NIL) [fast-method] > 22: (ASDF/OPERATE:LOAD-SYSTEM "caveman2" :VERBOSE NIL) > 23: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1004E2B52B}>) > 24: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "caveman2" :PROMPT NIL) > 25: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unavailable argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) [fast-method] > 26: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {100684A503}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E0CB0B}>) [fast-me.. > 27: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) #<unavailable argument> :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method] > 28: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004E013BB}>) > 29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2) #<NULL-LEXENV>) > 30: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :CAVEMAN2)) > 31: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) > 32: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY mREPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1) {1004DE7C3B}>) > 33: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) > 34: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) > 35: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {1004DE78AB}>) > 36: (SLYNK-MREPL::MREPL-EVAL-1 #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :caveman2)") > 37: (SLYNK-MREPL::MREPL-EVAL #<SLYNK-MREPL::MREPL mrepl-1-1> "(ql:quickload :caveman2)") > 38: (SLYNK::PROCESS-REQUESTS NIL) > 39: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 40: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 41: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044E000B}>) > 42: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/me/quicklisp/local-projects/sly/slynk/backend/sbcl.lisp") #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-.. > 43: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER)) > 44: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*) (**) (***) (/) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {10044E004B}>) > 45: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD)) > 46: ((FLET #:WITHOUT-INTERRUPTS-BODY-1156 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) > 47: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) > 48: ((FLET #:WITHOUT-INTERRUPTS-BODY-359 :IN SB-THREAD::CALL-WITH-MUTEX)) > 49: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFF11AEC5B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR.. > 50: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "sly-channel-1-mrepl-remote-1" RUNNING {10044BA2E3}> NIL #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {10044B678B}> (#<SB-TH.. > 51: ("foreign function: call_into_lisp") > 52: ("foreign function: new_thread_trampoline") > |