Deutsch English Français Italiano |
<v9a9ar$136g9$1@solani.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock <janburse@fastmail.fm> Newsgroups: comp.lang.prolog Subject: Re: The naive reverse reality check (Was: Is Scryer Prologs failure measurable?) Date: Sun, 11 Aug 2024 14:03:38 +0200 Message-ID: <v9a9ar$136g9$1@solani.org> References: <v8gc6e$l44p$1@solani.org> <v952rb$10h3e$1@solani.org> <v99uo8$12eip$1@solani.org> <v99utc$12eip$2@solani.org> <v99vmr$12f56$1@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 11 Aug 2024 12:03:39 -0000 (UTC) Injection-Info: solani.org; logging-data="1153545"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2 Cancel-Lock: sha1:beK6VGO7FYp4UTtx0NDwjWOE330= X-User-ID: eJwFwYkBwCAIA8CVypMo4xiF/UfoHYLGu5JgYjBlLpnFq1yNUcU1WqwtZkseRdfz7flQfe53SjP9sRG7iR9EjhVr In-Reply-To: <v99vmr$12f56$1@solani.org> Bytes: 2883 Lines: 67 Another prolog system which succumbs to the bomb.p test case: $ ulimit -m 2000000 $ ulimit -v 2000000 $ ./tpl -v Trealla Prolog (c) Infradig 2020-2024, v2.55.18 $ ./tpl ?- ['bomb.p']. ?- foo. throw(error(resource_error(memory),app/3)). But on my side not everything is joy that makes us unique. The matter is difficult to adjust: with Machine.GC_MAX_INFERS = 200000 it crashes: /* Dogelog Player for Java */ ?- foo. Error: Execution aborted because out of memory. with Machine.GC_MAX_INFERS = 100000 it does not crash: /* Dogelog Player for Java */ ?- foo. %%% I can go for lunch and come back, it still runs. How can I find the right value for GC_MAX_INFERS ? Call a witch doctor and ask his oracle bones? Mild Shock schrieb: > The test case that crashes all these new > Prolog systems, is for example this one. > It still crashes Scryer Prolog: > > $ ulimit -m 2000000 > $ ulimit -v 2000000 > $ target/release/scryer-prolog -v > v0.9.4-135-g7cfe8ee5 > > $ target/release/scryer-prolog > ?- [user]. > app([], X, X). > app([X|Y], Z, [X|T]) :- app(Y, Z, T). > garbage(0, [0]) :- !. > garbage(N, L) :- M is N-1, garbage(M, R), app(R, R, L). > foo :- garbage(12,_), foo. > > ?- foo. > memory allocation of 2147483648 bytes failed > Aborted > > The above preferably runs indefinitely. For > example SWI-Prolog can run it indefinitely. > It also crashes other Prolog systems: > > $ ~/go/bin/1pl > Top level for ichiban/prolog v1.2.1 > This is for testing purposes only! > See https://github.com/ichiban/prolog for more details. > Type Ctrl-C or 'halt.' to exit. > > ?- ['bomb.p']. > true. > ?- foo. > runtime: out of memory: > cannot allocate 4194304-byte block (802816000 in use)