Menu

#2230 SIGSEGV in FGReplay::update(double)

None
New
Low
2021-12-15
2020-05-02
No

I haven't flown the MiG-15 update I'm working on for a while, and now -next crashes with it:
https://gitlab.com/mdanil/MiG-15/-/tree/feature/instrumentation

#0  0x0000555555c26c38 in FGReplay::update(double) ()
#1  0x00005555565768ba in SGSubsystemGroup::Member::update(double) ()
#2  0x000055555657b76e in SGSubsystemGroup::update(double) ()
#3  0x0000555556572383 in SGSubsystemMgr::update(double) ()
#4  0x000055555630dd4b in fgMainLoop() ()
#5  0x0000555556276d69 in fgOSMainLoop() ()
#6  0x0000555556313a7d in fgMainInit(int, char**) ()
#7  0x0000555555b7e15b in main ()

Replay settings in .fgfsrc:

--prop:/sim/replay/buffer/high-res-time=60.0
--prop:/sim/replay/buffer/medium-res-time=600.0
--prop:/sim/replay/buffer/medium-res-sample-dt=0.1
--prop:/sim/replay/buffer/low-res-time=605.0
--prop:/sim/replay/buffer/low-res-sample-dt=5.0
1 Attachments

Discussion

  • Anonymous

    Anonymous - 2020-05-02
     
  • Anonymous

    Anonymous - 2020-05-03

    Most likely caused by commit
    d4b1e42b8 2020-03-25 Fix playback duration during replay [Lars Toenning]

     
  • Anonymous

    Anonymous - 2020-05-03

    I think there is a mismatch between what is declared first (/sim/replay/duration-act) and what is used in update() (/sim/replay/duration), but I am not sure which is right.

     
  • Anonymous

    Anonymous - 2020-05-03

    Please close this one: reverting the commit does not help, and the crash seems to spontaneously disappear and reappear; somehow it has only happened in multiplayer. Something else must be corrupting replay system just by chance.

     
  • James Turner

    James Turner - 2020-05-04
    • status: New --> Invalid
     
  • Anonymous

    Anonymous - 2020-05-10

    Sorry, I forgot I had my revert commit still on. So indeed that commit I mentioned before does cause this crash.

     
  • Anonymous

    Anonymous - 2020-05-10

    (Deleted. Sorry, this one was false info again because I'm not only blind but also stupid asf.)

     

    Last edit: Anonymous 2020-05-10
  • James Turner

    James Turner - 2020-05-10
    • status: Invalid --> NeedInfo
    • assigned_to: James Turner
     
  • James Turner

    James Turner - 2020-05-12

    Tried to reproduce this just now, but I don't see it: do I need to use those arguments, or fly for a longer period of time before activating replay?

     
  • Anonymous

    Anonymous - 2020-05-12

    Strangely, neither can I now -- I'd been sitting for several hours last weekend waiting for it to happen. But it happened a few times in a row back when I found it the weekend before that.

    I will try to wait some more, maybe it's ok to re-close it if it never happens again.

     
  • Anonymous

    Anonymous - 2020-05-12

    No activating the replay: the few times the crash happened was when taxiing / shortly after take-off in MiG-15, on MP with an ATC and some other planes in the area. That's what makes it especially confusing.

     
  • James Turner

    James Turner - 2020-05-12

    Just to make sure: you did not open the reply window, or activate it, at all, in the times where the crash occurred? That is very strange.

     
  • Anonymous

    Anonymous - 2020-05-12

    Yes, not at all. There's a chance something in the MiG-15's Nasal-spaghetti, that I've only began sorting out and replacing, is abusing replay system -- I will look for it.

     
  • Anonymous

    Anonymous - 2020-05-12

    Checked, the only thing MiG-15's Nasals do is a few getprop() and one setlistener() on "sim/replay/replay-state", that must not be the reason either.

     
  • xDraconian

    xDraconian - 2020-08-06
    • labels: --> SIGSEGV, Replay
     
  • Anonymous

    Anonymous - 2020-10-22
    • status: NeedInfo --> Invalid
     
  • Anonymous

    Anonymous - 2020-10-22

    Closing this one for now, because I haven't ever had it again all this time. Possibly caused by GDB stopping on normally non-fatal signals, like one of the other bugs I had filed at the time.

     
  • Anonymous

    Anonymous - 2021-08-29
    • summary: SIGSEGV in replay --> SIGSEGV in FGReplay::update(double)
    • status: Invalid --> New
    • Attachments has changed:

    Diff:

    --- old
    +++ new
    @@ -0,0 +1 @@
    +replaycrash.log (21.3 kB; text/x-log)
    
     
  • Anonymous

    Anonymous - 2021-08-29

    It turns out the crash is legit but very very rare, and the misconfig of GDB was just a red herring.

    Recently I had 2020.3 crash when loading a replay tape (with a different aircraft), with the same backtrace (see attachment). It is not possible to check 2020.4 because it seems that the tape format has changed.

    It seems to be as old as 2016: https://bugzilla.redhat.com/show_bug.cgi?id=1305676

     

    Last edit: Anonymous 2021-08-29
  • Julian Smith

    Julian Smith - 2021-08-29

    The intention was for 2020.4 to be able to load old tapes; could you make the tape file available?

    Thanks,

    • Jules
     
  • Anonymous

    Anonymous - 2021-12-15

    Sorry I somehow did not see the message, I will get back to this on the weekend.

     

Log in to post a comment.

MongoDB Logo MongoDB