[Interest] Program runs only on four core processors.... sometimes.

Till Oliver Knoll till.oliver.knoll at gmail.com
Thu Mar 21 08:48:54 CET 2013


Am 20.03.2013 um 23:00 schrieb Guido Seifert <wargand at gmx.de>:

> 
> Hi,
> I have here a strange problem. Probably not 100% ontopic for this list. But it is a Qt program. :-)
> 
> My problem: I have three programs, which exchange data with a fourth program via tcp and udp. On my i7 and i5 with four cores it runs perfectly. It also runs perfectly on my partner's machines. Now I gave it to a few testers... and it was pure disaster. Bugs I have never seen before. From the description it seems to be some kind of deadlock. The main program just freezes. 

Now we assume it is a deadlock caused by some race conditions for some network (socket?) resources. But maye it is simply because the data is sometimes wrong? Imagine one service would send image data "worth 4 terrabytes" (because the "content size field" was wrongly set, or the height/width fields), so what would your main program do? Would it try to really create a QImage that large and hence be busy allocating virtual memory?

That would be visible off course by its memory consumption which would grow and grow.

Off course my guess totally does not explain why it would (seem to) work on some machines, and not on others (but that /could/ be a pure coincidence which would wrongly lead us to believe it must be a threading/deadlock problem).

Cheers,
  Oliver


More information about the Interest mailing list