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

Reply via email to