View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005424 | Spring engine | General | public | 2016-12-28 04:50 | 2017-01-01 23:02 |
| Reporter | Google_Frog | Assigned To | |||
| Priority | normal | Severity | crash | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Product Version | 103.0 +git | ||||
| Summary | 0005424: 103.0.1-420 crash | ||||
| Description | I tried to start a game with some luaAIs. Access violation crash. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
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 |
|
|
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 |
|
|
Fix ae4fcc49042b0000666b67642eb9e53c0de2db48 committed to develop branch: fix 0005424 (un-FUBAR ThreadPool after the completely untested changes in 986ed93586), repo: spring changeset id: 7736 |
| 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 |