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
_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface