Crash when planning CCR dive

Paul Sargent paul.lionseye at icloud.com
Sun Dec 14 06:39:00 PST 2014


This is on the current head (9fe458ea2e30), running on Mac OS 10.10.1.

What I did was:

# make clean
# qmake INCLUDEPATH+="/usr/local/include /usr/local/Cellar/sqlite/3.8.7.1/include" LIBS+="-L/usr/local/Cellar/sqlite/3.8.7.1/lib -L/usr/local/lib" -config debug
# make
# open Subsurface.app

and then:
Log -> Plan Dive
Enter a single gas of 18/45
Enter a single segment of 70m for 30mins (Drop to first depth is on)
Change segment setpoint to 1.3

Crashes every time. There’s a backtrace at bottom of this mail, along with a screenshot showing the screen prior to changing the set-point.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   org.hohndel.subsurface        	0x000000010b8841c3 fill_missing_tank_pressures + 675
1   org.hohndel.subsurface        	0x000000010b883d5d populate_pressure_information + 685
2   org.hohndel.subsurface        	0x000000010b8810e0 create_plot_info_new + 224
3   org.hohndel.subsurface        	0x000000010b96b5ac ProfileWidget2::plotDive(dive*, bool) + 828
4   org.hohndel.subsurface        	0x000000010b96b268 ProfileWidget2::replot() + 56
5   org.hohndel.subsurface        	0x000000010b9ebb7e ProfileWidget2::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 446
6   QtCore                        	0x000000010ee19d71 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2037
7   QtCore                        	0x000000010ee5ae95 QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) + 57
8   org.hohndel.subsurface        	0x000000010b8b3d51 DivePlannerPointsModel::editStop(int, divedatapoint) + 385
9   org.hohndel.subsurface        	0x000000010b8b3b8c DivePlannerPointsModel::setData(QModelIndex const&, QVariant const&, int) + 860

Attaching the debugger gave:

* thread #1: tid = 0x7eef0, 0x00000001084e41c3 subsurface`fill_missing_tank_pressures(dive=0x00038a4008774e80, pi=0x00007fff5774eef8, track_pr=0x00007fff5774ec20, o2_flag=false) + 675 at gaspressures.c:301, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x00000001084e41c3 subsurface`fill_missing_tank_pressures(dive=0x00038a4008774e80, pi=0x00007fff5774eef8, track_pr=0x00007fff5774ec20, o2_flag=false) + 675 at gaspressures.c:301
   298
   299 			// If there is a valid segment but no tank pressure ..
   300 			interpolate = get_pr_interpolate_data(segment, pi, i, pressure); // Set up an interpolation structure
-> 301 			if(dive->cylinder[cyl].cylinder_use == OC_GAS) {
   302
   303 				/* if this segment has pressure_time, then calculate a new interpolated pressure */
   304 				if (interpolate.pressure_time) {

(lldb) p cyl
(int) $0 = -1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20141214/338995f9/attachment.html>


More information about the subsurface mailing list