------- Comment #17 from mjtruog at fastmail dot ca 2010-03-07 17:53 ------- I have found this doesn't fix the problem. It may fix the problem in the example, but not in all cases. I have a few new crash dumps:
Core was generated by `_release/lib/cloud-0.0.9/priv/cloud_worker_port'. Program terminated with signal 6, Aborted. [New process 10276] [New process 10273] [New process 10277] #0 0x00002b766a9a7015 in raise () from /lib/libc.so.6 (gdb) back #0 0x00002b766a9a7015 in raise () from /lib/libc.so.6 #1 0x00002b766a9a8b83 in abort () from /lib/libc.so.6 #2 0x00002b766a9e80c8 in __libc_message () from /lib/libc.so.6 #3 0x00002b766a9eda58 in malloc_printerr () from /lib/libc.so.6 #4 0x00002b766a9f00a6 in free () from /lib/libc.so.6 #5 0x00002b766ad8758e in std::string::_M_mutate (this=0x407f0ea0, __pos=0, __len1=0, __len2=32) at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:231 #6 0x00002b766ad875dc in std::string::_M_replace_safe (this=0x2821, __pos1=10276, __n1=6, __s=0x407f0741 "243f6a8885a308d313198a2e03707344", __n2=47787595689792) at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:662 #7 0x00002aaaaaab2445 in bbp_pi (abortTask=<value optimized out>, digitIndex=<value optimized out>, digitStep=<value optimized out>, piSequence=<value optimized out>) at lib/cloud_job_tests/src/piqpr8_gmp.cpp:241 #8 0x00002aaaaaab05db in do_work (abortta...@0x12387a2, workInstance=<value optimized out>, id=<value optimized out>, taskda...@0x1226ca0, taskDataSize=10, querieso...@0x407f0f70) at lib/cloud_job_tests/src/cloud_job_tests.cpp:145 #9 0x000000000041390d in WorkerController::WorkerExecution::ThreadPool::ThreadFunctionObject::operator() (this=0x407f1040, stopp...@0x12387a2, allocator=<value optimized out>) at lib/cloud_worker/src/worker_execution.cpp:501 warning: (Internal error: pc 0x419054 in read in psymtab, but not in symtab.) warning: (Internal error: pc 0x419054 in read in psymtab, but not in symtab.) #10 0x0000000000419055 in boost::detail::thread_data<WorkerController::WorkerExecution::ThreadPool::ThreadObject>::run (this=<value optimized out>) at lib/cloud_worker/src/worker_execution.cpp:236 warning: (Internal error: pc 0x419054 in read in psymtab, but not in symtab.) warning: (Internal error: pc 0x418fa0 in read in psymtab, but not in symtab.) #11 0x00002b7669b05870 in thread_proxy () from /home/.../src/lib/boost/releases/boost_1_42_0_install/lib/libboost_thread.so.1.42.0 #12 0x00002b766b27a3ea in start_thread () from /lib/libpthread.so.0 #13 0x00002b766aa5acbd in clone () from /lib/libc.so.6 #14 0x0000000000000000 in ?? () (gdb) I also continue to reproduce the same stderr problem (in debug mode): Core was generated by `_release/lib/cloud-0.0.9/priv/cloud_worker_port'. Program terminated with signal 11, Segmentation fault. [New process 11089] [New process 11090] #0 sentry (this=0x7fff4a32a8d0, __...@0x2abb61e70c20) at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc:51 51 if (__os.tie() && __os.good()) (gdb) back #0 sentry (this=0x7fff4a32a8d0, __...@0x2abb61e70c20) at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc:51 #1 0x00002abb61c15048 in std::__ostream_insert<char, std::char_traits<char> > (__o...@0x2abb61e70c20, __s=<value optimized out>, __n=47) at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream_insert.h:80 #2 0x00002abb61c1544f in operator<< <std::char_traits<char> > ( __o...@0x2abb61e70c20, __s=0x2aaaaaab7360 "cloud_job_tests global/static data initialize()") at /home/.../src/lib/g++/releases/gcc-4.4.2/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream:510 #3 0x00002aaaaaab30d6 in initialize () at lib/cloud_job_tests/src/cloud_job_tests.cpp:100 #4 0x00002aaaaaab7326 in __do_global_ctors_aux () from _release/lib/cloud-0.0.9/priv/work_types/libcloud_job_tests.so #5 0x00002aaaaaab2423 in _init () from _release/lib/cloud-0.0.9/priv/work_types/libcloud_job_tests.so #6 0x00002abb00000000 in ?? () #7 0x00002abb60781a20 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2 #8 0x00002abb6078649a in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 #9 0x00002abb60781676 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #10 0x00002abb60785b2b in _dl_open () from /lib64/ld-linux-x86-64.so.2 #11 0x00002abb611e8f5b in dlopen_doit () from /lib/libdl.so.2 #12 0x00002abb60781676 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #13 0x00002abb611e92cc in _dlerror_run () from /lib/libdl.so.2 #14 0x00002abb611e8ec1 in dlopen@@GLIBC_2.2.5 () from /lib/libdl.so.2 #15 0x0000000000425f17 in library (this=0x172a970, na...@0x7fff4a32ae60) at lib/cloud_worker/src/library.cpp:68 #16 0x0000000000417cec in WorkerController::WorkerExecution::input ( this=0x672218, pta...@0x7fff4a32b518) at lib/cloud_worker/src/worker_execution.cpp:574 #17 0x000000000040f379 in WorkerController::WorkerQuery::store (this=0x672258, p...@0x7fff4a32b518) at lib/cloud_worker/src/worker_controller.cpp:432 #18 0x00000000004100aa in WorkerController::store (this=0x6721c0, p...@0x7fff4a32b518) at lib/cloud_worker/src/worker_controller.hpp:195 #19 0x000000000040e278 in WorkerController::receive_work (this=0x6721c0, fd=8) at lib/cloud_worker/src/worker_controller.cpp:244 #20 0x000000000040ba4f in handle_node_connection (index=5, controll...@0x6721c0) at lib/cloud_worker/src/node_connections.cpp:499 #21 0x000000000040bc25 in NodeConnections::worker_loop ( buffer=0x7fff4a32b610 "", controll...@0x6721c0) at lib/cloud_worker/src/node_connections.cpp:560 #22 0x000000000042587e in main (argv=0x7fff4a3336f8) at lib/cloud_worker/src/cloud_worker.cpp:114 (gdb) This is with using gcc for linking instead of g++. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42679