swipl-devel
swipl-devel copied to clipboard
Possible crash in atom lookup
Forked from #722. See also #737 for the context for reproducing.
Crash at
v = v0 & (buckets-1);
head = table[v]; <<< here.
20/69 Test #26: swipl:thread .....................***Exception: SegFault 15.49 sec
Running scripts from thread ...........................
SWI-Prolog [thread 6 () at Fri Dec 4 11:01:48 2020]: received fatal signal 11 (segv)
C-stack trace labeled "crash":
[0] save_backtrace() at /home/koom/repos/swipl-devel/build/../src/os/pl-cstack.c:332 [0x7f74a2aea468]
[1] print_c_backtrace() at /home/koom/repos/swipl-devel/build/../src/os/pl-cstack.c:867 [0x7f74a2aea61e]
[2] sigCrashHandler() at /home/koom/repos/swipl-devel/build/../src/os/pl-cstack.c:905 [0x7f74a2aea73f]
[3] dispatch_signal() at /home/koom/repos/swipl-devel/build/../src/pl-setup.c:553 [0x7f74a2a73103]
[4] killpg() at ??:? [0x7f74a2614040]
[5] lookupBlob() at /home/koom/repos/swipl-devel/build/../src/pl-atom.c:541 [0x7f74a29ee7c7]
[6] lookupAtom() at /home/koom/repos/swipl-devel/build/../src/pl-atom.c:654 [0x7f74a29ef065]
[7] textToAtom() at /home/koom/repos/swipl-devel/build/../src/os/pl-text.c:415 [0x7f74a2adfdcd]
[8] unify_text() at /home/koom/repos/swipl-devel/build/../src/os/pl-text.c:468 [0x7f74a2adff51]
[9] concat() at /home/koom/repos/swipl-devel/build/../src/pl-prims.c:4189 [0x7f74a2a54f5f]
[10] pl_atom_concat3_va() at /home/koom/repos/swipl-devel/build/../src/pl-prims.c:4262 [0x7f74a2a550d3]
[11] PL_next_solution() at /home/koom/repos/swipl-devel/build/../src/pl-vmi.c:4355 [0x7f74a2a0fbf5]
[12] callProlog() at /home/koom/repos/swipl-devel/build/../src/pl-pro.c:394 [0x7f74a2a5889f]
[13] start_thread() at /home/koom/repos/swipl-devel/build/../src/pl-thread.c:1802 [0x7f74a2a8a859]
[14] start_thread() at /build/glibc-S7xCS9/glibc-2.27/nptl/pthread_create.c:463 [0x7f74a21b96db]
[15] clone() at /build/glibc-S7xCS9/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97 [0x7f74a26f671f]
Prolog stack:
[3] system:atom_concat/3 [PC=1 in supervisor]
[2] forall/2 [PC=11 in clause 1]
[0] system:$c_call_prolog/0 [PC=0 in top query clause]
Running on_halt hooks with status 139
Killing 8790 with default signal handlers