On 2013-06-11 23:08, Alex Bligh wrote:
Sorin,

On 11 Jun 2013, at 21:57, Sorin Manolache wrote:

The threadallocatormutex is created from a child of the request pool. The 
request pool and its child-pools are destroyed when the request terminates. Do 
you use the threadpool/threadallocator/threadallocatormutex afterwards?

Nope. It's one long running request, and at the end of the request handler, the 
thread I've created is _join'ed, and the pools are destroyed.

When I torture test it, I can run 10 hours of fullscreen video through it, and 
every 5 or 6th such test results in a core dump (inevitably a bucket brigade 
pointer being unhappy). We have a customer who seems to be talented at making 
things go wrong and who does not get an abort/segv, but a 100% CPU live lock. 
gdb suggests the destruction of the bucket brigade goes around and around - 
again a symptom of bucket brigade linked list pointers being unhappy.


I'm sorry, I ran out of ideas. I suppose that the operations of the two threads on the bucket brigade are protected by mutexes...

S

Reply via email to