I have a TreeView widget inside a WContainerWidget. When I double click an item in TreeView, a WDialog popups and starts a recursive event loop.
One out of 50 times, a crash occurs after WDialog starts a recursive event loop. For some reason during event handling, the handler returned by WebSession::Handler::instance() has its reference-to-a-WebRequest field uninitialized. This is as far as my deduction skills can take me. =( Here are my (3) observations: The container widget that held the TreeView widget used to respond to the doubleClicked signal and would trigger a slot. But later, I disconnected its connection to the signal (with boost::signals::connection::disconnect() ). Afterward, double clicking on one of the TreeView's items would occasionally be followed by a crash when a WDialog pops up. However; if the container widget had never been connected to the doubleClicked signal (or maybe any other signal) in the first place, clicking on TreeView, and opening a WDialog seems to never crash. While the crash is fairly easy to reproduce with GDB (at least on my system), it seems impossible to reproduce with Helgrind. My system specs: Ubuntu 8.10, Pentium 4 processor with "hyper-threading", boost 1.42, and Wt 3.1.2. I don't know why I'm doing development on a lame system; my computer at home is more up-to-date and can probably give bug reports more accurately. I'll make a simple test case on my other computer and see if I can reproduce the crash. I attached output from GDB and as well as output from Helgrind. I could never get the app to crash with Helgrind but I would occasionally get reports of possible race conditions. I do understand that Helgrind can often make false-positives though. Regards, David.
gdb-report
Description: Binary data
helgrind-report
Description: Binary data
------------------------------------------------------------------------------
_______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
