MantisBT - VCMI
View Issue Details
0002912VCMIGUI - PreGamepublic2018-03-08 05:262023-10-10 13:48
Povelitel 
Povelitel 
normalcrashalways
closedfixed 
0.99 
1.next 
0002912: looks like deserealization - can't loading saves
Twisted saves on an autoSkip, and then crashed, began to load the last, does not load, checked everything - the same thing
BinaryDeserializer.cpp

return size;

> VCMI_lib.dll!CLoadFile::read(void * data, unsigned int size)Строка 32 C++ Символы загружены.
     [Внедренный фрейм] VCAI.dll!BinaryDeserializer::load(unsigned int &)Строка 194 C++ Символы загружены.
     VCAI.dll!BinaryDeserializer::load<CGObjectInstance const * __ptr64,0>(const CGObjectInstance * & data)Строка 288 C++ Символы загружены.
     VCAI.dll!BinaryDeserializer::load<CGObjectInstance const * __ptr64>(std::set<CGObjectInstance const *,std::less<CGObjectInstance const *>,std::allocator<CGObjectInstance const *> > & data)Строка 414 C++ Символы загружены.
     [Внедренный фрейм] VCAI.dll!BinaryDeserializer::operator&(std::set<CGObjectInstance const *,std::less<CGObjectInstance const *>,std::allocator<CGObjectInstance const *> > &)Строка 185 C++ Символы загружены.
     VCAI.dll!VCAI::serializeInternal<BinaryDeserializer>(BinaryDeserializer & h, const int version)Строка 402 C++ Символы загружены.
     VCAI.dll!VCAI::loadGame(BinaryDeserializer & h, const int version)Строка 704 C++ Символы загружены.
     VCMI_client.exe!CClient::serialize(BinaryDeserializer & h, const int version, const std::set<PlayerColor,std::less<PlayerColor>,std::allocator<PlayerColor> > & playerIDs)Строка 639 C++ Символы загружены.
     VCMI_client.exe!CClient::loadGame(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & fname, const bool server, const std::vector<int,std::allocator<int> > & humanplayerindices, const int loadNumPlayers, int player_, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & ipaddr, const unsigned short port)Строка 355 C++ Символы загружены.
     VCMI_client.exe!startGame(StartInfo * options, CConnection * serv)Строка 1408 C++ Символы загружены.
No tags attached.
related to 0002942closed Nullkiller Crash happened on AI turn 
rar deserealization.rar (1,314,621) 2018-03-08 05:26
https://bugs.vcmi.eu/file_download.php?file_id=2874&type=bug
? Highland. Play two to three weeks on this map .h3m (130,896) 2021-01-29 14:13
https://bugs.vcmi.eu/file_download.php?file_id=3113&type=bug
Issue History
2018-03-08 05:26PovelitelNew Issue
2018-03-08 05:26PovelitelFile Added: deserealization.rar
2018-03-20 21:46PovelitelAdditional Information Updatedbug_revision_view_page.php?rev_id=3481#r3481
2018-03-20 21:50PovelitelSummarylooks like deserealization => looks like deserealization - can't loading saves
2018-03-31 11:49PovelitelRelationship addedrelated to 0002942
2021-01-29 14:13PovelitelFile Added: Highland. Play two to three weeks on this map .h3m
2021-01-29 14:14PovelitelNote Added: 0007989
2021-01-30 10:06MikeLodzNote Added: 0007990
2023-09-17 09:00PovelitelNote Added: 0008698
2023-09-17 09:00PovelitelStatusnew => resolved
2023-09-17 09:00PovelitelFixed in Version => 1.next
2023-09-17 09:00PovelitelResolutionopen => fixed
2023-09-17 09:00PovelitelAssigned To => Povelitel
2023-10-10 13:48PovelitelNote Added: 0008816
2023-10-10 13:48PovelitelStatusresolved => closed

Notes
(0007989)
Povelitel   
2021-01-29 14:14   
Added a map where a bug with damage to saves appears very often.
(It usually takes two weeks for it to occur)
(0007990)
MikeLodz   
2021-01-30 10:06   
Note copied from Slack:
{Dmitry} 11:14 PM
It's about std::set<const CGObjectInstance *> reservedObjs; //to be visited by specific hero deserialization from VCAI: h & reservedObjs;
int CLoadFile::read(void * data, unsigned size)
{
    sfile->read((char*)data,size);<-- crash
    return size; <-- size == 4
}
There's a hope, that AI-department already fixed similar issue in the own branch and could clarify this situation ) (edited)
(0008698)
Povelitel   
2023-09-17 09:00   
Fixed long time ago
(0008816)
Povelitel   
2023-10-10 13:48   
no longer relevant