View Issue Details

IDProjectCategoryView StatusLast Update
0005424Spring engineGeneralpublic2017-01-01 23:02
ReporterGoogle_Frog Assigned To 
PrioritynormalSeveritycrashReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version103.0 +git 
Summary0005424: 103.0.1-420 crash
DescriptionI tried to start a game with some luaAIs. Access violation crash.
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
Checked infolog.txt for Errors

Activities

abma

2016-12-28 07:16

administrator   ~0017006

Last edited: 2016-12-28 07:16

translated: (seems 4 threads crashed in a row:)

https://github.com/spring/spring/tree/103.0.1-420-gc30795b

??:0
??:0
rts/lib/mingw-std-threads/mingw.mutex.h:105
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/functional:601
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/atomic_base.h:624
rts/System/ThreadPool.cpp:174
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/unique_ptr.h:67
??:0
??:0
??:0
??:0
??:0
??:0
rts/lib/mingw-std-threads/mingw.mutex.h:105
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/functional:601
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/atomic_base.h:624
rts/System/ThreadPool.cpp:174
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/unique_ptr.h:67
??:0
??:0
??:0
??:0
??:0
??:0
rts/lib/mingw-std-threads/mingw.mutex.h:105
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/functional:601
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/atomic_base.h:624
rts/System/ThreadPool.cpp:174
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/bits/unique_ptr.h:67
??:0
??:0
??:0

Kloot

2016-12-28 11:51

developer   ~0017008

threadpool is FUBAR because jK added a lock-free queue to it that can only work in an SPSC context:

1) threads will never push two tasks with the same id, but can overwrite still-running tasks (!) mapping to the same index
2) threads can also concurrently write to the same index if task A has id K and task B has id K+ringSize
3) other issues I didn't delve into

for now, just disable it via https://github.com/spring/spring/blob/develop/CMakeLists.txt#L363

Anonymous

2017-01-01 23:02

viewer   ~0017011

Fix ae4fcc49042b0000666b67642eb9e53c0de2db48 committed to develop branch: fix 0005424 (un-FUBAR ThreadPool after the completely untested changes in 986ed93586), repo: spring changeset id: 7736

Issue History

Date Modified Username Field Change
2016-12-28 04:50 Google_Frog New Issue
2016-12-28 04:50 Google_Frog File Added: infolog.txt
2016-12-28 07:16 abma Note Added: 0017006
2016-12-28 07:16 abma Note Edited: 0017006
2016-12-28 11:51 Kloot Note Added: 0017008
2017-01-01 23:02 Changeset attached => spring develop ae4fcc49
2017-01-01 23:02 Anonymous Note Added: 0017011
2017-01-01 23:02 Anonymous Status new => resolved
2017-01-01 23:02 Anonymous Resolution open => fixed