I built Poly with debug. Segmentation fault is on PolyWord::operator!=
Program terminated with signal 11, Segmentation fault. #0 0x00007fddb9069bc6 in PolyWord::operator!= (this=0x7fddb93faa60, b=...) at globals.h:171 171 bool operator != (PolyWord b) const { return contents.unsignedInt != b.contents.unsignedInt; } Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7_4.2.x86_64 gmp-6.0.0-15.el7.x86_64 libgcc-4.8.5-16.el7_4.2.x86_64 libstdc++-4.8.5-16.el7_4.2.x86_64 (gdb) bt #0 0x00007fddb9069bc6 in PolyWord::operator!= (this=0x7fddb93faa60, b=...) at globals.h:171 #1 0x00007fddb9065283 in get_stream (stream_token=...) at basicio.cpp:324 #2 0x00007fddb9087d55 in selectCall (taskData=0x7fddb000c980, args=0x7fddb000cbb8, blockType=0) at network.cpp:1474 #3 0x00007fddb9086cb0 in Net_dispatch_c (taskData=0x7fddb000c980, args=0x7fddb000cbb8, code=0x7fddb000cbb0) at network.cpp:1180 #4 0x00007fddb9088154 in PolyNetworkGeneral (threadId=0x7fddb40af200, code=..., arg=...) at network.cpp:1520 #5 0x0000000000407892 in area1 () #6 0x0000000000000001 in ?? () #7 0x0000000000000000 in ?? () (gdb) print this $1 = (const PolyWord * const) 0x7fddb93faa60 (gdb) print b $2 = {contents = {signedInt = 140590188957664, unsignedInt = 140590188957664, objectPtr = 0x7fddb4458fe0, codePtr = 0x7fddb4458fe0 "n\026", stackAddr = 0x7fddb4458fe0}} (gdb)
??, 24 ???. 2018 ?. ? 18:20, Kostirya <kostirya at gmail.com>:
Hello. I got sometimes Segmentation fault. The GDB backtrace of core file is bellow. It is multi thread server. I call Socket.bind and Socket.listen in main thread and then I create worker threads. If server have one worker thread then error is not occur.
OS is CentOS, Poly/ML 5.7.2 Testing (Git version v5.7.1-161-g33045f8)
#0 0x00007fbf878faa87 in get_stream(PolyWord) () from /home/nick/polyml/lib/libpolyml.so.9 #1 0x00007fbf878fac32 in writeArray(TaskData*, SaveVecEntry*, SaveVecEntry*, bool) [clone .isra.7] () from /home/nick/polyml/lib/libpolyml.so.9 #2 0x00007fbf878fc0be in IO_dispatch_c(TaskData*, SaveVecEntry*, SaveVecEntry*, SaveVecEntry*) () from /home/nick/polyml/lib/libpolyml.so.9 #3 0x00007fbf878fd2a1 in PolyBasicIOGeneral () from /home/nick/polyml/lib/libpolyml.so.9 #4 0x000000000041406d in area1 () #5 0x0000000000002001 in ?? () #6 0x00007fbf87b57320 in ?? () from /home/nick/polyml/lib/libpolyml.so.9 #7 0x00007fbf81e49e30 in ?? () #8 0x0000000000006001 in ?? () #9 0x0000000000010008 in ?? () #10 0x00007fbf879171ed in Processes::FindAllocationSpace(TaskData*, unsigned long, bool) () from /home/nick/polyml/lib/libpolyml.so.9 #11 0x00007fbf7c00a4d0 in ?? () #12 0x00007fbf81e4a660 in ?? () #13 0x00007fbf8792c9f1 in X86TaskData::SwitchToPoly() () from /home/nick/polyml/lib/libpolyml.so.9 #14 0x00007fbf8792cbcc in X86TaskData::EnterPolyCode() () from /home/nick/polyml/lib/libpolyml.so.9 #15 0x00007fbf87916fc9 in NewThreadFunction(void*) ()
==============================================================
This one more backtrace.
#0 0x00007ff5a378ba87 in get_stream(PolyWord) () from /home/nick/polyml/lib/libpolyml.so.9 #1 0x00007ff5a379ef08 in getSelectResult(TaskData*, SaveVecEntry*, int, WaitSelect*) () from /home/nick/polyml/lib/libpolyml.so.9 #2 0x00007ff5a379f481 in selectCall(TaskData*, SaveVecEntry*, int) () from /home/nick/polyml/lib/libpolyml.so.9 #3 0x00007ff5a37a03ed in Net_dispatch_c(TaskData*, SaveVecEntry*, SaveVecEntry*) () from /home/nick/polyml/lib/libpolyml.so.9 #4 0x00007ff5a37a12f7 in PolyNetworkGeneral () from /home/nick/polyml/lib/libpolyml.so.9 #5 0x00000000004078a2 in area1 () #6 0x0000000000002001 in ?? () #7 0x00007ff5a39e8320 in ?? () from /home/nick/polyml/lib/libpolyml.so.9 #8 0x00007ff59d4d9e30 in ?? () #9 0x000000000000a001 in ?? () #10 0x0000000000010008 in ?? () #11 0x00007ff5a37a81ed in Processes::FindAllocationSpace(TaskData*, unsigned long, bool) () from /home/nick/polyml/lib/libpolyml.so.9 #12 0x00007ff59800c980 in ?? () #13 0x00007ff59d4da660 in ?? () #14 0x00007ff5a37bd9f1 in X86TaskData::SwitchToPoly() () from /home/nick/polyml/lib/libpolyml.so.9 #15 0x00007ff5a37bdbcc in X86TaskData::EnterPolyCode() () ---Type <return> to continue, or q <return> to quit--- from /home/nick/polyml/lib/libpolyml.so.9 #16 0x00007ff5a37a7fc9 in NewThreadFunction(void*) () from /home/nick/polyml/lib/libpolyml.so.9 #17 0x00007ff5a2968e25 in start_thread () from /lib64/libpthread.so.0 #18 0x00007ff5a2c7534d in clone () from /lib64/libc.so.6
==============================================================
This one more backtrace.
#0 0x00007f88d2be3a87 in get_stream(PolyWord) () from /home/nick/polyml/lib/libpolyml.so.9 #1 0x00007f88d2be5b85 in IO_dispatch_c(TaskData*, SaveVecEntry*, SaveVecEntry*, SaveVecEntry*) () from /home/nick/polyml/lib/libpolyml.so.9 #2 0x00007f88d2be62a1 in PolyBasicIOGeneral () from /home/nick/polyml/lib/libpolyml.so.9 #3 0x000000000040580d in area1 () #4 0x0000000000002001 in ?? () #5 0x00007f88d2e40320 in ?? () from /home/nick/polyml/lib/libpolyml.so.9 #6 0x00007f88cc931e30 in ?? () #7 0x000000000000a001 in ?? () #8 0x0000000000010008 in ?? () #9 0x00007f88d2c001ed in Processes::FindAllocationSpace(TaskData*, unsigned long, bool) () from /home/nick/polyml/lib/libpolyml.so.9 #10 0x00007f88c800c980 in ?? () #11 0x00007f88cc932660 in ?? () #12 0x00007f88d2c159f1 in X86TaskData::SwitchToPoly() () from /home/nick/polyml/lib/libpolyml.so.9 #13 0x00007f88d2c15bcc in X86TaskData::EnterPolyCode() () from /home/nick/polyml/lib/libpolyml.so.9 #14 0x00007f88d2bfffc9 in NewThreadFunction(void*) () from /home/nick/polyml/lib/libpolyml.so.9 #15 0x00007f88d1dc0e25 in start_thread () from /lib64/libpthread.so.0 #16 0x00007f88d20cd34d in clone () from /lib64/libc.so.6
=====================================================================
This one more backtrace.
#0 0x00007f1ed86fca87 in get_stream(PolyWord) () from /home/nick/polyml/lib/libpolyml.so.9 #1 0x00007f1ed8710209 in selectCall(TaskData*, SaveVecEntry*, int) () from /home/nick/polyml/lib/libpolyml.so.9 #2 0x00007f1ed87113ed in Net_dispatch_c(TaskData*, SaveVecEntry*, SaveVecEntry*) () from /home/nick/polyml/lib/libpolyml.so.9 #3 0x00007f1ed87122f7 in PolyNetworkGeneral () from /home/nick/polyml/lib/libpolyml.so.9 #4 0x00000000004078a2 in area1 () #5 0x0000000000002001 in ?? () #6 0x00007f1ed8959320 in ?? () from /home/nick/polyml/lib/libpolyml.so.9 #7 0x00007f1ecdffae30 in ?? () #8 0x000000000000a001 in ?? () #9 0x0000000000010008 in ?? () #10 0x00007f1ed87191ed in Processes::FindAllocationSpace(TaskData*, unsigned long, bool) () from /home/nick/polyml/lib/libpolyml.so.9 #11 0x00007f1ed000c980 in ?? () #12 0x00007f1ecdffb660 in ?? () #13 0x00007f1ed872e9f1 in X86TaskData::SwitchToPoly() () from /home/nick/polyml/lib/libpolyml.so.9 #14 0x00007f1ed872ebcc in X86TaskData::EnterPolyCode() () from /home/nick/polyml/lib/libpolyml.so.9 #15 0x00007f1ed8718fc9 in NewThreadFunction(void*) ()