11235813/matlabadin

fsm.exe crashes repeatedly during calc_statscaling

Opened this issue · 2 comments

Run calc_statscaling in r504 (uploading shortly)

During the hit/hit calcs (hit scaling for hit) and hit/haste calcs (hit scaling 
for haste), the code has to generate a large number of results.  During these 
long generation periods, fsm.exe will crash several times.  Occasionally this 
will throw an error in matlab as well (see below).

Unhandled Exception: System.AggregateException: One or more errors occurred. 
---> System.IndexOutOfRangeException: Index was outside the bounds of the 
array. 
   at Matlabadin.MatlabadinGraph`1.UpdateFromFixedWidthNextState(Double[] pr, Double[] nextPr) 
   at Matlabadin.MatlabadinGraph`1.CalculateNextStateProbability(Double[] pr, Double decayFactor) 
   at Matlabadin.MatlabadinGraph`1.ConvergeStateProbability(Int32& iterationsPerformed, Double& finalRelTolerance, Double& finalAbsTolerance, Double relTolerance, Double absTolerance, Int32 maxIterations, Int32 iterationStride, Double[] initialState) 
   at Matlabadin.Program.ProcessGraph(TextWriter stream, String rotation, PaladinSpec spec, PaladinTalents talents, Int32 stepsPerHastedGcd, Double haste, Double mehit, Double rahit, Buff[] permanentBuffs) 
   at Matlabadin.Program.ProcessGraph(String file, String rotation, PaladinSpec spec, PaladinTalents talents, Int32 stepsPerHastedGcd, Double haste, Double mehit, Double rahit, Buff[] permanentBuffs) 
   at Matlabadin.Program.ProcessParams(String[] args) 
   at System.Threading.Tasks.Task.Execute() 
   --- End of inner exception stack trace --- 
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) 
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout) 
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks) 
   at Matlabadin.Program.ParallelProcess(TextReader input) 
   at Matlabadin.Program.Main(String[] args)
??? Error using ==> feof
Invalid file identifier.  Use fopen to generate a valid file identifier.

Error in ==> memoized_fsm>load_fsm_csv at 62
    while not(feof(fid))

Error in ==> memoized_fsm at 45
    [actionPr, metadata, uptime] = load_fsm_csv(filename);

Error in ==> rotation_model at 131
            [c.rot.actionPr, ...

Error in ==> calc_statscaling at 172
        c=rotation_model(c);

I've also included two of the error log files below, if they're at all useful:

WERF90A.tmp.appcompat.txt:
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="fsm.exe" FILTER="CMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="fsm.exe" SIZE="69632" CHECKSUM="0x192F32F9" BIN_FILE_VERSION="0.0.0.0" BIN_PRODUCT_VERSION="0.0.0.0" PRODUCT_VERSION="0.0.0.0" FILE_DESCRIPTION=" " FILE_VERSION="0.0.0.0" ORIGINAL_FILENAME="fsm.exe" INTERNAL_NAME="fsm.exe" LEGAL_COPYRIGHT=" " VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="0.0.0.0" UPTO_BIN_PRODUCT_VERSION="0.0.0.0" LINK_DATE="08/05/2012 18:19:17" UPTO_LINK_DATE="08/05/2012 18:19:17" VER_LANGUAGE="Language Neutral [0x0]" EXE_WRAPPER="0x0" FILE_ID="00001e6cb8b89d71726254c70c1e6f4e9008f9bf74c0" PROGRAM_ID="0000da39a3ee5e6b4b0d3255bfef95601890afd80709" />
</EXE>
<EXE NAME="clr.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="clr.dll" SIZE="9793280" CHECKSUM="0x42B57458" BIN_FILE_VERSION="4.0.30319.269" BIN_PRODUCT_VERSION="4.0.30319.269" PRODUCT_VERSION="4.0.30319.269" FILE_DESCRIPTION="Microsoft .NET Runtime Common Language Runtime - WorkStation" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® .NET Framework" FILE_VERSION="4.0.30319.269 (RTMGDR.030319-2600)" ORIGINAL_FILENAME="clr.dll" INTERNAL_NAME="clr.dll" LEGAL_COPYRIGHT="© Microsoft Corporation.  All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x964183" LINKER_VERSION="0xA0000" UPTO_BIN_FILE_VERSION="4.0.30319.269" UPTO_BIN_PRODUCT_VERSION="4.0.30319.269" LINK_DATE="12/15/2011 11:15:45" UPTO_LINK_DATE="12/15/2011 11:15:45" EXPORT_NAME="mscorwks_ntdef.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" FILE_ID="00006b8286f068db77de56a171a076b6c62322b221ba" PROGRAM_ID="0000d2ebf46831d2cb329af767293eb20cfd0000ffff" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1162752" CHECKSUM="0x38678646" BIN_FILE_VERSION="6.1.7601.17651" BIN_PRODUCT_VERSION="6.1.7601.17651" PRODUCT_VERSION="6.1.7600.16385" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="6.1.7600.16385 (win7_rtm.090713-1255)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x12386D" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7601.17651" UPTO_BIN_PRODUCT_VERSION="6.1.7601.17651" LINK_DATE="07/16/2011 05:27:23" UPTO_LINK_DATE="07/16/2011 05:27:23" EXPORT_NAME="KERNEL32.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" FILE_ID="0000ade184001d3b1d5cb68c5922428c6148303b63cd" PROGRAM_ID="0000f519feec486de87ed73cb92d3cac802400000000" />
</EXE>
</DATABASE>

WERDFEE.tmp.WERInternalMetadata.xml:

<?xml version="1.0" encoding="UTF-16"?>
-<WERReportMetadata> -<OSVersionInformation> 
<WindowsNTVersion>6.1</WindowsNTVersion> <Build>7601 Service Pack 1</Build> 
<Product>(0x30): Windows 7 Professional</Product> 
<Edition>Professional</Edition> 
<BuildString>7601.17835.amd64fre.win7sp1_gdr.120503-2030</BuildString> 
<Revision>1130</Revision> <Flavor>Multiprocessor Free</Flavor> 
<Architecture>X64</Architecture> <LCID>1033</LCID> </OSVersionInformation> 
-<ParentProcessInformation> <ParentProcessId>3968</ParentProcessId> 
<ParentProcessPath>C:\Windows\System32\cmd.exe</ParentProcessPath> 
<ParentProcessCmdLine>cmd /e:4096 /c "fsm.exe 
<data\\fsm_gen_input_227665.tmp"</ParentProcessCmdLine> 
</ParentProcessInformation> -<ProblemSignatures> 
<EventType>APPCRASH</EventType> <Parameter0>fsm.exe</Parameter0> 
<Parameter1>0.0.0.0</Parameter1> <Parameter2>501eb925</Parameter2> 
<Parameter3>clr.dll</Parameter3> <Parameter4>4.0.30319.269</Parameter4> 
<Parameter5>4ee9d6e1</Parameter5> <Parameter6>c0000005</Parameter6> 
<Parameter7>00000000001750b8</Parameter7> </ProblemSignatures> 
-<DynamicSignatures> <Parameter1>6.1.7601.2.1.0.256.48</Parameter1> 
<Parameter2>1033</Parameter2> <Parameter22>b84f</Parameter22> 
<Parameter23>b84fd7d7c9e22eb02ea540ad81d51552</Parameter23> 
<Parameter24>bf45</Parameter24> 
<Parameter25>bf45684e865a267a41b0062934da7820</Parameter25> 
</DynamicSignatures> -<SystemInformation> 
<MID>74F9EC72-2ED0-4560-9F94-300B79A3ADC9</MID> <SystemManufacturer>System 
manufacturer</SystemManufacturer> <SystemProductName>System Product 
Name</SystemProductName> <BIOSVersion>1305</BIOSVersion> </SystemInformation> 
</WERReportMetadata>

Original issue reported on code.google.com by theckhd on 5 Aug 2012 at 8:22

Update: It seems to happen when fsm.exe starts to use up too much memory.  It 
just happened to me again, and it was at ~12 GB of memory usage in Task 
Manager.  I have 16GB installed in the system.  After it crashed, here's what 
the Physical Memory section of Task Manager displayed:

Physical Memory (MB):
Total   16364
Cached   1350
Available 12362
Free 11026

My guess is that it's simply trying to use more memory than the system has 
available.

Original comment by theckhd on 5 Aug 2012 at 8:28

Update 2: Just crashed again at ~6 GB memory usage, so maybe that theory's out.

Original comment by theckhd on 5 Aug 2012 at 8:31