Linux 64-bit golemancy level 2 skill crashes the game

Discussion in 'Bugs' started by sogfelt, Dec 5, 2011.

  1. sogfelt

    sogfelt Member

    1.0.7 + patched binaries + xml case fix

    Casting golemancy level 2 "animate moustache" crashes the game with this error message:

    Dredmor-amd64: /home/nvining/dredmor/monster.cpp:400: Monster::Monster(monDBEntry*): Assertion `(entry->level - curLevel->number < 4) || entry->name == "Brax"' failed.

    Golemancy level 5 also crash the game with the same error.
     
  2. Dimitri

    Dimitri Member

  3. sogfelt

    sogfelt Member

    It looks like but is not, as I mentioned at the beginning of my message I have the fixed binaries and the xml case patch applied. Just to be sure I reinstalled from the .deb and applied the package from the post you linked and I was able to reproduce the bug 100% of the time.

    A quick diff between the original monDB.xml and the case fixed one shows no change for the animate mustache or the whole mustache golem section.

    Can someone else confirm this bug ?
     
  4. xolotl

    xolotl Member

    Yeah, I just built up a char with Golemancy, and the level 2 skill does, in fact, crash my client as well. I too have the case-sensitivity patch applied (I did, after all, produce it. :) ) - and my other character is currently slashing her way through the dungeon level 6, so the game seems to otherwise work just fine.
     
  5. Dimitri

    Dimitri Member

    Oops, sorry, didn't read that part.

    I have played with a golemancer & didn't have any problems summoning mustachoids. Hadn't applied the "hotfix" patch at the time, though. Same setup otherwise: Linux (debian) 64-bit, v1.0.7.

    Assuming 'entry' refers to a entry in the monster database & curLevel to the dungeon's level, it looks like the (entry->level - curLevel->number < 4) assertion means the monster's level is at most 3 units higher than the level.

    Animate Mustache has no defined level in MonDB.xml (unless it inherits the parent moster's level of 7)
    Perhaps you could try explicitly setting it to 1?
     
  6. aquamarine

    aquamarine Member

    I don't know if this is related but I am getting a crash when trying to summon the wyrmling from the pyromancer skill tree. I have also updated the Humble Bundle build with the two patches.
     
  7. sogfelt

    sogfelt Member

    @dimitri: don't worry, it's no big deal and it does produce a similar error message.


    Just to be sure I just reinstalled and tried it without applying any patch and both summoning mustache and robot work. I added the case fix: still works. It seems to have been introduced by the fixed binaries somehow.
     
  8. Dimitri

    Dimitri Member

    Just created a character expressly to test this hypothesis (and verify that the bug was introduced in Nicholas' patch).
    And yes: Changing the line (#992)
    Code:
    <monster name="Animate Mustache" displayName="Mustache Golem" special="1"> 
    to
    Code:
    <monster name="Animate Mustache" displayName="Mustache Golem" special="1" level="3"> 
    in monDB.xml solves the problem for the Mustache.

    I suppose the same fix shoud work for the Wyrmling & other creatures.
    I am too lazy right now to go through all the summonables, though.
     
  9. sogfelt

    sogfelt Member

    It works for the mustache because there was no level specified, but wyrmling has level 8 and mortal machine hes level 9 specified. Summoning those on the earlier levels would crash the game.

    I'm gonna try to downgrade them to level 3 ans see if this modification renders the summoned mob useless or not.

    -edit- it doesn't seem to nerf the mortal machine but I now experience some random segmentation fault crash (while walking around the dungeon not doing anything specific).
     
  10. Dimitri

    Dimitri Member

    I think Animate Mustache inherits Grandpa Mustache's level of 7 if not specified.

    I haven't had any problems in a while... is an earlier bug reappearing?
     
  11. sogfelt

    sogfelt Member

    It seems to be related to this crash report: http://community.gaslampgames.com/t...-10-major-instabililty.1311/page-5#post-12134
    I'll try to reach level 3 or 4 just to be sure.

    Happens also on level 3 here. I tried running DoD with the debug flag parameter and I noticed that when it crashes these are the last things to happen:

    Code:
    Wrote activated = 1
    Wrote activated = 0
    Wrote activated = 1
    Wrote activated = 0
    Wrote activated = 1
    Wrote activated = 0
    Wrote activated = 0
    [1] 4480 segmentation fault ./Dredmor --debug-flag
     
  12. Dimitri

    Dimitri Member

    Backtrace?
     
  13. sogfelt

    sogfelt Member

    It's been a while since I've done any backtrace.Right now gdb complains about not finding the debugging symbols:

    Reading symbols from /opt/dredmor/Dredmor-amd64...(no debugging symbols found)...done.

    Can you point me to a tutorial for running a backtrace on DoD using debian ?
     
  14. Dimitri

    Dimitri Member

    Backtracing with GDB:
    • Install gdb: apt-get install gdb
    • go to your dredmor installation dir, in my case /opt/dredmor
    • run
      Code:
      LD_LIBRARY_PATH=./amd64 gdb ./Dredmor-amd64
    • enter "run" in gdb console -> game starts
    • You'll probably want windowed mode, or you may not be able to switch back to console when the game crashes
    • Wait for crash
    • enter "backtrace" (or just "bt") into gdb console -> get backtrace!
    • Post the results here
    Edit: above change ./amd64 and ./Dredmor-amd64 for ./x86 and ./Dredmor-x86, resp., if you are on 32-bit linux.
     
  15. sogfelt

    sogfelt Member

    Here's a first backtrace:
    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000549f45 in DirectorTick() ()

    A second one is identical to the first.

    The full backtrace data is on pastebin: http://pastebin.com/0X4Y98RQ
     
  16. Dimitri

    Dimitri Member

  17. sogfelt

    sogfelt Member

    With all the testing I can't tell which version this save comes from. It's possible it's been created with binaries from before the hotfix, but for sure it has been played with both before and after hotfix binaries.

    I'll start a new one and see if this fixes that, it shouldn't be long. Stay tuned.
     
  18. sogfelt

    sogfelt Member

    it took longer than expected because i ran into a large monster zoo on level 2 but I have now cleared the two first levels with no crash to report. My savegame probably carried some corruption due to the testing I did, or maybe an erratic bug causes some games to randomly crash but I tend towards the former.