Note to self: copy constructors are bad.
I spent a significant portion of the last 72 hours debugging a apparently random bug in one of my programs. Now the ‘program ‘ is really three separate programs communicating across sockets. And each one is multi-threaded. The abstract purpose of the system is to process and deliver messages. Testing with a small number or messages did not show any bugs. But under significant load the system would crash. As long as the number of messages was fairly large the point at which the system crashed as apparently random. With a little help from my boss I finally figured it out. Bottom line: copy constructors are bad and when they are implied constructors from the STL they are worse because you don’t ever realize they are there!
Only S██████ will understand this entry. :)