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)