View Issue Details

IDProjectCategoryView StatusLast Update
0003925Spring engineGeneralpublic2013-08-25 03:55
Reporterabma Assigned TojK  
PrioritynormalSeverityblockReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version94.1.1+git 
Target Version95.0 
Summary0003925: endless loop in test_ThreadPool & spring on win32 (first seen with ada052b7d3a52d765402685128ca7980ce7f3301)
Descriptionvery likely to be caused by https://github.com/spring/spring/commit/ada052b7d3a52d765402685128ca7980ce7f3301
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
test_ThreadPool.7z (Attachment missing)
Checked infolog.txt for Errors

Relationships

parent of 0003588 resolvedabma Trying to build on windows gives error "CMake Error at cont/CMakeLists.txt:75 (message): pthreadGC2 not found!" 
has duplicate 0003928 resolvedabma spring-94.1.1-872-g6d6cf08: freeze on "Test the game" and "creating mesh" 
has duplicate 0003929 resolvedabma can't load .sdd's in 94.1.1-874 on my ati machine (but it works on my nvidia machine) 

Activities

abma

2013-08-08 11:47

administrator   ~0011235

Last edited: 2013-08-08 11:47

if you need more info, i can debug it further... just ask.

abma

2013-08-08 11:52

administrator   ~0011236

http://buildbot.springrts.com/builders/full-windows-test/builds/1248/steps/testConfig/logs/stdio

"command timed out: 1200 seconds without output, attempting to kill"

abma

2013-08-09 09:51

administrator   ~0011238

still hangs for me:

C:\temp\spring\spring.exe 0x00885FAB rts/System/Platform/Threading.cpp:368
C:\temp\spring\spring.exe 0x00428AF9 rts/Game/Game.cpp:383
C:\temp\spring\spring.exe 0x0044521F rts/Game/LoadScreen.cpp:189
C:\temp\spring\spring.exe 0x0044A414 rts/Game/PreGame.cpp:165
C:\temp\spring\spring.exe 0x004013FA UnitScript.cpp:0
C:\WINDOWS\system32\kernel32.dll 0x7C81776F ??:0
C:\WINDOWS\system32\ntdll.dll 0x7C91E514 ??:0
C:\WINDOWS\system32\kernel32.dll 0x7C80A115 ??:0
C:\temp\spring\spring.exe 0x00B9210C 7zIn.c:0

and also the validation test:

http://buildbot.springrts.com/builders/full-windows-test/builds/1262/steps/test/logs/stdio

abma

2013-08-09 09:54

administrator   ~0011239

Last edited: 2013-08-09 09:55

full translation of infolog.txt:
http://paste.springfiles.com/view/f5f177b0

abma

2013-08-09 10:09

administrator   ~0011240

the same with gdb:

http://paste.springfiles.com/view/14c5cbbe

jK

2013-08-09 14:35

developer   ~0011241

Last edited: 2013-08-09 14:35

1. there is no line 368 in Threading.cpp
2. it doesn't happen on "validation test"
3. something happens on "full-windows-test", but that is not hang, something tries to create a window there and I got no idea how it does so, nor what type the window is
4. gdb doesn't show a hang

abma

2013-08-09 14:52

administrator   ~0011242

to 2.: misspelled, meant the full-windows-test, but the link was correct.
to 4.: "endless loop" !? it just hangs with using 100% cpu.

abma

2013-08-09 15:08

administrator   ~0011243

when run from console:

wine test_ThreadPool.exe
Running 3 test cases...
Thread 0 executed 135 times
Thread 1 executed 31 times
Thread 2 executed 60 times
Thread 3 executed 27 times
Thread 4 executed 32 times
Thread 5 executed 54 times
Thread 6 executed 18 times
Thread 7 executed 50 times
Thread 8 executed 46 times
Thread 9 executed 47 times
^Cfixme:console:CONSOLE_DefaultHandler Terminating process 44 on event 0

it hangs or is in an infinite loop with all cores at 100% cpu, i don't really see the difference in wording.

abma

2013-08-09 15:14

administrator   ~0011244

Last edited: 2013-08-09 15:17

to 3. that IS a hang. i added the ulimit so it comes to an end at some point without this it would never stop. the message "Application tried to create a window" is normal.

to 4. gdb then shows an endless loop

i've attached the current test_ThreadPool.exe which causes the problem.

jK

2013-08-09 15:18

developer   ~0011245

tried to run test_ThreadPool.exe in a vm instead of wine?

abma

2013-08-09 15:29

administrator   ~0011246

spring hangs in a vm and on a "real" xp and a real windows 7.

test_ThreadPool.exe hangs with wine & real xp, too. didn't test vm / win7 but i expect the same result.

jK

2013-08-09 15:39

developer   ~0011247

no hang here with win2k

abma

2013-08-09 15:43

administrator   ~0011248

Last edited: 2013-08-09 15:45

on xp:
C:\Temp>test_ThreadPool.exe |more
Running 3 test cases...
Thread 0 executed 236 times
Thread 1 executed 1 times
Thread 2 executed 1 times
Thread 3 executed 2 times
Thread 4 executed 204 times
Thread 5 executed 2 times
Thread 6 executed 3 times
Thread 7 executed 3 times
Thread 8 executed 1 times
Thread 9 executed 47 times

after that: program never quits, i have to kill it (the same without "more", but then i see no output). does your win2k have >=2 cores?

also as note: when run on windows it forks into the background as it is a gui app.

jK

2013-08-09 15:45

developer   ~0011249

| after that: program never quits, i have to kill it. does your win2k have >=2 cores?
no

jK

2013-08-09 16:04

developer   ~0011250

seems mingw's std::accumulate is broken

abma

2013-08-11 23:23

administrator   ~0011283

revert ada052b7d3a52d765402685128ca7980ce7f3301 then?!

abma

2013-08-14 17:42

administrator   ~0011312

ok, verified: https://github.com/spring/spring/commit/ada052b7d3a52d765402685128ca7980ce7f3301 hangs
https://github.com/spring/spring/commit/9dceed49c82bb5bc5ee6fa43cea61769591e4d9b doesn't.

abma

2013-08-21 16:59

administrator   ~0011348

mxe's i686-w64-mingw 4.8.1 builds out of the box:
https://github.com/spring/spring/commit/528d493407088f79b8405d532cb4830f7e1ad1cd

fixed test_ThreadPool.exe & spring itself is threadpool enabled again

didn't test any further yet, but imo it should work.

do you see any drawbacks because of using mxe?

jK

2013-08-24 04:56

developer   ~0011365

Only the obvious ones:
the bug might occur in latest TDM mingw on windows too. So anyone trying to devs on windows might not able to compile a working exe atm.
And that it makes makes it more complicated to setup another buildslave.

Both non really important issues esp. when all these issues get fixed with the next mingw release.

jK

2013-08-25 03:55

developer   ~0011378

lockfree task requesting is disabled on mingw atm, it's the best I can do for the moment :/

There is a performance penalty, but it won't be worse than singlethreaded.

Issue History

Date Modified Username Field Change
2013-08-08 11:44 abma New Issue
2013-08-08 11:47 abma Note Added: 0011235
2013-08-08 11:47 abma Note Edited: 0011235
2013-08-08 11:52 abma Note Added: 0011236
2013-08-09 00:29 abma Severity crash => block
2013-08-09 07:32 jK Changeset attached => spring develop 2ffb042e
2013-08-09 07:32 jK Status new => resolved
2013-08-09 07:32 jK Resolution open => fixed
2013-08-09 07:32 jK Assigned To => jK
2013-08-09 09:51 abma Note Added: 0011238
2013-08-09 09:51 abma File Added: infolog.txt
2013-08-09 09:54 abma Note Added: 0011239
2013-08-09 09:55 abma Note Edited: 0011239
2013-08-09 09:55 abma Status resolved => new
2013-08-09 09:55 abma Resolution fixed => open
2013-08-09 10:09 abma Note Added: 0011240
2013-08-09 14:35 jK Note Added: 0011241
2013-08-09 14:35 jK Note Edited: 0011241
2013-08-09 14:52 abma Note Added: 0011242
2013-08-09 15:08 abma Note Added: 0011243
2013-08-09 15:09 abma File Added: test_ThreadPool.7z
2013-08-09 15:14 abma Note Added: 0011244
2013-08-09 15:17 abma Note Edited: 0011244
2013-08-09 15:18 jK Note Added: 0011245
2013-08-09 15:29 abma Note Added: 0011246
2013-08-09 15:39 jK Note Added: 0011247
2013-08-09 15:43 abma Note Added: 0011248
2013-08-09 15:43 abma Note Edited: 0011248
2013-08-09 15:44 abma Note Edited: 0011248
2013-08-09 15:45 abma Note Edited: 0011248
2013-08-09 15:45 jK Note Added: 0011249
2013-08-09 16:04 jK Note Added: 0011250
2013-08-10 15:57 jK Assigned To jK => abma
2013-08-10 15:57 jK Status new => assigned
2013-08-11 17:22 abma Relationship added related to 0003928
2013-08-11 23:23 abma Note Added: 0011283
2013-08-11 23:23 abma Assigned To abma => jK
2013-08-12 02:15 abma Relationship added related to 0003929
2013-08-12 02:26 abma Relationship added parent of 0003588
2013-08-12 02:33 abma Summary endless loop in test_ThreadPool & spring on win32 => endless loop in test_ThreadPool & spring on win32 (first seen with ada052b7d3a52d765402685128ca7980ce7f3301)
2013-08-12 17:44 abma Relationship replaced has duplicate 0003928
2013-08-12 17:45 abma Relationship replaced has duplicate 0003929
2013-08-14 17:42 abma Note Added: 0011312
2013-08-21 16:59 abma Note Added: 0011348
2013-08-23 02:53 abma Status assigned => feedback
2013-08-24 04:56 jK Note Added: 0011365
2013-08-25 03:55 jK Note Added: 0011378
2013-08-25 03:55 jK Status feedback => resolved
2013-08-25 03:55 jK Resolution open => fixed