Important: Please read the Qt Code of Conduct -

qt app crashing without any application code involved

  • qt crashing on mac with the following stack trace:
    looks like non of our application code is involved. any chance someone could shed more light on this please?

    Thread 0 Crashed:: CrBrowserMain  Dispatch queue:
    0   libobjc.A.dylib               	0x00007fffca066b5d objc_msgSend + 29
    1   libqcocoa.dylib               	0x00000001176431af -[QNSView drawRect:] + 383
    2              	0x00007fffb308aaf9 -[NSView _drawRect:clip:] + 2276
    3              	0x00007fffb30daaab -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1753
    4              	0x00007fffb30daf16 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
    5              	0x00007fffb3088632 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 837
    6              	0x00007fffb3089231 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3908
    7              	0x00007fffb3087e0f -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 334
    8              	0x00007fffb3086238 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2452
    9              	0x00007fffb3081b25 -[NSView displayIfNeeded] + 1748
    10              	0x00007fffb3081437 -[NSWindow displayIfNeeded] + 230
    11              	0x00007fffb37dff3f ___NSWindowGetDisplayCycleObserver_block_invoke.6228 + 277
    12              	0x00007fffb3080f15 __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 454
    13          	0x00007fffbb12fa96 CA::Transaction::run_commit_handlers(CATransactionPhase) + 46
    14          	0x00007fffbb237800 CA::Context::commit_transaction(CA::Transaction*) + 160
    15          	0x00007fffbb12e631 CA::Transaction::commit() + 475
    16              	0x00007fffb3363f1d __37+[NSDisplayCycle currentDisplayCycle]_block_invoke.31 + 323
    17      	0x00007fffb5420397 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    18      	0x00007fffb5420307 __CFRunLoopDoObservers + 391
    19      	0x00007fffb5400f39 __CFRunLoopRun + 873
    20      	0x00007fffb5400974 CFRunLoopRunSpecific + 420
    21           	0x00007fffb498ca5c RunCurrentEventLoopInMode + 240
    22           	0x00007fffb498c891 ReceiveNextEventCommon + 432
    23           	0x00007fffb498c6c6 _BlockUntilNextEventMatchingListInModeWithFilter + 71
    24              	0x00007fffb2f325b4 _DPSNextEvent + 1120
    25              	0x00007fffb36acd6b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
    26              	0x00007fffb2f26f35 -[NSApplication run] + 926
    27  libqcocoa.dylib               	0x000000011764d6bf QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2143
    28  org.qt-project.QtCore         	0x000000010fef89d1 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 401
    29  org.qt-project.QtCore         	0x000000010fefcc35 QCoreApplication::exec() + 341
    30  paperspace.Paperspace         	0x000000010f87f290 main + 11760
    31  libdyld.dylib                 	0x00007fffca958255 start + 1

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    It could be usefull to know what your application is doing when that happens.

  • Moderators

    @benPaperspace Can we see your main.cpp?

    Also do you perchance have multiple versions of Qt installed on your system?

    And finally, how did you build your app?

  • Thanks for replying!

    let me try to answer you questions.

    i got the crash report from a user so i can not tell exactly what he/she was doing before the crash.
    non of the functions in the stack trace except main ofc are from my application so its especially hard to figure out what lead to the crash.

    i was hoping this might be some sort of known problem.

    @ambershark i will ask if i can publish our main.cpp here. stand by pls

    i highly doubt that the user had any sort of qt installed. on my build system i recently switched from 5.7.0 to 5.7.1.
    i uninstalled the old version before installing the new version. i also have a runtime check in the program that would complain if it was not running with qt 5.7.1

    i build the app via command line script
    here is a snippet from the script:

    ~/Qt5.7.1/5.7/clang_64/bin/qmake -o ./build/
    cd build
    cd Paperspace

  • Lifetime Qt Champion

    Do you have any custom plugin ? Dependency ?

    By the way, what version of macOS does your customer run ?

  • Moderators

    @benPaperspace Oh it's on a user's system... That means I have an idea.

    Did you make sure you distributed your application properly? I.e. does it have the platform plugins? This is a crash that could potentially be related to not having or being able to execute the platform plugin.

    Especially since it seems to be crashing in a draw routine.

    If it's a proprietary system for a company it's ok if you don't show your main.cpp. I don't think it will help with the problem that much anyway.

    What happens if you run the same distribution (the one that is crashing) on a fresh OSX install? I use virtual machines for this. If it's a plugin issue it will crash on that machine as well. I assume your company has testing in place and this is part of their testing but just in case it's not, that's a common problem. :)

  • @SGaist

    QT       += core gui network multimedia webenginewidgets
    macx: LIBS += -framework VideoDecodeAcceleration -framework CoreVideo -framework CoreFoundation -framework Carbon -framework AppKit

    not sure if that answers all your questions but thats pretty much all the custom stuff we use.
    i have a piece of mac specific code that removes the emoticons entry from the edit menu but that was added so recent that i am pretty sure the customer doesnt have that code yet.

    i am working on getting more detailed crash reports with version info but for now thats all i have

    @ambershark i am distributing the software in a mac dmg file after building it the way described above. it runs without crashes on most of our macs and customer computers
    i can ask my coworkers to try running it on a fresh mac. i am not a mac guy and i only have one system to test on.
    but i am pretty sure we would have noticed if its not running on a fresh mac installation
    anyway i will report back once i have more info about this

  • Lifetime Qt Champion

    Carbon ? It's a bit surprising, out of curiosity why do you need it for ?

    In between, what version of macOS and Xcode are you using to build your application ?

  • Moderators

    @benPaperspace said in qt app crashing without any application code involved:

    i can ask my coworkers to try running it on a fresh mac. i am not a mac guy and i only have one system to test on.

    This could be the problem. If you have a test system you have setup or fixed the problem (even inadvertently) on then you would miss the crash.

    But if it's working on most customer's systems, then that is kind of weird. That would make it specific to the customer that is crashing which means it's some kind of configuration conflict with that system and not necessarily a bug in your code. That will be pretty tough for us to help you solve and you'll probably need to work with that specific customer to get more crash logs and try to figure out what is causing it on their system.

Log in to reply