Crash on deleting dive after undoing delete

Dirk Hohndel dirk at hohndel.org
Fri Oct 2 12:10:31 PDT 2015


On Fri, Oct 02, 2015 at 07:48:03AM -0400, Dirk Hohndel wrote:
> On Fri, Oct 02, 2015 at 08:35:24PM +1000, Rick Walsh wrote:
> > Hi,
> > 
> > Subsurface is crashing if I:
> > - delete dive
> > - undo (ctrl z) delete dive
> > - delete a dive (same or other)
> 
> There must be a little more to it than that. The stack trace indicates
> that a trip might have been deleted in the process as well? I just tried
> with some random deletes and undos and redos and nothing happened.
> 
> But then when I deleted the last dive in a trip, things went KABOOM
> indeed. I'm about to go on my last two dives for this trip and should have
> plenty of time later today to look into that.
> 
> Thanks for the report!

OK, that wasn't nearly loud enough.

TTTTTTT hh                      kk      YY   YY                !!! !!! 
  TTT   hh        aa aa nn nnn  kk  kk  YY   YY  oooo  uu   uu !!! !!! 
  TTT   hhhhhh   aa aaa nnn  nn kkkkk    YYYYY  oo  oo uu   uu !!! !!! 
  TTT   hh   hh aa  aaa nn   nn kk kk     YYY   oo  oo uu   uu         
  TTT   hh   hh  aaa aa nn   nn kk  kk    YYY    oooo   uuuu u !!! !!! 

(I bet this looks horrible in modern email readers... you get the idea)

Seriously.

Undo/redo has been in the sources for something like 5 months. And
apparently no one ever tried deleting all dives in a trip and then undoing
that delete. The undo/redo code completely ignored trips and ended up
accessing the freed trip structures to great effect...

I just pushed a fix for this. Can you verify that this fixes the problem?
New daily binaries have been triggered...

Maybe we need a bug bounty? I'll pay ¤10,000 for each bug that you find
and report here with instructions how to reproduce them.

Go ahead, make yourself rich...

/D

PS: ¤ stands for Vietnamese Dong in case you are wondering...



More information about the subsurface mailing list