Menu

#1751 GPS crashes sim after clearing/deleting RM waypoints

3.6
Fixed
High
2018-09-27
2015-05-08
No

Windows nightly builds 3.5 May 8 on Vista 32bit, 4gbRam, RadeonX300

Since 3.2 I've noticed this bug, but today I got the wherewithal to give a formal test.

Start flightgear plane is inconsequential, use any plane. I tested several and always reproduced the bug.
I started at KDEN.
Open route manager.
I routed for KPHX.
Wind suggested runways for both airports.
Zakalawe default approach and departure sid.
Highlight first approach point (app-5), autoroute between departure and approach.
Activate router.
Open GPS dialog, activate way points. close GPS dialog.
Open Route manager, clear autoroute. ( it does not seem necessary to re-route to get the bug but even if you do...)
Open GPS dialog --

SimCrash every time.

Discussion

  • sanhozay

    sanhozay - 2015-05-09

    Confirmed on GNU/Linux (Ubuntu 14.04.2). Flightgear and Simgear compiled from latest source 9th May 2015.

    Here is the backtrace:

    Program received signal SIGSEGV, Segmentation fault.
    waypointCommonGetMember (c=0xddfb520, wpt=0x3fb069f54c79a1d2,
    fieldName=<optimised out>, 
        out=0xddfc138) at
    /home/richard/Flightgear/flightgear/src/Scripting/NasalPositioned.cxx:432
    432   else if (!strcmp(fieldName, "wp_lat") || !strcmp(fieldName, "lat")) *out =
    naNum(wpt->position().getLatitudeDeg());
    (gdb) bt
    #0  waypointCommonGetMember (c=0xddfb520, wpt=0x3fb069f54c79a1d2,
    fieldName=<optimised out>, 
        out=0xddfc138) at
    /home/richard/Flightgear/flightgear/src/Scripting/NasalPositioned.cxx:432
    #1  0x00007ffff6b5ad15 in ghostGetMember (out=<optimised out>, field=...,
    obj=..., 
        ctx=<optimised out>) at
    /home/richard/Flightgear/simgear/simgear/nasal/code.c:438
    #2  getMember_r (ctx=0xddfb520, obj=..., field=..., out=0xddfc138, count=63)
        at /home/richard/Flightgear/simgear/simgear/nasal/code.c:453
    #3  0x00007ffff6b5c6a2 in getMember (count=64, result=<optimised out>, fld=...,
    obj=..., 
        ctx=0xddfb520) at /home/richard/Flightgear/simgear/simgear/nasal/code.c:476
    #4  run (ctx=ctx@entry=0xddfb520) at
    /home/richard/Flightgear/simgear/simgear/nasal/code.c:664
    #5  0x00007ffff6b600c0 in naCall (ctx=ctx@entry=0xddfb520, func=...,
    argc=argc@entry=0, 
        args=0x0, obj=..., locals=...) at
    /home/richard/Flightgear/simgear/simgear/nasal/code.c:912
    #6  0x00007ffff6b60360 in naCallMethodCtx (ctx=0xddfb520, code=..., self=...,
    argc=0, 
        args=<optimised out>, locals=...)
        at /home/richard/Flightgear/simgear/simgear/nasal/code.c:983
    #7  0x0000000000a4b3f9 in callMethodWithContext (locals=..., args=0x0, argc=0,
    self=..., 
        code=..., ctx=0xddfb520, this=<optimised out>)
        at /home/richard/Flightgear/flightgear/src/Scripting/NasalSys.cxx:265
    #8  FGNasalSys::callWithContext (this=<optimised out>, ctx=0xddfb520, code=...,
    argc=0, 
        args=0x0, locals=...) at
    /home/richard/Flightgear/flightgear/src/Scripting/NasalSys.cxx:248
    #9  0x0000000000a4ce42 in FGNasalSys::createModule (this=this@entry=0x9efe510, 
        moduleName=0xf8c7f68 "__dlg:gps", fileName=<optimised out>, 
        src=src@entry=0xf9a2480 "\n\n        if
    (!defined(\"_gps_dialog_search_results\")) {\n", ' ' <repeats 12 times>,
    "globals._gps_dialog_search_results = [];\n        }\n", ' ' <repeats 12 times>,
    "\n\t\tvar gps = props.globals.getNode(\"/instrumentation/gps/\",
    1);\n\t\tvar"..., len=4635, 
        cmdarg=cmdarg@entry=0xf98b070, argc=argc@entry=0, args=args@entry=0x0)
        at /home/richard/Flightgear/flightgear/src/Scripting/NasalSys.cxx:1173
    #10 0x00000000007b0e7b in FGPUIDialog::FGPUIDialog (this=0xf9460e0,
    props=0xf98b070)
        at /home/richard/Flightgear/flightgear/src/GUI/FGPUIDialog.cxx:674
    #11 0x00000000007c4f9b in NewGUI::showDialog (this=this@entry=0x19b5390,
    name=...)
        at /home/richard/Flightgear/flightgear/src/GUI/new_gui.cxx:199
    #12 0x0000000000632959 in do_dialog_show (arg=0x1966120)
        at /home/richard/Flightgear/flightgear/src/Main/fg_commands.cxx:935
    #13 0x00007ffff6bac1db in SGBinding::innerFire (this=0x1966300)
        at /home/richard/Flightgear/simgear/simgear/structure/SGBinding.cxx:92
    #14 0x00007ffff6bacef9 in SGBinding::fire (this=<optimised out>)
    ---Type <return> to continue, or q <return> to quit---
        at /home/richard/Flightgear/simgear/simgear/structure/SGBinding.cxx:79
    #15 0x00000000007be842 in FGPUIMenuBar::fireItem (this=0x17fb0a0,
    item=<optimised out>)
        at /home/richard/Flightgear/flightgear/src/GUI/FGPUIMenuBar.cxx:141
    #16 0x00007ffff4bb7bc9 in puOneShot::doHit(int, int, int, int) () from
    /usr/lib/libplibpu.so.1
    #17 0x00007ffff4bb73ad in puObject::checkHit(int, int, int, int) () from
    /usr/lib/libplibpu.so.1
    #18 0x00007ffff4bb80be in puPopupMenu::checkHit(int, int, int, int) ()
       from /usr/lib/libplibpu.so.1
    #19 0x00007ffff4bb3f37 in puGroup::checkHit(int, int, int, int) () from
    /usr/lib/libplibpu.so.1
    #20 0x00007ffff4bb3f37 in puGroup::checkHit(int, int, int, int) () from
    /usr/lib/libplibpu.so.1
    #21 0x00007ffff4bb1084 in puMouse(int, int, int, int) () from
    /usr/lib/libplibpu.so.1
    #22 0x00000000007fa66c in FGMouseInput::doMouseClick (this=0x1a0cbb0,
    b=b@entry=0, updown=1, 
        x=x@entry=365, y=y@entry=210, mainWindow=mainWindow@entry=true,
    ea=ea@entry=0xf83b980)
        at /home/richard/Flightgear/flightgear/src/Input/FGMouseInput.cxx:604
    #23 0x00000000007fa739 in mouseClickHandler (button=button@entry=0,
    updown=<optimised out>, 
        x=x@entry=365, y=y@entry=210, mainWindow=mainWindow@entry=true,
    ea=ea@entry=0xf83b980)
        at /home/richard/Flightgear/flightgear/src/Input/FGMouseInput.cxx:357
    #24 0x0000000000bca73e in flightgear::FGEventHandler::handle (this=<optimised
    out>, ea=..., 
        us=...) at
    /home/richard/Flightgear/flightgear/src/Viewer/FGEventHandler.cxx:242
    #25 0x00007ffff5eff737 in osgViewer::Viewer::eventTraversal() () from
    /usr/lib/libosgViewer.so.99
    #26 0x00007ffff5f00ed9 in osgViewer::ViewerBase::frame(double) ()
       from /usr/lib/libosgViewer.so.99
    #27 0x0000000000bd05aa in fgOSMainLoop ()
        at /home/richard/Flightgear/flightgear/src/Viewer/fg_os_osgviewer.cxx:335
    #28 0x000000000065602f in fgMainInit (argc=21, argv=0x7fffffffddb8)
        at /home/richard/Flightgear/flightgear/src/Main/main.cxx:506
    #29 0x0000000000622846 in main (argc=21, argv=0x7fffffffddb8)
        at /home/richard/Flightgear/flightgear/src/Main/bootstrap.cxx:234
    
     
  • Raymond A. St. Marie

    This situation still exists but slightly different on 3.6 win nightly FULL from July 21.

    The crash used to come when deleting a waypoint in RM and then opening the GPS dialog. Now the dialog opens, no problem but the sim crashes when you "NEXT" past the deleted waypoint.

     
  • James Turner

    James Turner - 2018-09-27
    • labels: --> Routemanager
    • status: New --> Fixed
    • assigned_to: James Turner
     

Log in to post a comment.

MongoDB Logo MongoDB