This happened today when I installed SWI on a new machine running Fedora Linux 40:
Welcome to SWI-Prolog (threaded, 64 bits, version 9.3.24-58-g407ec23a9)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- [load_headless].
Loading poker
% Interactive session; added `.` to Python `sys.path`
Loading experiment file module data(poker_examples/experiment_script_lnf.pl) from exp_script_lnf.
Global stack limit 17,179,869,184
Table space 137,438,953,472
true.
?- experiment_file:abop_plant_a.
% Generating labelled examples...
% Generating 20 abop_plant_a examples of length in [0,6].
% Generating all abop_plant_a_with_vars examples of length in [11,13].
% Generating unlabelled examples...
% Got 77 labelled examples.
% Got 0 unlabelled examples.
% Generalising positive examples
% Derived 2274 sub-hypotheses (unsorted)
% Derived 125 sub-hypotheses (sorted)
% Derived 108 sub-hypotheses (unfolded)
% Generating new atoms...
% Found safe_example/2.
% Generated 497 new atoms.
ERROR: API error: invalid atom_t 1593861 (no valid atom at this index)
Time: Mon Jun 9 19:04:25 2025
Inferences: 870
Thread: 2 (gc)
C-stack trace labeled "API":
[0] save_backtrace() at /home/yegoblynqueenne/swipl-devel/src/os/pl-cstack.c:337 [0x7f8735d6e5f8]
[1] vsysError() at /home/yegoblynqueenne/swipl-devel/src/pl-init.c:2088 [0x7f8735ccf181]
[2] vfatalError() at /home/yegoblynqueenne/swipl-devel/src/pl-init.c:2140 [0x7f8735ccf3dc]
[3] fetchAtomArray() at /home/yegoblynqueenne/swipl-devel/src/pl-inline.h:387 [0x7f8735cecc17]
[4] write_closure() at /home/yegoblynqueenne/swipl-devel/src/pl-wrap.c:72 [0x7f8735ce568d]
[5] dbgAtomName() at /home/yegoblynqueenne/swipl-devel/src/pl-atom.c:1163 [0x7f8735c72ae3]
[6] unregister_atom_clause() at /home/yegoblynqueenne/swipl-devel/src/pl-proc.c:1751 [0x7f8735d54886]
[7] forAtomsInCodes() at /home/yegoblynqueenne/swipl-devel/src/pl-comp.c:4188 (discriminator 1) [0x7f8735d259fe]
[8] freeClause() at /home/yegoblynqueenne/swipl-devel/src/pl-proc.c:1764 [0x7f8735d2e1e2]
[9] freeClauseRef() at /home/yegoblynqueenne/swipl-devel/src/pl-proc.c:1240 [0x7f8735d2e104]
[10] pl_garbage_collect_clauses() at /home/yegoblynqueenne/swipl-devel/src/pl-proc.c:2751 [0x7f8735d547a8]
[11] PL_next_solution___LD() at /home/yegoblynqueenne/swipl-devel/src/pl-vmi.c:4359 [0x7f8735c76dc6]
[12] PL_call_predicate() at /home/yegoblynqueenne/swipl-devel/src/pl-fli.c:4529 [0x7f8735d41c6b]
[13] GCmain() at /home/yegoblynqueenne/swipl-devel/src/pl-thread.c:6926 [0x7f8735cc7fc0]
[14] start_thread() at ??:? [0x7f8735aecfa8]
[15] __clone3() at :? [0x7f8735b70fcc]
PROLOG STACK (without arguments):
[4] system:garbage_collect_clauses/0 [PC=2 in supervisor]
[2] $gc:gc_loop/0 [PC=29 in clause 1]
[0] system:$c_call_prolog/0 [PC=0 in top query clause]
PROLOG STACK (with arguments; may crash if data is corrupted):
[4] garbage_collect_clauses
[2] gc_loop
[0] '$c_call_prolog'
[pid=26319] Action? Aborted (core dumped)
Last time the same query terminated without errors was the daily build for windows 9.3.20-23-ge2557e66e (64 bits).
I can try creating a short example but it’s complicated. Is it possible to find the culprit just from the version?