MantisBT - VCMI
View Issue Details
0000938VCMIAI - Adventure Mappublic2012-04-19 10:082012-05-19 00:42
q4a 
Tow 
normalcrashalways
closedduplicate 
x86WindowsXP SP3
 
 
0000938: Crash on AI turn
Tested on r2634 with attached save game (homm3 map "Unholy Quest").
You can see crash error on attached image.
VS point the failed assertion to:
E:\prog\vs10exp\VC\crt\src\crt0msg.c:217
    case 1: _CrtDbgBreak(); msgshown = 1; break;

Call stack:
> msvcr100d.dll!_NMSG_WRITE(int rterrnum) Line 217 C
     msvcr100d.dll!abort() Line 61 + 0x7 bytes C
     msvcr100d.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 153 C
     VCAI.dll!VCAI::moveHeroToTile(int3 dst, const CGHeroInstance * h) Line 1419 + 0x9a bytes C++
     VCAI.dll!VCAI::tryRealize(CGoal g) Line 1547 + 0x43 bytes C++
     VCAI.dll!VCAI::striveToGoal(const CGoal & ultimateGoal) Line 1732 C++
     VCAI.dll!VCAI::makeTurnInternal() Line 962 + 0x32 bytes C++
     VCAI.dll!VCAI::makeTurn() Line 947 C++
     VCAI.dll!boost::_mfi::mf0<void,VCAI>::operator()(VCAI * p) Line 49 + 0x12 bytes C++
     VCAI.dll!boost::_bi::list1<boost::_bi::value<VCAI *> >::operator()<boost::_mfi::mf0<void,VCAI>,boost::_bi::list0>(boost::_bi::type<void> __formal, boost::_mfi::mf0<void,VCAI> & f, boost::_bi::list0 & a, boost::_bi::type<void> __formal) Line 254 C++
     VCAI.dll!boost::_bi::bind_t<void,boost::_mfi::mf0<void,VCAI>,boost::_bi::list1<boost::_bi::value<VCAI *> > >::operator()() Line 21 C++
     VCAI.dll!boost::detail::thread_data<boost::_bi::bind_t<void,boost::_mfi::mf0<void,VCAI>,boost::_bi::list1<boost::_bi::value<VCAI *> > > >::run() Line 62 C++
     VCAI.dll!boost::`anonymous namespace'::thread_start_function(void * param) Line 177 C++
     msvcr100d.dll!_callthreadstartex() Line 314 + 0xf bytes C
     msvcr100d.dll!_threadstartex(void * ptd) Line 297 C
     kernel32.dll!7c80b729()
     [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
Load attached save game (homm3 map "Unholy Quest")
Click "End Turn".
Crash happen on AI turn.
Log files attached. Console output:
CStupidAI [0E415958]: actionFinished called
CStupidAI [0E415958]: battleEnd called
Warning: an orphaned child!
Warning: empty path found...
System message: Game has been saved as q16
const struct TerrainTile *__thiscall CGameInfoCallback::getTile(class int3,bool)
 const: -1 -1 -1 is not visible!
Player 0 starting turn
        Striving to goal of type 0
                Considering goal WIN
                Considering goal CONQUER
                Considering goal EXPLORE
                Time of looking for best exploration neighbour was 32 ms.
Looking for an another place for exploration...
                Time of looking for new exploration point was 7375 ms.
                Considering goal VISIT TILE
        Attempting realizing goal with code VISIT TILE
Assertion failed: cb->getVisitableObjs(dst).size() > 1, file e:\game\vcmi\ai\vca
i\vcai.cpp, line 1419
No tags attached.
has duplicate 0000957closed Tow Assertion failure in AI 
7z save.7z (121,467) 2012-04-19 10:08
https://bugs.vcmi.eu/file_download.php?file_id=912&type=bug
7z log.7z (22,080) 2012-04-19 10:08
https://bugs.vcmi.eu/file_download.php?file_id=913&type=bug
png e1.png (22,726) 2012-04-19 10:09
https://bugs.vcmi.eu/file_download.php?file_id=914&type=bug
png
Issue History
2012-04-19 10:08q4aNew Issue
2012-04-19 10:08q4aFile Added: save.7z
2012-04-19 10:08q4aFile Added: log.7z
2012-04-19 10:09q4aFile Added: e1.png
2012-05-07 17:34WarmongerNote Added: 0002410
2012-05-07 17:35WarmongerStatusnew => confirmed
2012-05-07 17:35WarmongerCategoryOther => AI - Adventure Map
2012-05-16 13:50WarmongerRelationship addedhas duplicate 0000957
2012-05-19 00:42TowNote Added: 0002498
2012-05-19 00:42TowStatusconfirmed => closed
2012-05-19 00:42TowAssigned To => Tow
2012-05-19 00:42TowResolutionopen => duplicate

Notes
(0002410)
Warmonger   
2012-05-07 17:34   
Happened before, happens also now after my modifications to AI aimed at this bug. It's still quite rare, though.
(0002498)
Tow   
2012-05-19 00:42   
Duplicate of 0000957.
(Actually 0000957 is duplicate but what's the difference...)
Should be fixed in r2692 / r2693.