Paul,

unless I hear otherwise I would currently assume this issue is there for your 
binary/your build only. Could you make sure you are indeed building the latest 
master and nothing else? Perhaps do a make distclean and git reset —hard 
origin/master first and then start again with make.

> On 14.12.2014, at 15:39, Paul Sargent <[email protected]> wrote:
> 
> 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

BTW, in my Mac build directories, I created a soft link subsurface -> 
Subsurface.app/Contents/MacOS/Subsurface so I can run the binary as

./subsurface

which gives me STDOUT/STDERR on the terminal (which opening the Subsurface.app 
doesn’t). The disadvantage is that this runs it without an icon and the window 
opens in the back rather than in the front.

> 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


Hmm, unless this is originating from uninitialized memory, a cylinder number -1 
could only come from dive->oxygen_cylinder_index (or the corresponding function 
get_cylinder_idx_by_use() if no oxygen cylinder is defined. In the place you 
quote, however, since commit 13934b0f this should have been caught a few lines 
above. Are you sure you have that commit?

Best
Robert


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to