Linux 32-bit Segfault in the middle of a turn

Discussion in 'Bugs' started by Nomikos, May 8, 2013.

  1. Nomikos

    Nomikos Member

    I'm using the Steam version, opted in to the beta. OS is Arch Linux on AMD64, kernel 3.8.8. Using the 32-bit Dredmor executable.

    I have a character using Squid Bolts to clear out a monster zoo, so the turns get fairly long with lots of splat sounds, monsters dying, and general chaos. Unfortunately it consistently segfaults in the middle of showing all the damage caused by the squid area; it'll get partway through animating the crowd of monsters taking damage (left to right usually, it seems), then crash. Sometimes this happens on the first turn, sometimes it can get through a few turns before crashing.

    I ran this in GDB and reproduced the crash. Props to you guys for including the debugging symbols :). I hope this info is useful.
    Code:
    (using executable Dredmor-x86 with md5sum ad011a8ffc7cebabc7aaf65beda6993c)
     
    Dredmor-x86: /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/level.h:155: Square& Level::Squares(int, int): Assertion `tileX >= 0 && tileX <= width && tileY >= 0 && tileY <= height' failed.
     
    Program received signal SIGABRT, Aborted.
    0xf7fdb425 in __kernel_vsyscall ()
    (gdb) bt
    #0  0xf7fdb425 in __kernel_vsyscall ()
    #1  0xf7b775c6 in raise () from /usr/lib32/libc.so.6
    #2  0xf7b78d53 in abort () from /usr/lib32/libc.so.6
    #3  0xf7b705d7 in __assert_fail_base () from /usr/lib32/libc.so.6
    #4  0xf7b70687 in __assert_fail () from /usr/lib32/libc.so.6
    #5  0x08079e44 in Level::Squares (this=0x18cbe220, tileX=-1, tileY=1)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/level.h:155
    #6  0x0812129d in ApplyEffectAt (spell=0xb3bf348, srcX=-1, srcY=1, caster=0x196b2170, isMineEffect=false, targetItem=
        0x0, overrideText=0x0, allowHaywire=true) at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/spells.cpp:2598
    #7  0x0812629d in DoActualSpellLoop (spell=0xb3bf348, srcX=39, srcY=15, targetX=0, targetY=0, caster=0x196b2170,
        override=0x0, allowHaywire=1) at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/spells.cpp:3985
    #8  0x080b76f0 in Hittable::UpdateTriggers (this=0x171c2048)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/hittable.cpp:451
    #9  0x081891e1 in Monster::Update (this=0x171c2048)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/monster.cpp:1914
    #10 0x08077550 in GameTick () at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/game.cpp:499
    #11 0x08118089 in PlayerSpellCast (effect=20) at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/spells.cpp:279
    #12 0x081de43d in DoSpellCastClick (mouseX=1225, mouseY=616)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/playerinput.cpp:938
    #13 0x081dfe2f in HandleMouseClick (mouseX=1225, mouseY=616, clickedRMask=1)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/playerinput.cpp:1432
    #14 0x081e34ac in ParsePlayerInput () at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/playerinput.cpp:2551
    #15 0x0814c9c9 in Mainloop () at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/main.cpp:668
    #16 0x0814e4af in PlayGameWithLoadFilename (sf=...)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/main.cpp:1369
    #17 0x0814e1a5 in main (argc=1, argv=0xffffd544)
        at /var/lib/jenkins/jobs/Dredmor_Linux_RELEASE/workspace/main.cpp:1265
    
     
  2. Daynab

    Daynab Community Moderator Staff Member

    We'll look into it. Thanks for your report!