Board index FlightGear Development Canvas

segfault when exiting FG while showing CanvasWidget dialog ?

Canvas is FlightGear's new fully scriptable 2D drawing system that will allow you to easily create new instruments, HUDs and even GUI dialogs and custom GUI widgets, without having to write C++ code and without having to rebuild FlightGear.

segfault when exiting FG while showing CanvasWidget dialog ?

Postby Hooray » Thu May 01, 2014 5:23 am

It seems we need to explicitly run some more cleanup code here - test case: just use the topics/canvas-map-dialog branch, open the dialog and then exit FG immediately. Need to investigate, but basically it seems our code is trying to access stuff that was already deleted via the dtor, i.e. some timer/listener still running probably (even though it should hopefully fail in a less severe manner)
Code: Select all
#0  0x000000000107f4c0 in naHash_get ()
#1  0x0000000000a6a67b in FGNasalSys::createModule(char const*, char const*, char const*, int, SGPropertyNode const*, int, naRef*) ()
#2  0x00000000008200db in FGPUIDialog::~FGPUIDialog() ()
#3  0x0000000000831e3f in NewGUI::shutdown() ()
#4  0x00000000010d78f3 in SGSubsystemGroup::shutdown() ()
#5  0x00000000010d7c80 in SGSubsystemMgr::shutdown() ()
#6  0x00000000006d432d in FGGlobals::~FGGlobals() ()
#7  0x00000000006dbc4d in fgMainInit(int, char**) ()
#8  0x00000000006b06fa in main ()
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11427
Joined: Tue Mar 25, 2008 8:40 am

Re: segfault when exiting FG while showing CanvasWidget dial

Postby Hooray » Mon May 12, 2014 10:59 am

doesn't seem to be canvas related - I am getting the same segfault when exiting with other dialogs using embedded Nasal (as long as the dialog is shown when terminating the process):

Code: Select all
(gdb) bt
#0  0x0000000001094c60 in naHash_get ()
#1  0x0000000000a7a07b in FGNasalSys::createModule(char const*, char const*, char const*, int, SGPropertyNode const*, int, naRef*) ()
#2  0x0000000000824ecb in FGPUIDialog::~FGPUIDialog() ()
#3  0x00000000008369af in NewGUI::shutdown() ()
#4  0x00000000010ee783 in SGSubsystemGroup::shutdown() ()
#5  0x00000000010eeb10 in SGSubsystemMgr::shutdown() ()
#6  0x00000000006d8bb1 in FGGlobals::~FGGlobals() ()
#7  0x00000000006e063d in fgMainInit(int, char**) ()
#8  0x00000000006b498a in main ()

Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11427
Joined: Tue Mar 25, 2008 8:40 am


Return to Canvas

Who is online

Users browsing this forum: No registered users and 1 guest