pre beta test subsurface-mobile 683

Jan Mulder jlmulder at xs4all.nl
Wed Jan 20 04:12:59 PST 2016


On 20-01-16 11:39, Jan Mulder wrote:
>
> So, back to device 1)
>
> Tested for the crash both the -683 from Google Play (so built with Qt 
> 5.6), as well as a self built, using Qt 5.5. Crash behavior is 
> identical, so I do not suspect a recent Qt problem or fix. Divelist is 
> shown correctly, clicking the first (newest) dive, and the divedetails 
> are shown, right swipe trough the divedetails of consecutive dives 
> works (not "perfectly", as already mentioned somewhere, this list or 
> IRC, it hicks at approx 75% of the next divedetails). From this, I 
> conclude that it (the crash) is not something specific about one or 
> more dives. Now restart the app, just to be sure to have a clean 
> state, divelist is shown, and select the 3rd or 4rd dive from the top. 
> I get an instant SIGSEGV for this. A small fragment from the tombstone:
> backtrace:
>      #00 pc 00254214  /data/app/org.subsurfacedivelog.mobile-1/lib/arm/libQt5Gui.so
>      #01 pc 00254d41  /data/app/org.subsurfacedivelog.mobile-1/lib/arm/libQt5Gui.so
>      #02 pc 00256927  /data/app/org.subsurfacedivelog.mobile-1/lib/arm/libQt5Gui.so (QGridLayoutEngine::ensureColumnAndRowData(QGridLayoutRowData*, QGridLayoutBox*, double const*, double const*, Qt::Orientation, QAbstractLayoutStyleInfo const*) const+222)
>      #03 pc 00256be5  /data/app/org.subsurfacedivelog.mobile-1/lib/arm/libQt5Gui.so (QGridLayoutEngine::sizeHint(Qt::SizeHint, QSizeF const&, QAbstractLayoutStyleInfo const*) const+604)
>      #04 pc 0000893f  /data/data/org.subsurfacedivelog.mobile/qt-reserved-files/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
> Obviously, reproducible and as I said ... very obscure and not clearly 
> pointing to an obvious piece of Sursurface-mobile code.
>
It gets even more interesting. I can force a very similar SIGSEGV when 
running the mobile app on the desktop (in qtcreator) with debugging 
enabled. Open the app, select the first dive. Now the screen is split in 
left part divelist, and right part divedetail of the selected dive. 
There is a slider under the divedetail (to simulate sliding on a true 
device). Slide it (and see the console output, selecting trough the 
dives). This craches the app.

The call stack contains the exact same 
QGridLayoutEngine::ensureColumnAndRowData and 
QGridLayoutEngine::sizeHint and a huge stack of 
QQuickItem.SetImplicitSize. It almost looks like infinite recursion.

best,

--jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20160120/278f1761/attachment-0001.html>


More information about the subsurface mailing list