a couple of crashes with the test dives

Lubomir I. Ivanov neolit123 at gmail.com
Sun Nov 23 12:54:53 PST 2014


i was testing something by importing all test dives and i think i
found some bugs.
not sure if these are known or related to WIP code - both patches mention CCR.

Win7, 32bit build, Qt 5.3

-------------------------

1) (the older bug)

introduced in:
fa181d1de

(CC Dirk)

- start with an empty dive list
<autogroup should be on>
- import all test dives 0-40
<#36 will become selected>
- select #35 from the same trip

#0  0x00422bf9 in fill_missing_tank_pressures (
    dive=0x65bbc0 <displayed_dive>, pi=0x28bf50, track_pr=0x28be74,
    diluent_flag=1) at gaspressures.c:287
#1  0x00422f19 in populate_pressure_information (
    dive=0x65bbc0 <displayed_dive>, dc=0x65be30 <displayed_dive+624>,
    pi=0x28bf50, diluent_flag=1) at gaspressures.c:409
#2  0x00421355 in create_plot_info_new (dive=0x65bbc0 <displayed_dive>,
    dc=0x65be30 <displayed_dive+624>, pi=0x28bf50) at profile.c:1022
#3  0x0048ddc4 in ProfileWidget2::plotDive (this=0x31b1b9b8, d=0x31d81218,
    force=false) at qt-ui/profile/profilewidget2.cpp:495
#4  0x0044c077 in MainWindow::current_dive_changed (this=0x2344688, divenr=43)
    at qt-ui/mainwindow.cpp:197

-------------------------

2) (the newer bug)

introduced in:
d5d7fdc9af

(CC Robert)

- start with an empty dive list
<autogroup should be on>
- import all test dives 0-40
<#36 will become selected>
- select #1 from the same trip

#0  0x0049e4c0 in DiveGasPressureItem::paint (this=0x31a45fc0,
    painter=0x28bcb4, option=0x31a24c28, widget=0x3198e288)
    at qt-ui/profile/diveprofileitem.cpp:691
#1  0x1852ef71 in QGraphicsScenePrivate::draw (this=0x31a24ae0, item=
    0x31a45fc8, painter=0x28bcb4, viewTransform=0x28bbf0,
    transformPtr=0x28b810, exposedRegion=0x3197c0b0, widget=0x3198e288,
    opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false,
    drawItem=true) at graphicsview\qgraphicsscene.cpp:4892
#2  0x1852e948 in QGraphicsScenePrivate::drawSubtreeRecursive (
    this=0x31a24ae0, item=0x31a45fc8, painter=0x28bcb4,
    viewTransform=0x28bbf0, exposedRegion=0x3197c0b0, widget=0x3198e288,
    parentOpacity=1, effectTransform=0x0)
    at graphicsview\qgraphicsscene.cpp:4785
#3  0x1852de61 in QGraphicsScenePrivate::drawItems (this=0x31a24ae0,
    painter=0x28bcb4, viewTransform=0x28bbf0, exposedRegion=0x3197c0b0,
    widget=0x3198e288) at graphicsview\qgraphicsscene.cpp:4667
#4  0x1854a5da in QGraphicsView::paintEvent (this=0x3197bc18, event=0x28c768)
    at graphicsview\qgraphicsview.cpp:3530

^ what happens here is that entry->sac causes a SIGSEGV in
DiveGasPressureItem::paint() at some point, probably because of
entry++ going to non-relevant memory - i.e. something is wrong with
the loop.

-------------------------

lubomir
--


More information about the subsurface mailing list