Subsurface-mobile crash on deleting dive from dive list

Rick Walsh rickmwalsh at gmail.com
Thu Aug 3 15:49:40 PDT 2017


Hi,

This is not a new bug, and has been reported before, but I think it's one
that should be eliminated before the next release.  When deleting a dive
from the dive list (select the dive from the list but hold down until the
trash icon appears, then select the trash icon), the app will crash...
sometimes.  But sometimes it works.

The most reliable way I have come up with to reproduce the bug (crash just
occurred 3 of 4 times) is:
1) select a dive from somewhere in the list - dive details page will open
2) hit back button to return to dive list, with dive still selected
3) go to menu and open another page (e.g. 'About' or 'Settings')
4) hit back button to return to dive list, with dive still selected
5) hold down on the selected dive so the trash icon appears
6) crash...

That isn't the only way to reproduce the bug, but it's the most reliable
way I have found.  I think it has something to do with deleting the
currently selected dive, without properly selecting another dive.

Below is an extract from my subsurface log.
TouchPointPressed without previous release event
QQuickEventPoint(valid:true accepted:false state:Pressed
scenePos:QPointF(70.3333,415) id:2000001 timeHeld:0)
The item DiveDetails_QMLTYPE_71(0xcb0e14e0) is already in the PageRow
Both point size and pixel size set. Using pixel size.
qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
detected for property "width"
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
detected for property "width"
Both point size and pixel size set. Using pixel size.
qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
detected for property "width"
Both point size and pixel size set. Using pixel size.
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
Both point size and pixel size set. Using pixel size.
qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
detected for property "width"
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
"846.350: Synchronising data file"
qrc:///qml/DiveDetailsEdit.qml:254: TypeError: Cannot read property 'dive'
of null
qrc:///qml/DiveDetailsEdit.qml:228: TypeError: Cannot read property 'dive'
of null
qrc:///qml/DiveDetailsEdit.qml:216: TypeError: Cannot read property 'dive'
of null
qrc:///qml/DiveDetailsEdit.qml:204: TypeError: Cannot read property 'dive'
of null
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
QObject::startTimer: Timers cannot be started from another thread
"846.578: Preparing to save data"
"846.621: Start saving data"
"846.687: Start saving dives"
"846.727: Done creating local cache"

The TypeError lines (254, 228, 216, 204) in DiveDetailsEdit.qml are similar.
            HintsTextEdit {
                id: cylinderBox
***Line 254***                model: diveDetailsListView.currentItem ?
diveDetailsListView.currentItem.modelData.dive.cylinderList : null
                inputMethodHints: Qt.ImhNoPredictiveText
                Layout.fillWidth: true
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20170804/e074e517/attachment.html>


More information about the subsurface mailing list