mthom / scryer-prolog

A modern Prolog implementation written mostly in Rust.
BSD 3-Clause "New" or "Revised" License
2.06k stars 122 forks source link

process exited with code 2148734499 #901

Open panasenco opened 3 years ago

panasenco commented 3 years ago

Was in the middle of typing out a command when suddenly the screen froze and after a few seconds the message process exited with code 2148734499 appeared.

?- code_incl_e
[process exited with code 2148734499]

Probably means nothing if it's a one-time thing, but making this issue in case more people experience it.

Using latest master build of Scryer Prolog in Docker.

UWN commented 3 years ago

Probably this screen freezing is related to an excessive memory usage. Consider to limit the memory you give to Scryer. While it currently does not recover from a memory overflow (#16), at least your machine remains responsive. For me in bash / Ubuntu this works:

ulrich@TU-Wien:/opt/gupu/scryer-prolog$ ulimit -v 1000000
ulrich@TU-Wien:/opt/gupu/scryer-prolog$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31225
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31225
virtual memory          (kbytes, -v) 1000000
file locks                      (-x) unlimited

ulrich@TU-Wien:/opt/gupu/scryer-prolog$ time cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.31s
     Running `target/debug/scryer-prolog`
?- [user].
a:-a,a.

?- a.
Segmentation fault (core dumped)

real    0m57,185s
user    0m42,813s
sys 0m0,407s
ulrich@TU-Wien:/opt/gupu/scryer-prolog$