That’s RoE, Song for the Father campaign, mission 2: United front.
Not reproducible for me after 3 tests so please copy this to bugtracker so it won’t be lost. I also noticed one weird detail that may be related - bonus stack may be given to a different heroes. Perhaps client gave it to one hero and server gave it to another?
Nobody of heroes had these elves during battles, but indeed this crash happened when I tried to replace units related to another hero, not those who had elves in inventory.
32767 is -1, which means invalid goal. It does exist, but should never be considered for execution. Need to reproduce it with debugger to tell how this happened.
Also, you may want to use English language version so hero names are displayed properly.
This, or logging system doesn’t work with another languages.
I have observed that AI often ends up in the corrupt state after loading the game. It is caused because AI stores goals using shared_ptr’s and serialzier doesn’t provide proper support for them.
Serializing two shared_ptr pointing to the same object won’t properly recreate their shared state and the object will be destructed after destruction of any of the pointers (the other one will be dangling and will cause crash on destruction).
PS.
I plan to release next development build tomorrow evening.
Another crash at the end of a mission. I suppose I had to kill all these dragons in the dungeons, the last one decided not to fight with me and the game crashed.
System message: Game has been saved as Saves/Autosave_2
removing object id=1672; address=140736086914016; name=Ìàëî Gold Dragons
Threat: Effortless
Error: server failed to close correctly or crashed!
Check /home/kroartem/.vcmi/server_log.txt for more info
Lost connection to server, ending listening thread!
read: End of file
Something wrong, lost connection while game is still ongoing...
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
what(): read: End of file
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffdd5f6700 (LWP 23527)]
0x00007ffff3febf77 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Нет такого файла или каталога.
(gdb) bt
#0 0x00007ffff3febf77 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff3fef5e8 in __GI_abort () at abort.c:90
#2 0x00007ffff48f76e5 in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff48f5856 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff48f5883 in std::terminate() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff48f5af6 in __cxa_rethrow ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00000000005bec25 in CClient::run (this=<optimized out>)
at /build/buildd/vcmi-0.94+svn3440~ubuntu13.10.1/client/Client.cpp:161
#7 0x00007ffff6ddb94a in ?? ()
from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.53.0
#8 0x00007ffff6bbaf6e in start_thread (arg=0x7fffdd5f6700)
at pthread_create.c:311
#9 0x00007ffff40af9cd in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb)
This is the mission where you need to kill all gold dragons? In this case - bug is already fixed, just wait for new build on launchpad. There was crashbug on defeating creature that is target of “destroy monster” condition.
Oh - and if game crashes with messages like these:
Error: server failed to close correctly or crashed!
Check /home/kroartem/.vcmi/server_log.txt for more info
Lost connection to server, ending listening thread!
read: End of file
Something wrong, lost connection while game is still ongoing...
Tail of server log is much more useful than output of gdb (here crash happens on server, not on client)