View Issue Details

IDProjectCategoryLast Update
0009215AI War 1 / ClassicCrash/ExceptionAug 13, 2012 1:01 pm
ReporterPrimalPhantom Assigned Tokeith.lamothe  
Status assignedResolutionopen 
Product Version5.059 
Summary0009215: AI War Crashed
DescriptionThe game crashed for no reason.
TagsNo tags attached.
Internal Weight

Activities

PrimalPhantom

Aug 13, 2012 6:36 am

reporter  

crash8-13-12.zip (43,324 bytes)

keith.lamothe

Aug 13, 2012 9:59 am

administrator   ~0027576

Thanks for the report and the log files. The log files say it was an out-of-memory error (there are a few other messages in there but they're the sort we tend to see when the game has run out of memory).

This is different than the other out-of-memory situations we've seen, though, because the errors are reporting that the managed heap was at less than 300MB and it generally can grow to about 800MB before it dies.

Further into the logs I found that it claims the physical machine this was running on only had 1 GB of RAM. Of course, the published system requirements for the game say 1 GB (2GB recommended) but in order for that work that's the amount of memory that has to be _available_ to the game; it is likely that your OS and other programs running are holding on to at least 200 to 300. In theory if it runs out of physical memory it's supposed to use the swapfile for virtual memory, but in practice I've seen that generate tremendous slowdown at best and instability (in the form of reluctance to grant more memory) at worst.

Anyway, questions so I can better figure out what's going on here:
1) Does this machine really only have 1 GB of RAM?
2) How long had the game been running at that point?

Thanks :)

PrimalPhantom

Aug 13, 2012 10:14 am

reporter   ~0027582

Last edited: Aug 13, 2012 10:15 am

1) The system has 4GB of RAM.
2) The game had just started.

keith.lamothe

Aug 13, 2012 10:35 am

administrator   ~0027586

Then something is _very_ odd, because the error.log in the attached zip says:

1024 MB physical memory [1024 MB free].
2048 MB paging file [1024 MB free].
2048 MB user address space [110 MB free].

Aside from some kind of VM I don't know how it could even get the amount of RAM wrong.

PrimalPhantom

Aug 13, 2012 11:35 am

reporter   ~0027589

It's not VM.

Chris_McElligottPark

Aug 13, 2012 12:00 pm

administrator   ~0027591

A few notes/questions:

- It's possible that this is actually just a corrupt install of the game, actually. When that happens all sorts of funkiness happens. If you verify your steam cache that will fix it up back to 1.0 (you won't have to reinstall the expansion, if you have the expansion), and then you can update back to the latest version of the game.

- What version of the game are you running, by the way? It doesn't say that in the log file there. I'm assuming the latest beta.

- What version of windows is this? By any chance is this windows 8?

- The actual error here is "Attempt to access invalid address." That is often tied to out of memory exceptions, and the fact that the actual physical RAM is misreported is really strange, but it could also be something like another program interfering with memory allocations for the game. Antivirus, for instance.

- In this case I notice that you're using Avast antivirus (it's one of the loaded modules listed in the crash dump). Looking at the crash dump you provided, there really does not seem to be anything else a chance of interfering with the program execution in the way that I mentioned in the above item. You might try temporarily disabling Avast and seeing if that solves the issue. If so, we can see what we can do from there.

- In the error.log file, it notes the DirectX version as having a ProdVer of 6.1.7600.16385. when I google this I get very few results, most of them problematic: https://www.google.com/search?q=directx+6.1.7600.16385 Is there a possibility you don't have the latest version of DirectX installed?

Hope that helps!

Chris_McElligottPark

Aug 13, 2012 12:03 pm

administrator   ~0027592

Oh, I should have looked at our specific log files. This is looking more and more like a corrupt install, or possibly a bug in 5.059, which I see you are on.

There are ridiculous numbers of exception in AIErrors.txt:

System.NullReferenceException: Object reference not set to an instance of an object
  at AITactics.CarrierCreationChecks () [0x00000] in <filename unknown>:0
  at AILoop.RunAILoop () [0x00000] in <filename unknown>:0

Which culminate in this:

System.ApplicationException: The thread does not have the writer lock.
  at System.Threading.ReaderWriterLock.ReleaseWriterLock () [0x00000] in <filename unknown>:0
  at AILoop.ReleaseAIUnitUpdates (Boolean IsForWrite) [0x00000] in <filename unknown>:0
  at AILoop.RunAILoop () [0x00000] in <filename unknown>:0

Which could very much cause an access violation between threads looking at given data. Keith, you may want to check into AITactics.CarrierCreationChecks and see what you can see about null reference exceptions. That would be more likely before PrimalPhantom goes off on a long chase of other potential issues.

Chris_McElligottPark

Aug 13, 2012 12:06 pm

administrator   ~0027593

Last note, I see there are also some of these:

System.OutOfMemoryException: Out of memory
  at (wrapper managed-to-native) object:__icall_wrapper_mono_string_alloc (intptr)
  at (wrapper managed-to-native) string:InternalAllocateStr (int)
  at System.Text.StringBuilder..ctor (System.String value, Int32 startIndex, Int32 length, Int32 capacity, Int32 maxCapacity) [0x00000]

So that's where Keith was pulling the out of memory exception note from. However, looking at the above errors I'm thinking this may actually be a downstream error from some sort of thread clash between the AI thread which is having a null reference exception rather than it being a literal out of memory exception directly.

keith.lamothe

Aug 13, 2012 12:08 pm

administrator   ~0027594

I already checked AITactics.CarrierCreationChecks when I saw those errors but that method has not changed in a long time and as far as I could tell there could only be nulls if the AI Loop's player or planet collections had nulls in them. So I figured that there had been an out-of-memory exception while it was trying to initialize those, leaving nulls in them.

Chris_McElligottPark

Aug 13, 2012 12:29 pm

administrator   ~0027595

Hmmm. Then a corrupt install is again looking more and more likely.

PrimalPhantom

Aug 13, 2012 12:30 pm

reporter   ~0027596

What version of the game are you running, by the way?
5.059

What version of windows is this? By any chance is this windows 8?
Windows 7

latest version of DirectX installed?
11

Chris_McElligottPark

Aug 13, 2012 12:32 pm

administrator   ~0027597

This game uses DirectX9, which I believe is included in DX11. However, there's a chance that all the latest updates to DX9 aren't in DX11 or something. Still, my money is on corrupt install at the moment.

keith.lamothe

Aug 13, 2012 12:35 pm

administrator   ~0027598

Mine too, the main reason being the lack of other reports where this has happened :)

PrimalPhantom

Aug 13, 2012 12:35 pm

reporter   ~0027599

Steam states the cache is valid.

Chris_McElligottPark

Aug 13, 2012 12:36 pm

administrator   ~0027600

That's... particularly odd. Because if you're on the latest beta, then by definition the cache should not be valid. Even if there was nothing else horrible going on, it should have reverted you to 5.000 to my recollection.

PrimalPhantom

Aug 13, 2012 12:49 pm

reporter   ~0027602

Just re-validated the cache again and 69 files needed to be downloaded.

Dazio

Aug 13, 2012 12:50 pm

reporter   ~0027603

I can confirm that 'Verify Steam Cache' will revert your AI War install to version 5.000.

I moved the physical drive my steam install was on last month and had to do that to AI War and I had to reinstall all the betas to get back to the latest version.

keith.lamothe

Aug 13, 2012 1:01 pm

administrator   ~0027606

Yea, I just now did a validate-cache on my 5.059 steam copy to test it, and it said 68 files needed to be redownloaded. Maybe that extra 1 in that 69 is the problem ;)

Issue History

Date Modified Username Field Change
Aug 13, 2012 6:36 am PrimalPhantom New Issue
Aug 13, 2012 6:36 am PrimalPhantom File Added: crash8-13-12.zip
Aug 13, 2012 9:59 am keith.lamothe Note Added: 0027576
Aug 13, 2012 9:59 am keith.lamothe Assigned To => keith.lamothe
Aug 13, 2012 9:59 am keith.lamothe Status new => feedback
Aug 13, 2012 10:14 am PrimalPhantom Note Added: 0027582
Aug 13, 2012 10:14 am PrimalPhantom Status feedback => assigned
Aug 13, 2012 10:15 am PrimalPhantom Note Edited: 0027582
Aug 13, 2012 10:35 am keith.lamothe Note Added: 0027586
Aug 13, 2012 11:35 am PrimalPhantom Note Added: 0027589
Aug 13, 2012 12:00 pm Chris_McElligottPark Note Added: 0027591
Aug 13, 2012 12:03 pm Chris_McElligottPark Note Added: 0027592
Aug 13, 2012 12:06 pm Chris_McElligottPark Note Added: 0027593
Aug 13, 2012 12:08 pm keith.lamothe Note Added: 0027594
Aug 13, 2012 12:29 pm Chris_McElligottPark Note Added: 0027595
Aug 13, 2012 12:30 pm PrimalPhantom Note Added: 0027596
Aug 13, 2012 12:32 pm Chris_McElligottPark Note Added: 0027597
Aug 13, 2012 12:35 pm keith.lamothe Note Added: 0027598
Aug 13, 2012 12:35 pm PrimalPhantom Note Added: 0027599
Aug 13, 2012 12:36 pm Chris_McElligottPark Note Added: 0027600
Aug 13, 2012 12:49 pm PrimalPhantom Note Added: 0027602
Aug 13, 2012 12:50 pm Dazio Note Added: 0027603
Aug 13, 2012 1:01 pm keith.lamothe Note Added: 0027606
Apr 14, 2014 9:28 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception