2019-09-16 14:52 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005479Spring engineGeneralpublic2017-02-14 17:29
ReporterGoogle_Frog 
Assigned Tohokomoko 
PrioritynormalSeveritycrashReproducibilityhave not tried
StatusclosedResolutionduplicate 
Product Version103.0 +git 
Target VersionFixed in Version 
Summary0005479: 103.0.1-638-g6b1d325 synced vector::_M_range_check crash
DescriptionThese two crashes indicate that both users in a 1v1 crashed with a fatal vector::_M_range_check error:
https://github.com/ZeroK-RTS/CrashReports/issues/119
https://github.com/ZeroK-RTS/CrashReports/issues/120

Reports came in about as soon as I set the engine on the server. I was not able to reproduce it locally though.
TagsNo tags attached.
Checked infolog.txt for lua Errors
Attached Files

-Relationships
duplicate of 0005466resolvedKloot 103.0.1-588-gab2f239 start of game crash 
+Relationships

-Notes

~0017319

Kloot (developer)

no traces, but my bet is these originated in GuiHandler like 0005451 and 0005466#c17301.

so far I have no idea how to reproduce it.

~0017320

hokomoko (developer)

Last edited: 2017-02-14 14:23

View 2 revisions

my spring debug build doesn't even launch.
I suspect same issue

EDIT: wait, no it's FPE

~0017321

hokomoko (developer)

Last edited: 2017-02-14 14:51

View 2 revisions

bisected to 6cae248c33b353372d01eba1bc97c4a54960dd83
When is LuaParser used in multiple threads?

~0017322

Kloot (developer)

are you talking about the range_check or the FPE (which I don't get)?

as for LuaParser: https://github.com/spring/spring/blob/develop/rts/Lua/LuaParser.cpp#L209

~0017323

hokomoko (developer)

I am talking about the FPE (it happens during engine startup - not game load).
The SIGFPE is in ArchiveScanner's MT'd LuaParsers apparently.
My suspicion is that a LuaParser constructed on one thread is then required from a different one.

I think it may be best to just lock LuaParsers from start to finish.
If you don't object I'll implement this.

~0017324

hokomoko (developer)

ok, FPE is because the ScopedDisableFPUExceptions was changed to not contain CheckTableForNaNs

~0017325

Kloot (developer)

hmz, my bad.

back to GuiHandler debugging I guess.

~0017326

hokomoko (developer)

I still think the LuaParser currentParser bit should be changed since MT is a bitch

~0017327

Kloot (developer)

seems overkill for now imo, but definitely something to keep in mind.

~0017328

hokomoko (developer)

I kinda already did it, just didn't want to push without asking ^^

~0017329

hokomoko (developer)

confirmed to be guihandler by local test
+Notes

-Issue History
Date Modified Username Field Change
2017-02-14 14:10 Google_Frog New Issue
2017-02-14 14:17 Kloot Note Added: 0017319
2017-02-14 14:22 hokomoko Note Added: 0017320
2017-02-14 14:23 hokomoko Note Edited: 0017320 View Revisions
2017-02-14 14:50 hokomoko Note Added: 0017321
2017-02-14 14:51 hokomoko Note Edited: 0017321 View Revisions
2017-02-14 14:56 Kloot Note Added: 0017322
2017-02-14 15:04 hokomoko Note Added: 0017323
2017-02-14 15:23 hokomoko Note Added: 0017324
2017-02-14 15:42 Kloot Note Added: 0017325
2017-02-14 15:45 hokomoko Note Added: 0017326
2017-02-14 16:01 Kloot Note Added: 0017327
2017-02-14 16:02 hokomoko Note Added: 0017328
2017-02-14 17:29 hokomoko Note Added: 0017329
2017-02-14 17:29 hokomoko Relationship added duplicate of 0005466
2017-02-14 17:29 hokomoko Assigned To => hokomoko
2017-02-14 17:29 hokomoko Status new => closed
2017-02-14 17:29 hokomoko Resolution open => duplicate
+Issue History