We experience a sporadic issue on some of our computers.
When executing this small sample script, some computers can finish it successfully while on other computers it crashes somewhere in the middle (after 500, 6000, 20000 or whatever iterations):
AddExtender("wwprc44i.dll")
FOR i = 1 TO 100000
Processlist = tListProc()
BoxTitle(i)
BoxText(Processlist)
ENDFOR
Pause(i, Processlist)
This also happens after rebooting the computer and/or repairing the performance counters (as described here: http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Functions+!!~Performance~Monitoring~and~WinBatch~!!.txt (http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Functions+!!~Performance~Monitoring~and~WinBatch~!!.txt)).
After confirming the Appcrash-Dialog we can restart this script and it keeps running until the next crash comes somewhere in the future ...
At the moment I have no clue what to analyze or how to solve it, as it occurs sporadically and not on all computers (all of them have Win7 OS).
We use WinBatch 2016B and latest version of wwprc44i.dll (Ver 44016 Apl 28, 2010).
Maybe wwprc44i.dll and another process (outside of Winbatch) access the performance counter data at the same time, which will lead to the crash...?
Here are some more details on the APPCRASH source (this data is the same on all crashes, German Version of Win7; this was from a WinBatch 2013C-version, but it also occurs with WinBatch 2016B):
Problemereignisname: APPCRASH
Anwendungsname: WinBatch.exe
Anwendungsversion: 2013.3.0.0
Anwendungszeitstempel: 520babc1
Fehlermodulname: wwprc44i.dll
Fehlermodulversion: 44016.0.0.0
Fehlermodulzeitstempel: 4bd86b69
Ausnahmecode: c0000005
Ausnahmeoffset: 0000169b
Betriebsystemversion: 6.1.7601.2.1.0.256.4
Gebietsschema-ID: 3079
Zusatzinformation 1: d1bf
Zusatzinformation 2: d1bfe90aec7b92f5e3d0289e02eda582
Zusatzinformation 3: 337a
Zusatzinformation 4: 337a1c5270097b4ad952ab6e5bc07e32
Any hints that will help us in our further investigation will be appreciated!
Thanks!
Juergen
The 'AppCrash' info is mostly worthless. It does tell you the module where the access violation occurred but by the time the error occurs the stack is usually corrupt so the information is often not very accurate. The same applies to the module offset. The only way to get useful information is to provide us with a minidump. You can do that that by starting TaskMgr.exe -> Processes tab -> select WinBatch while it is still displaying the crash dialog. Right-click it and Create Dump File. You will need to do this with the latest version of WinBatch. You can send the dump file to Tech Support as a zip file.
While the minidump may tell use were the crash is occurring, it doesn't mean that we can do anything about it. The problem may result from an issue on the systems with the error. There is some outside chance that you may find an issue by using the Perfmon tool to compare systems that do not have the problem with systems that do have the problem. You can also check the event logs of the problem systems for any errors that might be related to performance counters. Look for the PerfLib event source.
Neglected to mention the lodctr command line untility mentioned in the the Tech Database article. You use "lodctr /Q" to get a list of enabled counters. Comparing the output from a system that crashes against the output of a system that does not crash may give you some idea of the source of the problem.