Page MenuHomePhabricator

GlobalInteraction destructor can cause application crash
Closed, ResolvedPublic

Description

If a statemachine is still registered as listener to GlobalInteraction and this registration is the last smartpointer to that statemachine and then GlobalInteration is destroyed, the destructor will first delete it's FocusMager member and then call the destructor of the statemachine which will call back GlobalInteraction->RemoveFocusElement() which tries to access the already deleted FocusManager member --> Crash.

Solution: explicitely delete all members in the correct order.

see T3091 for a way to reproduce the crash

Related Objects

StatusAssignedTask
ResolvedNone
ResolvedNone

Event Timeline

granting core modification as proxy for Marco and Daniel who are both unavailable.

[SVN revision 20592]
FIX (#3105): explicitly delete member variables in the destructor in the correct order to avoid access to already deleted member variables

(In reply to comment #2)

[SVN revision 20592]
FIX (#3105): explicitly delete member variables in the destructor in the
correct order to avoid access to already deleted member variables

Ingmar, can you please review these changes?

Nice. I made the same initial changes to test it. Thanks for the work and the commit. So closing the bug.