Thanks wysota, spirit.

Wysota was right about the backtrace being worthless. It turns out the problem was I had an array allocated to the right size and then the customer asked for more elements and I forgot to increase the size of the array. None of this was in the back trace. It kind of bothers me that there is no tool I can use to find that ... (I would have guessed that valgrind would catch it, but it didn't). And it bothers me to make mistakes like this ...

Spirit: you may have been right. I turned off some of the queued connections when the emit caused a crash just to see what would happen. I should put it back now that I know what the problem is.

Good sleuthing.