View Issue Details

IDProjectCategoryLast Update
0016089AI War 1 / ClassicBug - OtherJan 6, 2015 1:33 pm
ReporterKraiz Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product Version8.020 
Fixed in Version8.021 
Summary0016089: Too Many Threads crash
DescriptionI get a game crash when attempting to play AI War.

Today, I launched the game, and it opened. It began the "Loading items from disk" process. Once it was close to completion (Only about 200-400 items left), it brought up an error message. "Error in GC. Too many threads."

I have the game installed through Steam. I opened the game properties, and told Steam to Validate Local Files. It did, and found 1 file, but did not disclose which. It said it would be re-acquired. I watched steam do a very quick download, and I re-launched the game. Same error.

I restarted my computer. Same error.

I uninstalled the game, and reinstalled it through steam. Same error.

I was playing a multiplayer game the night before, and went to bed immediately after I stopped playing. I haven't made any system changes or software updates, either.
TagsNo tags attached.
Internal WeightNew

Activities

Chris_McElligottPark

Jan 5, 2015 9:06 pm

administrator   ~0039822

Hey there, sorry about this. Please see my response here: http://www.arcengames.com/forums/index.php?topic=16845

Huge apologies for this! There is a workaround in that thread, though, that should work for you.

Chris_McElligottPark

Jan 6, 2015 9:57 am

administrator   ~0039827

The fix is out! You can restart your steam client to force a quicker update. Thanks for your patience. :)

* Our recently-added ArcenAsyncFile was causing some crashes in cases of extreme numbers of threads being used over a short period of time.
** It appears that the version of Mono included in Unity 3D does not handle thread disposal quite like normal .NET does -- and peculiarly, always reports the number of threads as 0 rather than whatever the real count is. So that was... problematic to say the least, when we wanted to instantiate a lot of threads and then destroy them. Instantiating them and then reusing them was what we had tried to begin with, but there were some unexpected hangups there as well.
** What we're now using, which seems to work great, is the ThreadPool class, which is part of Mono/.NET that is specifically aimed at doing this sort of thread reuse in the first place. It seems to work exactly as advertised, fingers crossed. ;)

Kraiz

Jan 6, 2015 10:03 am

reporter   ~0039828

The workaround worked perfectly.

And, I'm glad to hear that the fix has rolled out. I'll test it here in a little while.

Chris_McElligottPark

Jan 6, 2015 10:36 am

administrator   ~0039829

Great!

pxld1

Jan 6, 2015 12:58 pm

reporter   ~0039838

Last edited: Jan 6, 2015 12:59 pm

Can confirm, patch works with preload all images enabled! The AI is back to dominating the galaxy

Chris_McElligottPark

Jan 6, 2015 1:33 pm

administrator   ~0039839

Awesome! Glad to hear it. :D

Issue History

Date Modified Username Field Change
Jan 5, 2015 8:00 pm Kraiz New Issue
Jan 5, 2015 8:59 pm Kraiz Product Version 8.017-8.019 => 8.020
Jan 5, 2015 9:06 pm Chris_McElligottPark Note Added: 0039822
Jan 5, 2015 9:06 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Jan 5, 2015 9:06 pm Chris_McElligottPark Status new => confirmed
Jan 6, 2015 9:57 am Chris_McElligottPark Internal Weight => New
Jan 6, 2015 9:57 am Chris_McElligottPark Note Added: 0039827
Jan 6, 2015 9:57 am Chris_McElligottPark Status confirmed => resolved
Jan 6, 2015 9:57 am Chris_McElligottPark Fixed in Version => 8.021
Jan 6, 2015 9:57 am Chris_McElligottPark Resolution open => fixed
Jan 6, 2015 10:03 am Kraiz Note Added: 0039828
Jan 6, 2015 10:36 am Chris_McElligottPark Note Added: 0039829
Jan 6, 2015 12:58 pm pxld1 Note Added: 0039838
Jan 6, 2015 12:59 pm pxld1 Note Edited: 0039838
Jan 6, 2015 1:33 pm Chris_McElligottPark Note Added: 0039839