[Interest] QNetwork problem in threaded application (repost from development).

Benjamin Zeller zeller.benjamin at web.de
Mon Sep 9 21:46:56 CEST 2013


On 09.09.2013 19:30, Thiago Macieira wrote:
> On segunda-feira, 9 de setembro de 2013 18:10:25, Benjamin Zeller wrote:
>>> 2) there's a lingering bug in the dispatcher that causes it to send events
>>> to objects that have recently been moved away. For example, it's possible
>>> that the event dispatcher got woken up by two socket activities. When
>>> handling the first, you pushed the second socket to another thread. When
>>> you resume the event loop, the dispatcher still tries to handle the
>>> second socket, which has now been moved.
>>
>> It's very likely that there are lots of other socket events, i'm
>> currently doing a stresstest on the server application, lots of
>> requests and connections are opened. Also this does not happen all the
>> time, just on high loads and even then not always. But it always crashes
>> at the same places, in the worker thread and the main thread.
>
> Can you try the same test with QT_NO_GLIB=1 in your environment?

I get the same error but less often. Even at the same func in the
mainloop. None of the threads is handling a event this time but i had
to upper the load to get the error again.

Is it maybe possible that due to high load the ThreadChange Event gets
lost (or is delivered too late)? The socket descriptor is then never 
disabled and reenabled , which means the thread affinity would be wrong.


>
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>




More information about the Interest mailing list