Menu

#3234 FW: crash in copier room

Future Wars
closed-fixed
5
2007-07-07
2007-06-08
bramvandijk
No

-Scummvm 0.10.0pre June 8,
-From the savegame, walk into the secret passage which has already been reveiled. Then look at the "numbered keypad", then thype in the code, by operating the numbers. The code is 40315. It is best to use F1 for examine, and F5 for operate, otherwise, you'll have to be very fast.
After entering the code Scummvm crashes. The console says: Segmentatiefout (core dumped)

reproducable: always,
except when in debugmode. When --debuglevel=1 or 2 the crash does not happen.

-The version and language are: DOS/English
-Compiled myself on linux, G++ 4.1.2
-This doesn't happen in the SVN version of May 29th.

Discussion

  • bramvandijk

    bramvandijk - 2007-06-08
     
  • bramvandijk

    bramvandijk - 2007-06-08

    glitch

     
  • bramvandijk

    bramvandijk - 2007-06-08

    Logged In: YES
    user_id=1451441
    Originator: YES

    Just played from the beginning, and now it didn't crash, still with the savegame it keeps on crashing in 0.10.0pre. This savegame works however in the snapshot from May 29th.

    Another thing is that when it does not crash, there is a strange graphical glitch, see the attached screenshot. A sprite is shown in the top left corner. Again, this does not happen in the SVN version of May 29th.
    File Added: scummvm00000.png

     
  • Eugene Sandulenko

    Logged In: YES
    user_id=166507
    Originator: NO

    Ah. That sprite glitch explains it. Apparently that save is pretty old and so-called incrustations do not get saved there. It was fixed quite long ago, but old saves are bad. We can do nothing with fixing them.

     
  • Eugene Sandulenko

    • summary: Future Wars crashes --> FW: crash in copier room
    • assigned_to: nobody --> sev
    • status: open --> closed-out-of-date
     
  • bramvandijk

    bramvandijk - 2007-06-08

    Logged In: YES
    user_id=1451441
    Originator: YES

    No, I just made this save today with 0.10.0pre of today. Furthermore, this same savegame works with the may 29th snapshot, without the glitch...

     
  • bramvandijk

    bramvandijk - 2007-06-08

    Logged In: YES
    user_id=1451441
    Originator: YES

    Furthermore, the glitch always happens with todays snapshot, unless it crashes. It also happened when I played from the beginning without saving.

     
  • Torbjörn Andersson

    • priority: 5 --> 9
    • assigned_to: sev --> cyx
    • status: closed-out-of-date --> open
     
  • Torbjörn Andersson

    Logged In: YES
    user_id=577918
    Originator: NO

    I don't know why, but it looks like drawSprites() is called with a pointer that was freed earlier by o1_unloadMask0().

    Furthermore, there's always an invalid read when the warning about the ceiling getting lower. Valgrind claims that drawOverlays() is accessing memory that was probably freed by drawDialogueMessage().

    I agree with bramvandijk that this is a regression. I haven't tried to figure out the exact commit that caused it.

     
  • bramvandijk

    bramvandijk - 2007-06-10

    Logged In: YES
    user_id=1451441
    Originator: YES

    found 2 other points where the sprite glitch happens... attaching screenshots.
    File Added: scummvm00000.png

     
  • bramvandijk

    bramvandijk - 2007-06-10
     
  • bramvandijk

    bramvandijk - 2007-06-10
     
  • bramvandijk

    bramvandijk - 2007-06-10

    Logged In: YES
    user_id=1451441
    Originator: YES

    Adding second screenshot.

    Had another crash at the end of the the 1304 period. I was teleported away with the girl, and then it crashed. With my last savegame it was not reporoducable, so I did not attach it.
    File Added: scummvm00001.png

     
  • Eugene Sandulenko

    Logged In: YES
    user_id=166507
    Originator: NO

    The problem is that I can not reproduce these patches probably because of different memory model in FreeBSD. I think making pointers NULL after releasing them in cyx's patch could help me with tracking this down.

     
  • Filippos Karapetis

    Logged In: YES
    user_id=991970
    Originator: NO

    I've added a workaround for this issue, which was caused by commit #27006. In object.cpp line 163 there was a commented out line, which freed the current list head and was uncommented, which caused the crash, like eriktorbjorn pointed out. I'm not sure why we would want to free the list head while the list is still being accessed, it looks very wrong to me.

    Removing this line stops the game from crashing right after the introduction for me (at drawOverlays()), and makes the copier room playable

    Lowering the priority of this bug

     
  • Filippos Karapetis

    • priority: 9 --> 5
     
  • bramvandijk

    bramvandijk - 2007-06-12

    Logged In: YES
    user_id=1451441
    Originator: YES

    Thanks, I'll this again when I get home...

     
  • bramvandijk

    bramvandijk - 2007-06-13

    Logged In: YES
    user_id=1451441
    Originator: YES

    This fixed it for me, it doesn't crash, and doesn't show the sprite anymore in the top-left corner

     
  • Filippos Karapetis

    Logged In: YES
    user_id=991970
    Originator: NO

    Is there any reason for keeping this bug report open? Those crashes no longer occur, so the issue itself is fixed, and the problematic line was commented out before the changes anyway

     
  • Eugene Sandulenko

    • status: open --> closed-fixed