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*) () _______________________________________________ polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/polyml