Hi again So it seems like the crash happening on close on iOS is line 608 in qmlmanager.cpp - so at the end of the QMLManager destructor.
Thread 0 name: Thread 0 Crashed: 0 libsystem_kernel.dylib 0x00000001d563101c __pthread_kill + 8 (:-1) 1 libsystem_pthread.dylib 0x00000001f7b7d680 pthread_kill + 268 (pthread.c:1681) 2 libsystem_c.dylib 0x0000000196191b90 abort + 180 (abort.c:118) 3 libc++abi.dylib 0x00000001f7aaa660 abort_message + 132 (abort_message.cpp:78) 4 libc++abi.dylib 0x00000001f7a9a62c demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77) 5 libobjc.A.dylib 0x000000018652ad34 _objc_terminate() + 144 (objc-exception.mm:496) 6 libc++abi.dylib 0x00000001f7aa9a24 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59) 7 libc++abi.dylib 0x00000001f7aa99c8 std::terminate() + 56 (cxa_handlers.cpp:88) 8 Subsurface-mobile 0x000000010027589c QMLManager::~QMLManager() + 68 (qmlmanager.cpp:608) 9 Subsurface-mobile 0x00000001001620e4 QQmlPrivate::QQmlElement<QMLManager>::~QQmlElement() + 12 (qqmlprivate.h:144) 10 Subsurface-mobile 0x00000001001620e4 QQmlPrivate::QQmlElement<QMLManager>::~QQmlElement() + 12 (qqmlprivate.h:142) 11 Subsurface-mobile 0x00000001001620e4 QQmlPrivate::QQmlElement<QMLManager>::~QQmlElement() + 28 (qqmlprivate.h:142) 12 Subsurface-mobile 0x0000000101759b08 QObjectPrivate::deleteChildren() + 260 13 Subsurface-mobile 0x0000000101759844 QObject::~QObject() + 1968 14 Subsurface-mobile 0x0000000100d9e4e8 QQuickItem::~QQuickItem() + 984 15 Subsurface-mobile 0x0000000100c9d45c QQuickContentItem::~QQuickContentItem() + 12 16 Subsurface-mobile 0x0000000101759b08 QObjectPrivate::deleteChildren() + 260 17 Subsurface-mobile 0x0000000101759844 QObject::~QObject() + 1968 18 Subsurface-mobile 0x0000000100d9e4e8 QQuickItem::~QQuickItem() + 984 19 Subsurface-mobile 0x0000000100dcce68 QQuickRootItem::~QQuickRootItem() + 12 20 Subsurface-mobile 0x0000000100dc0fec QQuickWindow::~QQuickWindow() + 216 21 Subsurface-mobile 0x0000000100be2b8c QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement() + 56 22 Subsurface-mobile 0x00000001014939bc QQmlApplicationEngine::~QQmlApplicationEngine() + 168 23 Subsurface-mobile 0x000000010016153c run_mobile_ui(double) + 3468 (subsurface-helper.cpp:190) 24 Subsurface-mobile 0x0000000100160330 main + 816 (subsurface-mobile-main.cpp:95) 25 Subsurface-mobile 0x000000010061bb50 user_main_trampoline() + 280 26 Subsurface-mobile 0x000000010061b990 +[QIOSApplicationStateTracker applicationDidFinishLaunching:] + 1120 27 ??? 0x0000000000000002 0x0 + 2 That's of course a bit frustrating (because that thing's a monster), but it may help us to track down what's going on. Of course, sadly, the number of Qt / QML experts in the developer team has dwindled quite a bit. And our C++ rock star developer is crazy busy at his day job. So I'm not sure how much hope I have that this can be fixed, quickly. It looks to me like we are reasonably walking down the stack of objects, trying to destroy/free them, and then things go poorly. In run_mobile_ui (stack frame 23) we have finished the app; qApp->exec() has returned and it now starts cleaning up the local objects. And the QMLApplicationEngine that owns the QML app just walks down it's objects... Of course, since we have completed the app, I really don't think I care all that much - but I still don't want things to crash. That's ugly. /D
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
