WinBatch EXE Appcrash in wwprc44i.dll when executing tListProc()

Started by bru, December 02, 2016, 02:52:02 AM

Previous topic - Next topic

bru

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).
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

td

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.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

td

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.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade