Hi Elias,
interesting, thanks. Do you by chance know the name of the config
option?
Or is it a mallopt() setting?
/// Jürgen
On 06/17/2016 03:08 PM, Elias Mårtenson
wrote:
If you are running put if RAM+swap on the machine, a
default Linux installation will not return NULL from malloc().
Instead, it will simply kill the process when it tries to access
the memory (actually, when it attempts to map in a memory page,
and the mapping operation fails). This is likely what happens
here.
You can configure Linux to act sanely, but if you do
so, you also need to make sure you have plenty of swap, or you
will not be able to actually use all your RAM.
Regards,
Elias
On 17 Jun 2016 14:50, "Juergen Sauermann"
< address@hidden>
wrote:
Hi Blake,
if I start apl directly then it seems like GNU APL
behaves properly (I tried your
examples and always got a WS FULL).
I could imagine, though, that your shell (resp. script) is
killing APL when APL
tries to allocate too much memory (and APL can then do
little about it).
It would be interesting by which signal APL is killed (try
ulimit -c unlimited (e.g using bash)
to get a core file and then look at the core with gdb).
I could then install a signal handler (if
the signal is catch'able) to fix this.
The question right now is if apl is killing itself (e.g.
by an uncaught exception) or is being
killed from its environment.
I would also be good to check (ulimit -a inside
the script) if there are any active limits related
the memory size.
/// Jürgen
On 06/16/2016 08:59 PM, Blake McBride wrote:
Sometimes, when you have, essentially, a WS
full situation, GNU APL just dies instead of giving a WS
FULL error.
x←⍳100000000
x[10000]←445
y←x
/home/blake/bin/apl: line 3: 7341 Done
akt
7342 Killed |
/usr/local/bin/apl "$@"
address@hidden ~ $ apl
x←⍳100000000
/home/blake/bin/apl: line 3: 7964 Done
akt
7965 Killed |
/usr/local/bin/apl "$@"
address@hidden ~ $ apl
x←⍳10000000
⍴x
10000000
y←x
x←⍳10000000
x←⍳100000000
WS FULL
x←⍳100000000
^ ^
)off
address@hidden ~ $ apl
x←⍳100000000
/home/blake/bin/apl: line 3: 7992 Done
akt
7993 Killed |
/usr/local/bin/apl "$@"
|