Notes |
|
|
Oh, that was just a first breakpoint hit, and 2035 is greater than 2028. It fails a bit further on 0 > 5 actually:
...
Looking into Death's Gate
Player 1 will build Upg. Cursed Temple in town of Death's Gate at 36 59 0
Looking into Isra, MP=1500
Isra will try to visit Subterranean Gate at (34 67 1)
[Switching to Thread 0xee354450 (LWP 16375)]
Breakpoint 1, CSerializer::getVectorItemFromId<CGObjectInstance> (this=0xea0818d4, oInfo=..., id=2028) at ../lib/Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
2035 > 2028
(gdb) c
Continuing.
Breakpoint 1, CSerializer::getVectorItemFromId<CGObjectInstance> (this=0xea0818d4, oInfo=..., id=1460) at ../lib/Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
2035 > 1460
(gdb) c
Continuing.
Found a pair of subterranean gates between 34 67 1 and 34 67 0!
...
Continuing.
Hero Isra moved from 34 67 0 to 38 65 0
Isra will try to visit Subterranean Gate at (34 67 0)
Hero Isra moved from 38 65 0 to 35 68 0
Hero Isra apparently used all MPs (0 left)
Looking into Xsi, MP=1500
Xsi will try to visit Seer's Hut at (31 64 0)
Breakpoint 1, CSerializer::getVectorItemFromId<CGObjectInstance> (this=0xea0818d4, oInfo=..., id=2031) at ../lib/Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
2035 > 2031
(gdb) c
Continuing.
Breakpoint 1, CSerializer::getVectorItemFromId<CGObjectInstance> (this=0xea0818d4, oInfo=..., id=1228) at ../lib/Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
2035 > 1228
(gdb) c
Continuing.
Breakpoint 1, CSerializer::getVectorItemFromId<CQuest> (this=0xea0818d4, oInfo=..., id=5) at Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
0 > 5
(gdb) c
Continuing.
vcmiclient: Connection.h:302: T* CSerializer::getVectorItemFromId(const VectorisedObjectInfo<T>&, ui32) const [with T = CQuest, ui32 = unsigned int]: Assertion `oInfo.vector->size() > id' failed.
Program received signal SIGABRT, Aborted.
0x0dda29ac in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. |
|
|
|
Does this error occur after first map launch, or only reload? |
|
|
|
> Does this error occur after first map launch, or only reload?
It is 6th turn, 1st week. Previous 5 turns have been finished w/o errors. Map itself is okay ;) |
|
|
(0002900)
|
douggie_m
|
2012-08-11 16:50
(edited on: 2012-08-11 16:56) |
|
Backtrace:
Breakpoint 1, CSerializer::getVectorItemFromId<CQuest> (this=0x11e84d94, oInfo=..., id=5) at Connection.h:302
302 assert(oInfo.vector->size() > id);
(gdb) printf "%d > %d\n", oInfo.vector->size(), id
0 > 5
(gdb) bt
#0 CSerializer::getVectorItemFromId<CQuest> (this=0x11e84d94, oInfo=..., id=5) at Connection.h:302
#1 0x0fa6eb48 in CISer<CConnection>::loadPointer<CQuest const*> (this=0x11e84cf0, data=@0x13cf2c80: 0x200020) at Connection.h:820
0000002 0x0fa536c4 in LoadPointer<CConnection, CQuest const*>::invoke (s=..., data=@0x13cf2c80: 0x200020) at Connection.h:156
0000003 0x0fa4865c in CISer<CConnection>::load<CQuest const*> (this=0x11e84cf0, data=@0x13cf2c80: 0x200020) at Connection.h:758
0000004 0x0fa3c2c0 in CISer<CConnection>::operator>><CQuest const*> (this=0x11e84cf0, t=@0x13cf2c80: 0x200020) at Connection.h:725
0000005 0x0fa2e400 in CISer<CConnection>::operator&<CQuest const*> (this=0x11e84cf0, t=@0x13cf2c80: 0x200020) at Connection.h:732
0000006 0x0fa1bea8 in QuestInfo::serialize<CISer<CConnection> > (this=0x13cf2c80, h=..., version=0) at CGameState.h:490
0000007 0x0fa82528 in CISer<CConnection>::loadSerializableBySerializeCall<QuestInfo> (this=0x11e84cf0, data=...) at Connection.h:783
0000008 0x0fa6c354 in CISer<CConnection>::loadSerializable<QuestInfo> (this=0x11e84cf0, data=...) at Connection.h:790
0000009 0x0fa52978 in LoadSerializable<CConnection, QuestInfo>::invoke (s=..., data=...) at Connection.h:180
0000010 0x0fa477e8 in CISer<CConnection>::load<QuestInfo> (this=0x11e84cf0, data=...) at Connection.h:758
0000011 0x0fa3b1fc in CISer<CConnection>::operator>><QuestInfo> (this=0x11e84cf0, t=...) at Connection.h:725
0000012 0x0fa2d464 in CISer<CConnection>::operator&<QuestInfo> (this=0x11e84cf0, t=...) at Connection.h:732
0000013 0x0fa16a3c in AddQuest::serialize<CISer<CConnection> > (this=0x13cf2c78, h=..., version=732) at NetPacks.h:563
0000014 0x0f9eb66c in CPointerLoader<CISer<CConnection>, AddQuest>::loadPtr (this=0x11dc4e68, ar=..., data=0xee353bec, pid=4294967295) at Connection.h:679
0000015 0x0fc30cc4 in CISer<CConnection>::loadPointerHlp<CPack*> (this=0x11e84cf0, tid=141, data=@0xee353bec: 0x13cf2c78, pid=4294967295) at Connection.h:867
0000016 0x0fc2dcbc in CISer<CConnection>::loadPointer<CPack*> (this=0x11e84cf0, data=@0xee353bec: 0x13cf2c78) at Connection.h:850
0000017 0x0fc2aa30 in LoadPointer<CConnection, CPack*>::invoke (s=..., data=@0xee353bec: 0x13cf2c78) at Connection.h:156
0000018 0x0fc26c58 in CISer<CConnection>::load<CPack*> (this=0x11e84cf0, data=@0xee353bec: 0x13cf2c78) at Connection.h:758
0000019 0x0fc2247c in CISer<CConnection>::operator>><CPack*> (this=0x11e84cf0, t=@0xee353bec: 0x13cf2c78) at Connection.h:725
0000020 0x0fc0fff8 in CConnection::retreivePack (this=0x11e84cf0) at Connection.cpp:241
0000021 0x10366f34 in CClient::run (this=0x11e809e0) at Client.cpp:142
0000022 0x1045bdac in boost::_mfi::mf0<void, CClient>::operator() (this=0x11dd00e4, p=0x11e809e0) at /usr/include/boost/bind/mem_fn_template.hpp:49
...
> Xsi will try to visit Seer's Hut at (31 64 0)
> AddQuest::serialize<CISer<CConnection> > (this=0x13cf2c78, h=..., version=732) at NetPacks.h:563
So it's obviously bound to: seer's hut quests and serialization ("new file system").
|
|
|
|
I think I found it, fixed in r2829. |
|
|
|
Looks like not:
Arlach will try to visit Seer's Hut at (31 64 0)
vcmiclient: Connection.h:302: T* CSerializer::getVectorItemFromId(const VectorisedObjectInfo<T>&, ui32) const [with T = CQuest, ui32 = unsigned int]: Assertion `oInfo.vector->size() > id' failed.
Aborted
I got that playing rev2829. With new game (save I uploaded was incompatible). Got it on 6th day again. |
|
|
|
Also, I'm randomly getting "double free or corruption ":
*** glibc detected *** vcmiclient: double free or corruption (!prev): 0xed000018 ***
======= Backtrace: =========
/lib/powerpc-linux-gnu/libc.so.6(+0x85504)[0xddf0504]
/lib/powerpc-linux-gnu/libc.so.6(cfree+0x8c)[0xddf5adc]
/usr/lib/powerpc-linux-gnu/libSDL-1.2.so.0(SDL_FreeSurface+0x148)[0xe1d24b4]
vcmiclient[0x1055daac]
vcmiclient[0x105b0c78]
vcmiclient[0x105b0d04]
vcmiclient[0x1020eee8]
vcmiclient[0x10231310]
vcmiclient[0x105b0afc]
vcmiclient[0x1061f778]
vcmiclient[0x10617c84]
vcmiclient[0x1060ea38]
vcmiclient[0x10607964]
vcmiclient(_ZNK5boost9function0IvEclEv+0x74)[0x10233550]
vcmiclient[0x102339a4]
vcmiclient[0x10221af0]
vcmiclient[0x10210364]
vcmiclient[0x1020f59c]
vcmiclient[0x1048e398]
... |
|
|
|
Lol, I just spot major bug. It's ridiculous that Seer Huts have been ever working for all this time :D
Check r2830. |
|
|
|
Well.
That's great that Seer's Huts work now. I.e. it was nothing before when you visit, now they are fully functional.
But...
Looking into Saurug, MP=1630
Saurug will try to visit Seer's Hut at (31 64 0)
vcmiclient: Connection.h:302: T* CSerializer::getVectorItemFromId(const VectorisedObjectInfo<T>&, ui32) const [with T = CQuest, ui32 = unsigned int]: Assertion `oInfo.vector->size() > id' failed.
Aborted
Now on 5th day ;)
Also, minor thing. Faerie Ring screen displays Mage Guild level 2. |
|
|
|
From VCMI_Client_log.txt:
...
Listening... Saurug will try to visit Seer's Hut at (31 64 0)
Sending a request "8MoveHero". It'll have an ID=113.
Sending to server a pack of type 8MoveHero
We'll wait till request 113 is answered.
received server message of type 11TryMoveHero
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... received server message of type 14PackageApplied
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... Sending a request "8MoveHero". It'll have an ID=114.
Sending to server a pack of type 8MoveHero
We'll wait till request 114 is answered.
received server message of type 11TryMoveHero
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... received server message of type 14PackageApplied
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... Sending a request "8MoveHero". It'll have an ID=115.
Sending to server a pack of type 8MoveHero
We'll wait till request 115 is answered.
received server message of type 11TryMoveHero
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... received server message of type 14PackageApplied
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... Sending a request "8MoveHero". It'll have an ID=116.
Sending to server a pack of type 8MoveHero
We'll wait till request 116 is answered.
received server message of type 11TryMoveHero
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... received server message of type 9HeroVisit
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... received server message of type 17SetObjectProperty
Made first apply on cl
Applied on gs
Made second apply on cl
Listening... [EOF here]
From server_log.txt:
...
Creating a query for player 1 with ID=31
Creating a query for player 1 with ID=32
const PlayerState* CGameInfoCallback::getPlayer(int, bool) const: Cannot find player 3info!
const PlayerState* CGameInfoCallback::getPlayer(int, bool) const: Cannot find player 4info!
const PlayerState* CGameInfoCallback::getPlayer(int, bool) const: Cannot find player 5info!
const PlayerState* CGameInfoCallback::getPlayer(int, bool) const: Cannot find player 6info!
const PlayerState* CGameInfoCallback::getPlayer(int, bool) const: Cannot find player 7info!
read: Connection reset by peer
Ended handling connection
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
write: Broken pipe |
|
|
|
Another SIGABRT on another failed assertion:
CStupidAI [0xe4b6b7c8]: actionFinished called
CStupidAI [0xe72967b0]: actionFinished called
Player 2: I lost the Starting battle of Gundula attacking Mithril at 15 111 0!
CStupidAI [0xe4b6b7c8]: battleEnd called
CStupidAI [0xe4b6b7c8]: destroyed
CStupidAI [0xe72967b0]: battleEnd called
Warning: an orphaned child!
I lost my hero Gundula. It's best to forget and move on.
Cannot get object with id 2289. Object was removed.
vcmiclient: VCAI.cpp:3648: const CGHeroInstance* HeroPtr::get(bool) const: Assertion `cb->getObj(h->id)' failed.
Aborted
Looks like AI hero has been lost in battle, and VCMI crashed due to that. |
|
|
|
Could you please report ONE error at a time? Especially not report same bug twice.
Set category to AI, as only it seems to be able to trigger that bug. |
|
|
(0002933)
|
Warmonger
|
2012-08-27 08:03
(edited on: 2012-08-27 08:07) |
|
Confirmed. The issue is that Quests are not properly serialized on map. However, it's not simple to fix it.
|
|
|
|
|