Crash in QEventDispatcherUNIX with Qt 5.8 on OSX



  • Hi there,

    I have a peer-to-peer application written using Qt that's been out there for several years now. A couple of users have reported a crash that looks like this:

    Thread 10 Crashed:
    0 libsystem_kernel.dylib 0x00007fffbfdf2dd6 __pthread_kill + 10
    1 libsystem_pthread.dylib 0x00007fffbfede787 pthread_kill + 90
    2 libsystem_c.dylib 0x00007fffbfd58420 abort + 129
    3 org.qt-project.QtCore 0x0000000105a468c9 0x105a30000 + 92361
    4 org.qt-project.QtCore 0x0000000105a48297 QMessageLogger::fatal(char const*, ...) const + 231
    5 org.qt-project.QtCore 0x0000000105c6ef3f QEventDispatcherUNIXPrivate::QEventDispatcherUNIXPrivate() + 527
    6 org.qt-project.QtCore 0x0000000105c6f6d5 QEventDispatcherUNIX::QEventDispatcherUNIX(QObject*) + 37
    7 org.qt-project.QtCore 0x0000000105a5a6c3 0x105a30000 + 173763
    8 org.qt-project.QtCore 0x0000000105a5a7d3 0x105a30000 + 174035
    9 libsystem_pthread.dylib 0x00007fffbfedbaab _pthread_body + 180
    10 libsystem_pthread.dylib 0x00007fffbfedb9f7 _pthread_start + 286
    11 libsystem_pthread.dylib 0x00007fffbfedb1fd thread_start + 13

    They're both on OSX and at least one of them is using a Qt 5.8 build. I ran a couple of google searches and found some information about the possibility that the operating system is running out of file descriptors. That seems possible since the app is very socket-heavy, and can sometimes create hundreds of TCP connections simultaneously. I asked one of these users to change the maximum file descriptor limit and see if it's still happening, but I figured I'd post about it here in the meantime in case someone knows anything about this. Any help would be appreciated.

    Thanks, Nir


  • Qt Champions 2016

    Hard to tell as some of the calls are optimized out. By the way what does the message say (you should get one on the standard output from the QMessageLogger::fatal call?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.