Beta builds crashing
#31
lol ok, thanks!

Also, just fyi...my build environment updated, and now it can't find the lib it needs for address sanitizing. I'm assuming another package needs to be updated that hasn't been yet, so when it happens, I'll try again.
Reply
#32
When the client killed the thief bot, the game crashed:

Code:
#0  0x00007ffff6381528 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff638293a in abort () from /usr/lib/libc.so.6
#2  0x00007ffff6c99b3d in __gnu_cxx::__verbose_terminate_handler ()
    at /build/gcc-multilib/src/gcc-5-20150519/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007ffff6c97996 in __cxxabiv1::__terminate (handler=<optimized out>)
    at /build/gcc-multilib/src/gcc-5-20150519/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007ffff6c979e1 in std::terminate ()
    at /build/gcc-multilib/src/gcc-5-20150519/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007ffff6c97bf8 in __cxxabiv1::__cxa_throw (obj=0x27891f0,
    tinfo=0x4fc360 <typeinfo for valbaseptridxutil_t<object, short>::index_range_exception>,
    dest=0x41f550 <valbaseptridxutil_t<object, short>::index_range_exception::~index_range_exception()>)
    at /build/gcc-multilib/src/gcc-5-20150519/libstdc++-v3/libsupc++/eh_throw.cc:87
#6  0x0000000000406743 in valbaseptridxutil_t<object, short>::report_index_range_exception (array_base=<optimized out>, array_size=array_size@entry=350,
    supplied_index=<optimized out>) at common/include/valptridx.h:163
#7  0x0000000000498209 in check_index_range<object_array_t> (
    s=<optimized out>, a=...) at common/include/valptridx.h:135
---Type <return> to continue, or q <return> to quit---
#8  vvalptr_t<object_array_t> (i=<optimized out>, a=..., this=<optimized out>)
    at common/include/valptridx.h:540
#9  valptridx_template_t (s=<optimized out>, this=<optimized out>)
    at common/include/valptridx.h:471
#10 vobjptridx_t (this=<optimized out>) at common/main/object.h:426
#11 multi_do_kill (buf=buf@entry=0x7fffffffe2c6 "+\001\377\377\377")
    at similar/main/multi.cpp:1788
#12 0x0000000000498db8 in multi_process_data (type=<optimized out>,
    buf=0x7fffffffe2c6 "+\001\377\377\377", pnum=1)
    at similar/main/multi.cpp:5270
#13 multi_process_bigdata (pnum=pnum@entry=1,
    buf=buf@entry=0x7fffffffe2c6 "+\001\377\377\377", len=len@entry=5)
    at similar/main/multi.cpp:2343
#14 0x00000000004ebe97 in net_udp_process_mdata (
    data=data@entry=0x7fffffffe2c0 "\022\001\355\001",
    data_len=data_len@entry=11, sender_addr=..., needack=needack@entry=1)
    at similar/main/net_udp.cpp:5026
#15 0x00000000004ec213 in net_udp_process_packet (
    data=data@entry=0x7fffffffe2c0 "\022\001\355\001", sender_addr=...,
    length=<optimized out>) at similar/main/net_udp.cpp:2930
#16 0x00000000004ed66d in net_udp_listen () at similar/main/net_udp.cpp:4427
#17 0x00000000004ef0d0 in net_udp_do_frame (force=<optimized out>, listen=1)
    at similar/main/net_udp.cpp:4589
---Type <return> to continue, or q <return> to quit---
#18 0x000000000049181d in multi_do_frame () at similar/main/multi.cpp:895
#19 0x0000000000455542 in GameProcessFrame () at similar/main/game.cpp:1288
#20 game_handler (event=...) at similar/main/game.cpp:1121
#21 0x0000000000410b70 in window_send_event (wind=..., event=...)
    at common/arch/sdl/window.cpp:206
#22 0x00000000004267f3 in event_process () at similar/arch/sdl/event.cpp:153
#23 0x00000000004092f3 in main (argc=<optimized out>, argv=<optimized out>)
    at similar/main/inferno.cpp:548
Reply
#33
Variable killer==-1, but multi_compute_kill does not allow that.  I will need to investigate to see whether the bug is that the client sent killer==-1 or that the recipient tried to process it.  It looks like multi_compute_kill was only supposed to be used for killing players.  Did the thief's death roll kill anyone?
Reply
#34
Yeah. Blarget said it was far enough away that it shouldn't have, but it did.
Reply
#35
In 0.58.1, multi_compute_kill raised an Int3 (which was ignored) if an invalid killer was passed.  From that, I expected that invalid killers were never used.  I pushed Allow object_none as killer in multi_compute_kill to prevent the crash.  Please get him killed by a thief explosion again to test. Smile
Reply
#36
Just went through and added [FIXED] tags to all the crashes that have been fixed.

I haven't tested the last one yet, so I haven't added anything to it.

In the future, I'm going to post these on github issues so that they'll be easier to mark as fixed Smile

kp: Check to be sure that I didn't miss anything, that all the ones I marked have, in fact, been fixed please.
Reply
#37
The crash in object_to_object_visibility was replaced with a verbose print statement reporting that something unexpected happened.  I would like to know what triggers that, but otherwise it looks like all the posts you marked as fixed have a corresponding reply from me stating that I made a change to fix the issue.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)