Author Topic: Crash: git-master, possibly related to multi-produce  (Read 1533 times)

John.d.h

  • Moderator
  • Airship
  • ********
  • Posts: 3,757
  • I have to go now. My planet needs me.
    • View Profile
Crash: git-master, possibly related to multi-produce
« on: 10 March 2011, 00:30:37 »


Code: [Select]
Crash
Version: Advanced Engine git-master
Time: Wed Mar  9 18:54:34 2011
Description: SIGABRT:
Address: 0x2365
Backtrace:
/home/john/glestae_git/build/source/game/glestadv(_ZN6Shared8Platform24PlatformExceptionHandler7handlerEiP7siginfoPv+0x301) [0x84a362b]
[0x77440c]
[0x774416]
/lib/libc.so.6(gsignal+0x51) [0x571941]
/lib/libc.so.6(abort+0x182) [0x574e42]
/lib/libc.so.6(__assert_fail+0xf8) [0x56a8e8]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities10Projectile7setPathEN6Shared4Math4Vec3IfEES5_i+0x375) [0x8281781]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface20updateProjectilePathEPNS_8Entities4UnitEPNS2_10ProjectileERKN6Shared4Math4Vec3IfEESC_+0x47) [0x834b623]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface18doUpdateProjectileEPNS_8Entities4UnitEPNS2_10ProjectileERKN6Shared4Math4Vec3IfEESC_+0x34) [0x844ef0c]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit18startAttackSystemsEPKNS_10ProtoTypes15AttackSkillTypeE+0x90e) [0x8266d92]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit6updateEv+0x21f) [0x826a9bd]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit8doUpdateEv+0x12) [0x826a3ea]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World11updateUnitsEPKNS_8Entities7FactionE+0x3d) [0x84572c7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World12processFrameEv+0xca) [0x84573bc]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface11updateWorldEv+0xd7) [0x844e2a7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Gui9GameState6updateEv+0x167) [0x82a4f0f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main7Program4loopEv+0x1b1) [0x8316b39]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main9glestMainEiPPc+0x33f) [0x83100d1]
/home/john/glestae_git/build/source/game/glestadv(main+0x79) [0x8310378]
/lib/libc.so.6(__libc_start_main+0xe7) [0x55dce7]
/home/john/glestae_git/build/source/game/glestadv() [0x823fd11]

=======================

I was testing out some changes to Project Green, including a new multi-produce command to produce three gunners.  The gunners are slightly modified dwarvish Canoneers.  Their attack includes an EP requirement (costs 1, has 1, regenerates 1).  Testing out their attack, I targeted my own Inquisitor, and the game crashed.

I tried the same thing again and reproduced the crash.

Code: [Select]
Crash
Version: Advanced Engine git-master
Time: Wed Mar  9 19:10:13 2011
Description: SIGABRT:
Address: 0x244d
Backtrace:
/home/john/glestae_git/build/source/game/glestadv(_ZN6Shared8Platform24PlatformExceptionHandler7handlerEiP7siginfoPv+0x301) [0x84a362b]
[0x72d40c]
[0x72d416]
/lib/libc.so.6(gsignal+0x51) [0x52d941]
/lib/libc.so.6(abort+0x182) [0x530e42]
/lib/libc.so.6(__assert_fail+0xf8) [0x5268e8]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities10Projectile7setPathEN6Shared4Math4Vec3IfEES5_i+0x375) [0x8281781]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface20updateProjectilePathEPNS_8Entities4UnitEPNS2_10ProjectileERKN6Shared4Math4Vec3IfEESC_+0x47) [0x834b623]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface18doUpdateProjectileEPNS_8Entities4UnitEPNS2_10ProjectileERKN6Shared4Math4Vec3IfEESC_+0x34) [0x844ef0c]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit18startAttackSystemsEPKNS_10ProtoTypes15AttackSkillTypeE+0x90e) [0x8266d92]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit6updateEv+0x21f) [0x826a9bd]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit8doUpdateEv+0x12) [0x826a3ea]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World11updateUnitsEPKNS_8Entities7FactionE+0x3d) [0x84572c7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World12processFrameEv+0xca) [0x84573bc]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface11updateWorldEv+0xd7) [0x844e2a7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Gui9GameState6updateEv+0x167) [0x82a4f0f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main7Program4loopEv+0x1b1) [0x8316b39]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main9glestMainEiPPc+0x33f) [0x83100d1]
/home/john/glestae_git/build/source/game/glestadv(main+0x79) [0x8310378]
/lib/libc.so.6(__libc_start_main+0xe7) [0x519ce7]
/home/john/glestae_git/build/source/game/glestadv() [0x823fd11]

=======================

Trying to reproduce again, I got it to crash just during the act of recruiting the gunner squad:



Code: [Select]
Crash
Version: Advanced Engine git-master
Time: Wed Mar  9 19:19:02 2011
Description: SIGSEGV: address not mapped to object
Address: 0x40
Backtrace:
/home/john/glestae_git/build/source/game/glestadv(_ZN6Shared8Platform24PlatformExceptionHandler7handlerEiP7siginfoPv+0x301) [0x84a362b]
[0x67e40c]
/home/john/glestae_git/build/source/game/glestadv(_ZNK5Glest10ProtoTypes14ProducibleType23getAdvancesToSubfactionEv+0x6) [0x828c576]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities7Faction22checkAdvanceSubfactionEPKNS_10ProtoTypes14ProducibleTypeEb+0x17) [0x828bc0b]
/home/john/glestae_git/build/source/game/glestadv(_ZNK5Glest10ProtoTypes18ProduceCommandType6updateEPNS_8Entities4UnitE+0x236) [0x839fbda]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit15doUpdateCommandEv+0xf6) [0x8269952]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface19doUpdateUnitCommandEPNS_8Entities4UnitE+0x11) [0x844ee4f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit8doUpdateEv+0xe7) [0x826a4bf]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World11updateUnitsEPKNS_8Entities7FactionE+0x3d) [0x84572c7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World12processFrameEv+0xca) [0x84573bc]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface11updateWorldEv+0xd7) [0x844e2a7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Gui9GameState6updateEv+0x167) [0x82a4f0f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main7Program4loopEv+0x1b1) [0x8316b39]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main9glestMainEiPPc+0x33f) [0x83100d1]
/home/john/glestae_git/build/source/game/glestadv(main+0x79) [0x8310378]
/lib/libc.so.6(__libc_start_main+0xe7) [0x2f3ce7]
/home/john/glestae_git/build/source/game/glestadv() [0x823fd11]

=======================

... and again, a little while after the units were produced.



Code: [Select]
Crash
Version: Advanced Engine git-master
Time: Wed Mar  9 19:22:26 2011
Description: SIGSEGV: address not mapped to object
Address: 0x1040
Backtrace:
/home/john/glestae_git/build/source/game/glestadv(_ZN6Shared8Platform24PlatformExceptionHandler7handlerEiP7siginfoPv+0x301) [0x84a362b]
[0x5cd40c]
/home/john/glestae_git/build/source/game/glestadv(_ZNK5Glest10ProtoTypes14ProducibleType23getAdvancesToSubfactionEv+0x6) [0x828c576]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities7Faction22checkAdvanceSubfactionEPKNS_10ProtoTypes14ProducibleTypeEb+0x17) [0x828bc0b]
/home/john/glestae_git/build/source/game/glestadv(_ZNK5Glest10ProtoTypes18ProduceCommandType6updateEPNS_8Entities4UnitE+0x236) [0x839fbda]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit15doUpdateCommandEv+0xf6) [0x8269952]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface19doUpdateUnitCommandEPNS_8Entities4UnitE+0x11) [0x844ee4f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest8Entities4Unit8doUpdateEv+0xe7) [0x826a4bf]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World11updateUnitsEPKNS_8Entities7FactionE+0x3d) [0x84572c7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim5World12processFrameEv+0xca) [0x84573bc]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Sim19SimulationInterface11updateWorldEv+0xd7) [0x844e2a7]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest3Gui9GameState6updateEv+0x167) [0x82a4f0f]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main7Program4loopEv+0x1b1) [0x8316b39]
/home/john/glestae_git/build/source/game/glestadv(_ZN5Glest4Main9glestMainEiPPc+0x33f) [0x83100d1]
/home/john/glestae_git/build/source/game/glestadv(main+0x79) [0x8310378]
/lib/libc.so.6(__libc_start_main+0xe7) [0x5e4ce7]
/home/john/glestae_git/build/source/game/glestadv() [0x823fd11]

=======================

Here's a copy of the addon I'm using, with everything impertinent (models, textures, the Magic faction) stripped out (~300K):
http://www.mediafire.com/?byq2r6xxh9xwaoj  This is what I used to reproduce the last two crashes, hence the placeholders.

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: Crash: git-master, possibly related to multi-produce
« Reply #1 on: 10 March 2011, 05:02:16 »
The first one is failing this assert (I'm not sure why, created ticket 319):
assert(traj.length() > 0.5f);

The second one I think I've fixed now (ticket 318). The command was being ended before the other units were produced.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/