Subsurface planner: Crash on delete cylinder

Guillaume Gardet guillaume.gardet at free.fr
Fri Oct 20 08:19:18 PDT 2017



Le 20/10/2017 à 17:01, Stefan Fuchs a écrit :
> Hi All,
>
> Am 20.10.2017 um 16:11 schrieb Guillaume Gardet:
>>
>>>>>> That's ugly. I found s.th. similar this morning also when deleting a cylinder but only in the merged dive I played with.
>>>>>> Could come from my changes. I found already one bug and fixed it (see PRs) but that was not all - crash still there.
>>>>>
>>>>> Start Subsurface
>>>>>
>>>>> Select file -> New logbook
>>>>>
>>>>> Select Log -> Plan dive
>>>>>
>>>>> Mine starts with a single D12 AIR twinset being defined and a 20 min dive at 15m.
>>>>>
>>>>> Add an AL80 cylinder with EAN50
>>>>>
>>>>> In nth Dive points table change the dive to 60 minutes at 20m (results in awful profile)
>>>>>
>>>>> Delete EAN50 cylinder
>>>>>
>>>>> Crash
>>>>>
>>>> Odd. Usually I'm the one seeing all the crashes with my MXE Windows build. But not this one.
>>>> Any new findings?
>>>> Can you provide a screenshot of the full planner window with the setup?
>>>>
>>>> Meanwhile I will try another build flavor and then also Linux.
>>> Ok, I have it in front of me now:
>>> Seems to be nothing were we or I did really change s.th. during the last days. But for sure what I did is that I implemented a few more triggers for updates between the cylinder table and everything else in the planner. That may have revealed an issue.
>>>
>>> BT attached below.
>>>
>>> From my limited experience:
>>> Is this s.th. coming from a race condition?
>>> We do check in planner .c update_cylinder_pressure for "if (!cyl)", this doesn't "fail" and then we crash a few lines later doing "cyl->gas_used.mliter += gas_used.mliter;"
>>>
>
> Could you please try:
> https://github.com/Subsurface-divelog/subsurface/pull/704

No crash anymore! :) Good job.

Guillaume



More information about the subsurface mailing list