Thanks to Marco we appear to have a potential fix. At least I can no longer reproduce the crashes.
New versions of Subsurface-mobile (4.6.3.228) should now be available to our testers both on iOS and Android /D Fixes all the crashes for me on Android 4.3 also. Steve > On Apr 13, 2017, at 7:43 AM, Dirk Hohndel <[email protected]> wrote: > > It seems that these crashes started with the move to Kirigami 2 and > Quick.Controls.2 - but since they are somewhat hard to reproduce, I'm > not 100% sure. > > I have been able to create one scenario where I can trigger the crash > reliably under a debugger, and the stack trace doesn't really tell me > much. > > We appear to be loading all of our code and based on the debug output > we are just about to show the UI when things crash. > > frame #0: 0x009354be > Subsurface-mobile`QQuickItem::~QQuickItem(this=0x19f07e40) + 198 at > qquickitem.cpp:2314 frame #1: 0x0097482e > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement(t > his=0x19f07e40) + 46 at qqmlprivate.h:104 frame #2: 0x003b5ee4 > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement(t > his=0x19f07e40) + 16 at qqmlprivate.h:102 frame #3: 0x009747c8 > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement(t > his=0x19f07e40) + 16 at qqmlprivate.h:102 frame #4: 0x012386b4 > Subsurface-mobile`QObjectPrivate::deleteChildren(this=0x19f0c950) + > 164 at qobject.cpp:1970 frame #5: 0x01238494 > Subsurface-mobile`QObject::~QObject(this=0x19f0c8f0) + 1372 at > qobject.cpp:1041 frame #6: 0x009356a4 > Subsurface-mobile`QQuickItem::~QQuickItem(this=0x19f0c8f0) + 684 at > qquickitem.cpp:2356 frame #7: 0x003fccdc > Subsurface-mobile`QQuickControl::~QQuickControl(this=0x19f0c8f0) + 20 > at qquickcontrol_p.h:59 frame #8: 0x003b9bd0 > Subsurface-mobile`QQuickAbstractButton::~QQuickAbstractButton(this=0x1 > 9f0c8f0) + 72 at qquickabstractbutton.cpp:231 frame #9: 0x003a3304 > Subsurface-mobile`QQuickItemDelegate::~QQuickItemDelegate(this=0x19f0c > 8f0) + 20 at qquickitemdelegate_p.h:57 frame #10: 0x003a6906 > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlE > lement(this=0x19f0c8f0) + 46 at qqmlprivate.h:104 frame #11: > 0x003a686c > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlE > lement(this=0x19f0c8f0) + 16 at qqmlprivate.h:102 frame #12: > 0x003a6888 > Subsurface-mobile`QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlE > lement(this=0x19f0c8f0) + 16 at qqmlprivate.h:102 frame #13: > 0x012390d6 Subsurface-mobile`qDeleteInEventHandler(o=0x19f0c8f0) + 26 > at qobject.cpp:4552 frame #14: 0x01238d82 > Subsurface-mobile`QObject::event(this=0x19f0c8f0, e=0x19f03c90) + 226 > at qobject.cpp:1254 frame #15: 0x0093f2d2 > Subsurface-mobile`QQuickItem::event(this=0x19f0c8f0, ev=0x19f03c90) + > 706 at qquickitem.cpp:7698 frame #16: 0x0054010c > Subsurface-mobile`QApplicationPrivate::notify_helper(this=0x17e92110, > receiver=0x19f0c8f0, e=0x19f03c90) + 280 at qapplication.cpp:3745 > frame #17: 0x005414bc > Subsurface-mobile`QApplication::notify(this=0x17d2a210, > receiver=0x19f0c8f0, e=0x19f03c90) + 1196 at qapplication.cpp:3105 > frame #18: 0x01209ca2 > Subsurface-mobile`QCoreApplication::notifyInternal2(receiver=0x19f0c8f > 0, event=0x19f03c90) + 374 at qcoreapplication.cpp:988 frame #19: > 0x009573e4 > Subsurface-mobile`QCoreApplication::sendEvent(receiver=0x19f0c8f0, > event=0x19f03c90) + 36 at qcoreapplication.h:231 frame #20: 0x0120ac78 > Subsurface-mobile`QCoreApplicationPrivate::sendPostedEvents(receiver=0 > x00000000, event_type=0, data=0x17d297d0) + 952 at > qcoreapplication.cpp:1648 frame #21: 0x0120a424 > Subsurface-mobile`QCoreApplication::sendPostedEvents(receiver=0x000000 > 00, event_type=0) + 32 at qcoreapplication.cpp:1502 frame #22: > 0x012b53f0 > Subsurface-mobile`QEventDispatcherCoreFoundation::processPostedEvents( > this=0x17e7ed90) + 184 at qeventdispatcher_cf.mm:405 frame #23: > 0x00436be4 > Subsurface-mobile`QIOSEventDispatcher::processPostedEvents(this=0x17e7 > ed90) + 20 at qioseventdispatcher.mm:481 frame #24: 0x012b6be0 > Subsurface-mobile`RunLoopSource<QEventDispatcherCoreFoundation>::proce > ss(info=0x17e7eda4) + 72 at qeventdispatcher_cf_p.h:145 frame #25: > 0x23b1b9e6 > CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTIO > N__ + 14 frame #26: 0x23b1b568 CoreFoundation`__CFRunLoopDoSources0 + > 344 frame #27: 0x23b1993e CoreFoundation`__CFRunLoopRun + 806 frame > #28: 0x23a681c8 CoreFoundation`CFRunLoopRunSpecific + 516 frame #29: > 0x23a67fbc CoreFoundation`CFRunLoopRunInMode + 108 frame #30: > 0x25084af8 GraphicsServices`GSEventRunModal + 160 frame #31: > 0x2819b434 UIKit`UIApplicationMain + 144 frame #32: 0x00435c54 > Subsurface-mobile`::qt_main_wrapper(argc=1, argv=0x0362fa90) + 468 at > qioseventdispatcher.mm:232 frame #33: 0x23714872 libdyld.dylib`start + > 2 > > We seem to be crashing deep inside the destructor of a Delegate which > appears to be a QQuickAbstractButton. > > Marco - does this tell you anything more useful? > > I'll be happy to try some things now that I can reproduce the crash. > > Thanks > > /D > _______________________________________________ > subsurface mailing list > [email protected] > http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurfac > e _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
