View Issue Details

IDProjectCategoryView StatusLast Update
0004222Spring engineGeneralpublic2013-12-26 23:19
Reportercleanrock Assigned ToKloot  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version95.0.1+git 
Target Version96.0 
Summary0004222: crash on game exit
DescriptionSpring 95.0.1-208-g8871215 develop
Using game: Zero-K v1.1.12.4

At least me and gfrog experienced this crash at game exit.
I think Team pointer is invalid in CUnitDrawer::SetBasicTeamColour.

I moved this from 4053.
Additional Information[f=0070155] Error: Segmentation fault (SIGSEGV) in spring 95.0.1-208-g8871215 develop
[f=0070155] Error: Stacktrace for Spring 95.0.1-208-g8871215 develop:
[f=0070155] Error: <0> /usr/lib/libc.so.6(+0x35390) [0x7f68559e6390]
[f=0070155] Error: <1> /home/johanr/my_projects/spring/rts/Rendering/UnitDrawer.cpp:1277
[f=0070155] Error: <2> /home/johanr/my_projects/spring/rts/Rendering/ProjectileDrawer.cpp:755
[f=0070155] Error: <3> /home/johanr/my_projects/spring/rts/Rendering/ProjectileDrawer.cpp:470
[f=0070155] Error: <4> /usr/include/c++/4.8.2/bits/stl_tree.h:270
[f=0070155] Error: <5> /usr/include/c++/4.8.2/bits/stl_tree.h:189
[f=0070155] Error: <6> /home/johanr/my_projects/spring/rts/Rendering/ProjectileDrawer.cpp:649
[f=0070155] Error: <7> /home/johanr/my_projects/spring/rts/Rendering/WorldDrawer.cpp:206 (discriminator 1)
[f=0070155] Error: <8> /home/johanr/my_projects/spring/rts/Game/Game.cpp:1288
[f=0070155] Error: <9> /usr/include/c++/4.8.2/bits/stl_tree.h:447
[f=0070155] Error: <10> /home/johanr/my_projects/spring/rts/Game/UnsyncedActionExecutor.h:42
[f=0070155] Error: <11> /home/johanr/my_projects/spring/rts/Game/UI/MouseHandler.cpp:202
[f=0070155] Error: <12> /home/johanr/my_projects/spring/rts/System/Main.cpp:126
[f=0070155] Error: <13> /usr/lib/libc.so.6(__libc_start_main+0xf5) [0x7f68559d2b05]
[f=0070155] Error: <14> ??:?
[f=0070155] Error: [ErrorMessageBox][1] msg="Spring has crashed:
Segmentation fault (SIGSEGV).
TagsNo tags attached.
Attached Files
infolog_cr_20131223.txt (Attachment missing)
access_violation_208_gfrog.txt (Attachment missing)
bt_full.txt (Attachment missing)
bt_threads.txt (Attachment missing)
bt_threads_full.txt (Attachment missing)
20131223_154251_Comet Catcher Redux_95.0.1-208-g8871215 develop.sdf.7z (Attachment missing)
Checked infolog.txt for Errors

Activities

Kloot

2013-12-25 13:11

developer   ~0012485

these traces are half-corrupt and all *Drawer classes are cleaned up before any team instances are so I don't see the relation...

silentwings

2013-12-25 13:45

reporter   ~0012486

Last edited: 2013-12-25 13:45

If anyone wants to know how to set up gdb on win and the attach it to a crashed isntance of spring to get a proper stacktrace of the crash (as in 0004053), pm me in the lobby - [Fx]Bluestone.

abma

2013-12-25 14:33

administrator   ~0012487

does watching the replay lead to the crash?

google frogs crash translated:

spring.exe 0x007024F1 rts/Rendering/UnitDrawer.cpp:1277
spring.exe 0x007087FB rts/Rendering/UnitDrawerState.cpp:204
spring.exe 0x006D6F56 rts/Rendering/ProjectileDrawer.cpp:470
spring.exe 0x006D70AA rts/Rendering/ProjectileDrawer.cpp:430
spring.exe 0x006D7119 rts/Rendering/ProjectileDrawer.cpp:421
spring.exe 0x006D726F rts/Rendering/ProjectileDrawer.cpp:649
spring.exe 0x0070F3C3 rts/Rendering/WorldDrawer.cpp:206
spring.exe 0x0042B7E4 rts/Game/Game.cpp:1288
spring.exe 0x0088F8E3 rts/System/SpringApp.cpp:968
spring.exe 0x008960E4 rts/System/SpringApp.cpp:1034
spring.exe 0x00872196 rts/System/Main.cpp:65
spring.exe 0x00872FAC rts/System/Main.cpp:125
spring.exe 0x008731CD rts/System/Main.cpp:134
spring.exe 0x00401402 crtexe.c:0
C:\Windows\syswow64\kernel32.dll 0x75D1336A ??:0
C:\Windows\SysWOW64\ntdll.dll 0x77EA9F72 ??:0
C:\Windows\SysWOW64\ntdll.dll 0x77EA9F45 ??:0

abma

2013-12-25 18:29

administrator   ~0012488

can you reproduce the crash easily?

by something like, /give all, ctrl+a, ctrl+d click exit ?

cleanrock

2013-12-26 09:50

reporter   ~0012490

Last edited: 2013-12-26 10:01

Watching demo crashed the same way, attaching demo and bt logs.

Edit: demo not attached, it was too big
Edit: teams look ok:
(gdb) p teamHandler->teams
$2 = std::vector of length 19, capacity 19 = {0x18d83f0, 0x18d8590, 0x18d8730, 0x18d88d0, 0x18d8a70, 0x18d8c10, 0x18d8db0, 0x1799060, 0x1799200, 0x17993a0, 0x1799540,
  0x17996e0, 0x1799880, 0x1799a20, 0x1799bc0, 0x1799d60, 0x1799f00, 0x179a0a0, 0x179a240}

cleanrock

2013-12-26 10:07

reporter   ~0012491

Last edited: 2013-12-26 10:08

teamID is crap in #1 :
(gdb) p wp
$5 = (const CWeaponProjectile *) 0x31937c20
(gdb) p wp->teamID
$6 = 4294967295

cleanrock

2013-12-26 10:21

reporter   ~0012492

Last edited: 2013-12-26 11:13

Contact me in lobby if you need some specific info from gdb.

abma

2013-12-26 10:32

administrator   ~0012493

zip & attach then?!

Kloot

2013-12-26 11:59

developer   ~0012494

4294967295 is just the unsigned representation of -1, not garbage

cleanrock

2013-12-26 14:08

reporter   ~0012495

perhaps not garbage but i guess you see that -1 is not very good in SetBasicTeamColour

cleanrock

2013-12-26 14:48

reporter   ~0012496

I see that Projectile::teamID is not guaranteed to be be set, perhaps both the inits were missed:
void CProjectile::Init(CUnit* owner, const float3& offset)
CWeaponProjectile::CWeaponProjectile(const ProjectileParams& params)
        // the else-case (default) is handled in CProjectile::Init

The projectile seem to be a nuke:
(gdb) p wp->weaponDef->name
$4 = "nuclear_missile"
(gdb) p wp->weaponDef->metalcost
$5 = 1000

cleanrock

2013-12-26 15:00

reporter   ~0012497

I question if this should be a 96 blocker.

abma

2013-12-26 16:24

administrator   ~0012498

Last edited: 2013-12-26 16:30

reproduceable crash imo is a blocker

Google_Frog

2013-12-26 16:54

reporter   ~0012499

"nuclear_missile" is the name of a weapon which is not used as a weapon by any unit. It is only an entry in explodeAs and selfDestructAs for amgeo and armorco.

Issue History

Date Modified Username Field Change
2013-12-25 10:03 cleanrock New Issue
2013-12-25 10:03 cleanrock File Added: infolog_cr_20131223.txt
2013-12-25 10:04 cleanrock File Added: access_violation_208_gfrog.txt
2013-12-25 13:11 Kloot Note Added: 0012485
2013-12-25 13:45 silentwings Note Added: 0012486
2013-12-25 13:45 silentwings Note Edited: 0012486
2013-12-25 14:33 abma Note Added: 0012487
2013-12-25 14:38 abma Target Version => 96.0
2013-12-25 18:29 abma Note Added: 0012488
2013-12-26 09:50 cleanrock Note Added: 0012490
2013-12-26 09:51 cleanrock File Added: bt_full.txt
2013-12-26 09:51 cleanrock File Added: bt_threads.txt
2013-12-26 09:51 cleanrock File Added: bt_threads_full.txt
2013-12-26 09:52 cleanrock Note Edited: 0012490
2013-12-26 10:01 cleanrock Note Edited: 0012490
2013-12-26 10:07 cleanrock Note Added: 0012491
2013-12-26 10:08 cleanrock Note Edited: 0012491
2013-12-26 10:08 cleanrock Note Edited: 0012491
2013-12-26 10:08 cleanrock Note Edited: 0012491
2013-12-26 10:21 cleanrock Note Added: 0012492
2013-12-26 10:32 abma Note Added: 0012493
2013-12-26 11:08 cleanrock File Added: 20131223_154251_Comet Catcher Redux_95.0.1-208-g8871215 develop.sdf.7z
2013-12-26 11:13 cleanrock Note Edited: 0012492
2013-12-26 11:59 Kloot Note Added: 0012494
2013-12-26 14:08 cleanrock Note Added: 0012495
2013-12-26 14:48 cleanrock Note Added: 0012496
2013-12-26 15:00 cleanrock Note Added: 0012497
2013-12-26 16:24 abma Note Added: 0012498
2013-12-26 16:30 abma Note Edited: 0012498
2013-12-26 16:54 Google_Frog Note Added: 0012499
2013-12-26 18:44 Kloot Assigned To => Kloot
2013-12-26 18:44 Kloot Status new => assigned
2013-12-26 23:19 Kloot Changeset attached => spring release bdcebb27
2013-12-26 23:19 Kloot Status assigned => resolved
2013-12-26 23:19 Kloot Resolution open => fixed