OOPS, I probably should have checked all the locked threads before
posting this.  Thread 6 seems to be the critical thread because I create
an ostringstream in a signal handler that interupts another
ostringstream creation.

gdb has this to say.

(gdb) thread 6
[Switching to thread 6 (Thread 0x7ff746539950 (LWP 30146))]#0  
0x00007ff747063a94 in __lll_lock_wait () from /lib/libpthread.so.0
(gdb) bt
#0  0x00007ff747063a94 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007ff74705f190 in _L_lock_102 () from /lib/libpthread.so.0
#2  0x00007ff74705ea7e in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007ff746db28ef in std::locale::locale () from /usr/lib/libstdc++.so.6
#4  0x00007ff746de97af in std::basic_stringstream<char, std::char_traits<char>, 
std::allocator<char> >::basic_stringstream () from /usr/lib/libstdc++.so.6
#5  0x000000000045f355 in FixAdminMessageFactory::createMsgHeader (
    this=0x7ff74653875f, bo...@0x7ff7465386a0, ty...@0x7ff746538690)
    at broker/FixAdminMessageFactory.cpp:34
#6  0x00000000004602a6 in FixAdminMessageFactory::createHeartBeatMsg (
    this=0x7ff74653875f, testreq...@0x7ff746538750)
    at broker/FixAdminMessageFactory.cpp:153
#7  0x000000000042b227 in heartbeat (signum=14) at transport/FIXTCP.cpp:40
#8  <signal handler called>
#9  0x00007ff74705ea78 in pthread_mutex_lock () from /lib/libpthread.so.0
#10 0x00007ff746db28ef in std::locale::locale () from /usr/lib/libstdc++.so.6
#11 0x00007ff746de84b2 in std::basic_ostringstream<char, 
std::char_traits<char>, std::allocator<char> >::basic_ostringstream () from 
/usr/lib/libstdc++.so.6
#12 0x000000000042c914 in transport::FeedTCP::_handleSessionMessage 
(this=0xf815c0,
    msg=0xf81840 "M 6B.Z09 S 41 16353 2015260 55854425\n")
    at transport/FeedTCP.cpp:226
#13 0x000000000042ce5b in transport::FeedTCP::nextBlock (this=0xf815c0,
    wait_us=1000) at transport/FeedTCP.cpp:196
#14 0x00000000004215e4 in datafeed::DataFeed::run (this=0xf806a0,
    handler=0xf81690) at feed/DataFeed.cpp:120
#15 0x000000000043126b in MarketData::_run (this=0xf81690) at 
base/MarketData.cpp:182
#16 0x00000000004314db in MarketData::_entryPoint (arg=0xf81690)
---Type <return> to continue, or q <return> to quit---
    at base/MarketData.cpp:44
#17 0x00007ff74705d3ba in start_thread () from /lib/libpthread.so.0
#18 0x00007ff74661ffcd in clone () from /lib/libc.so.6
#19 0x0000000000000000 in ?? ()

-- 
Creating ostringstream causes deadlock
https://bugs.launchpad.net/bugs/453518
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-b...@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

-- 
universe-bugs mailing list
universe-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/universe-bugs

Reply via email to