title: Boost threads coring on startup
body: <p>I have a program that brings up and tears down multiple threads throughout its life.  Everything works great for awhile, but eventually, I get the following core dump stack trace.</p>
  
  <pre><code>#0  0x009887a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
  #1  0x007617a5 in raise () from /lib/tls/libc.so.6
  #2  0x00763209 in abort () from /lib/tls/libc.so.6
  #3  0x003ec1bb in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/libstdc++.so.6
  #4  0x003e9ed1 in __cxa_call_unexpected () from /usr/lib/libstdc++.so.6
  #5  0x003e9f06 in std::terminate () from /usr/lib/libstdc++.so.6
  #6  0x003ea04f in __cxa_throw () from /usr/lib/libstdc++.so.6
  #7  0x00d5562b in boost::thread::start_thread () from /h/Program/bin/../lib/libboost_thread-gcc34-mt-1_39.so.1.39.0
  </code></pre>
  
  <p>At first, I was leaking threads, and figured the core was due to hitting some maximum limit of number of current threads, but now it seems that this problems occurs even when I don't.  For reference, in the core above there were 13 active threads executing.</p>
  
  <p>I did some searching to try and figure out why start_thread would core, but I didn't come across anything.  Anyone have any ideas?</p>