Forums

OverviewFelgo 2 Support (Qt 5) › Hard crash on Linux/Mac desktop

Tagged: 

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #18089

    Marcin

    Hi Felgo,
    I spent some time and narrowed, as much as I could, some crashing issue on desktop.
    Tested on Linux and Mac(didn’t test on Windows but expect similar issue, not sure).
    Tested on Android device and couldn’t replicate it, at least not for now.

    In video examples below I tried to show movement patterns, hopefully can help.

    This is the example code: Github repo
    Video where I show the issue on Linux: http://senkal.vipserv.org/linux-error.ogv
    Video with issue on Linux with debug enabled: http://senkal.vipserv.org/linux-error-debug.ogv.(I hit here few times F5, to resume the flow)

    Log from crash, last lines(from Mac this time):

    Process:               Debug-on-destroy-error [4136]
    Path:                  /Users/USER/*/Debug-on-destroy-error.app/Contents/MacOS/Debug-on-destroy-error
    Identifier:            {hidden}.Debug-on-destroy-error
    Version:               0
    Code Type:             X86-64 (Native)
    Parent Process:        Qt Creator [3094]
    Responsible:           Debug-on-destroy-error [4136]
    User ID:               501
    
    Date/Time:             2018-01-13 23:56:23.652 +0000
    OS Version:            Mac OS X 10.12.6 (16G29)
    Report Version:        12
    Anonymous UUID:        2F5F2F8B-CB5E-0BC6-5349-E558577183EF
    
    Sleep/Wake UUID:       0BAB6584-AA6E-414D-9BCE-DCFBE384EF17
    
    Time Awake Since Boot: 110000 seconds
    Time Since Wake:       280 seconds
    
    System Integrity Protection: enabled
    
    Crashed Thread:        0  Dispatch queue: com.apple.main-thread
    
    Exception Type:        EXC_BAD_ACCESS (SIGBUS)
    Exception Codes:       KERN_PROTECTION_FAILURE at 0x000000010a213320
    Exception Note:        EXC_CORPSE_NOTIFY
    
    Termination Signal:    Bus error: 10
    Termination Reason:    Namespace SIGNAL, Code 0xa
    Terminating Process:   exc handler [0]
    
    VM Regions Near 0x10a213320:
        mapped file            000000010a15e000-000000010a1af000 [  324K] r--/rwx SM=COW 
    --> JS garbage collector   000000010a1af000-000000010a5af000 [ 4096K] rw-/rwx SM=COW 
        JS VM register file    000000010a5af000-000000010a5b0000 [    4K] ---/rwx SM=NUL 
    
    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
    0   ???                               0x000000010a213320 0 + 4464915232
    1   org.qt-project.QtQml              0x0000000102eb0a47 QV4::MemoryManager::runGC() + 167
    2   org.qt-project.QtQml              0x0000000102eb0944 QV4::MemoryManager::allocString(unsigned long) + 260
    3   org.qt-project.QtQml              0x0000000102f876ad QV4::ExecutionEngine::newString(QString const&) + 77
    4   org.qt-project.QtQml              0x0000000103007b07 QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, bool) + 2423
    5   org.qt-project.QtQml              0x0000000103006fc6 QV4::QObjectWrapper::getQmlProperty(QQmlContextData*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, bool) const + 774
    6   org.qt-project.QtQml              0x000000010301f83f QV4::Runtime::method_getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) + 255
    7   ???                               0x000000010b07b0cb 0 + 4480020683
    8   org.qt-project.QtQml              0x0000000102f91da3 QV4::ExecutionContext::simpleCall(QV4::Scope&, QV4::CallData*, QV4::Function*) + 483
    9   org.qt-project.QtQml              0x0000000102fb176a 0x102e99000 + 1148778
    10  org.qt-project.QtQml              0x000000010301ec5e QV4::Runtime::method_callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) + 798
    11  ???                               0x000000010b0734bb 0 + 4479988923
    12  org.qt-project.QtQml              0x0000000102f91da3 QV4::ExecutionContext::simpleCall(QV4::Scope&, QV4::CallData*, QV4::Function*) + 483
    13  org.qt-project.QtQml              0x0000000102fb176a 0x102e99000 + 1148778
    14  org.qt-project.QtQml              0x000000010301ec5e QV4::Runtime::method_callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) + 798
    15  ???                               0x000000010b06867e 0 + 4479944318
    16  org.qt-project.QtQml              0x0000000102f91da3 QV4::ExecutionContext::simpleCall(QV4::Scope&, QV4::CallData*, QV4::Function*) + 483
    17  org.qt-project.QtQml              0x00000001030b7465 QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*, QV4::Scope&) + 597
    18  org.qt-project.QtQml              0x0000000103052f68 QQmlBoundSignalExpression::evaluate(void**) + 1128
    19  org.qt-project.QtQml              0x000000010305374d 0x102e99000 + 1812301
    20  org.qt-project.QtQml              0x000000010309a245 QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) + 757
    21  org.qt-project.QtCore             0x000000010357042d QMetaObject::activate(QObject*, int, int, void**) + 125
    22  org.qt-project.QtQml              0x00000001030cde9d 0x102e99000 + 2313885
    23  org.qt-project.QtQml              0x0000000103049899 QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) + 73
    24  org.qt-project.QtQml              0x0000000103047519 QQmlComponentPrivate::completeCreate() + 41
    

    In general I could have removed more JS function from the files, but the more I removed the harder was to trigger the crash.
    Since my app is much more JS heavy it happens much faster.
    Looks like it is a combination of moving player while entities are removed.
    In this example I move player by applying forces but with different way or moving(QtQuick animations for example) it also happens.
    There are some not called JS functions but, like I said before, preferred to leave them.
    Bottom line: looks like it happens only on desktop but don’t want to risk that at some point my mobile builds will be affected.

    Can be tricky to replicate, happens on around 25~50 items created and destroyed.
    Please check it 2-3 times to be sure that you can’t replicate it.

    PS. Don’t ask why on Mac the app starts with “Trial/No license splash screen” when on Linux it doesn’t. Don’t know why.
    PS. If you find out that Felgo has nothing to do with the issue, sorry, for my it looked like removeEntity() matters, for example the one in ScreenBottom.qml

    #18093

    Marcin

    Update.
    I tested the example on iPhone and it crashes very quickly.
    Once the trial splash screen disappears, if you move the red square a little, quite soon you should get the hard crash.
    Desktop wasn’t an issue for me but this definitely is a big problem 🙂
    Still looks like Felgo related but maybe it is Qt, hopefully there is a way to figure this out.
    On iPhone the crash log:

    qml: EntityManager: found a component to create from entityType Square and variationType Default : QQmlComponent(0x17400eb40)
    
    qml: EntityManager: just removed entity with id SQUARE_20 and type Square from active entities
    
    qml: EntityManager: successfully removed entity with id SQUARE_20
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    program received signal -111, thread:acc2b;00:80be121001000000;01:0048821001000000;02:0000000000000000;03:e0ff650401000000;04:0000660401000000;05:a097c86f01000000;06:40c65a0401000000;07:0000000000000000;08:a0f35a0401000000;09:0000000000000000;0a:feffffffffff0100;0b:0100000000000000;0c:0200000000000000;0d:80be121001000000;0e:0000000000001000;0f:0000000000001000;10:0000000000000000;11:0000000000000000;12:0000000000000000;13:0048821001000000;14:0000300501000000;15:40c5930401000000;16:0000a70101000000;17:feffffffffff0100;18:0100000000000000;19:0020030000000000;1a:286f930101000000;1b:4c4b821001000000;1c:0000000000000000;1d:c092c86f01000000;1e:94ecdc0001000000;1f:9092c86f01000000;20:a0f35a0401000000;21:00000060;metype:1;mecount:2;medata:2;medata:1045af3a0;memory:0x16fc892c0=3093c86f010000001437d40001000000;memory:0x16fc89330=a096c86f01000000c01ad40001000000;
    
    hit maximum number of consecutive signals, stopping
    
    Run ended.

    Maybe it is about the way I implemented things, not sure.
    If I should do things differently, please let me know.

    #18097

    Günther
    Felgo Team

    Hi Marcin,

    I was able to reproduce the crash with your example project.

    We’ll have a deeper look to see what we can find and get back to you then!

    Best,
    Günther

    #18109

    Marcin

    Hi Günther,
    That’s great!

    For now can work with Android device.
    What is not great is that there is that error with Felgo Live and Store element 🙂
    So for now just Android but without Felgo Live is an option for me, what is fine.

    I hope you will be able to fix it relatively soon.
    Thanks.

    #20316

    Cristi

    Has anyone solved this problem?
    I’m having a similar crash (unrelated to Felgo), only with Qt 5.9.6, and I was wondering if you managed to find out the root cause.

    #20328

    Günther
    Felgo Team

    Hi,

    we didn’t find the root cause yet, as it’s not high prio with Felgo Live becoming standard for testing instead of Desktop.

    As your crash is unrelated to Felgo and with Qt 5.9.6, please consider asking in the official qt forums: https://forum.qt.io/

    Best,
    Günther

Viewing 6 posts - 1 through 6 (of 6 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support