[Hexen] Crashes when using Dungeon Key.

edited 2012 Jun 27 in Technical Support
Version 1.9.8 Builds 500 and 543 on Debian 64-bit (using the Ubuntu packages on the repository page), using the Dungeon Key to open the door in Gibbet causes the game to crash. Terminal only says "Segmentation Fault", so I'm not sure what else to do to find any more info.

Comments

  • Could you attach a savegame from the spot immediately in front of the door where the crash occurs? This would help a lot when debugging the issue.
  • Do you need all the save files in the directory or just hex0.hxs? I'm not familiar with how Hexen saves games.
  • In Hexen the save state is split into multiple files, the game state plus map states for each visited map in the current "hub". The game state is written to hex<slot-number>.hxs and the map state(s) to hex<slot-number><map-number>.hxs.

    A complete save state requires all the files for a given slot-number. For example, if you saved your game in slot #0 and have visited maps one and two, your save will be comprised of; hex0.hxs, hex001.hxs and hex002.hxs.
  • Ok, I think I got it. Saved game right in front of the dungeon door.
  • Excellent, I'm analyzing the crash now... It looks like an error with setting the door polyobj's destination angle. We'll see how it can be fixed.
  • On Windows, the door in question appears to work fine on both 1.9.8 (500) and the latest 1.9.9 unstable build (542), even when using the save game supplied.
  • Vermil wrote:
    On Windows, the door in question appears to work fine on both 1.9.8 (500) and the latest 1.9.9 unstable build (542), even when using the save game supplied.
    The crash occurs because of an illegal array index value. The Windows build is 32-bit, which means that the invalid memory offset in question (32-bit value -1, or 0xFFFFFFFF) actually lands on valid memory allocated to Doomsday, although it does go outside the bounds of the array it is supposed to be accessing.

    In a 64-bit build there is so much more addressable memory that when the 0xFFFFFFFF offset is applied, it goes far outside the memory allocated to Doomsday.
Sign In or Register to comment.