Related Products: BVMS, application crash, memory dump

This article lists the scenarios in which technical support normally request dump file from a BVMS system. It contains general guidelines how to create a dump file for BVMS system and provides links to more concrete articles, that correspond to particular issues and exact steps to create a dump.

BVMS dumps are needed to troubleshoot the following types of issues:

  • Application crashes – dump is expected to provide more information about the cause of the crash and its origin.
  • Memory or handle leaks – dump is expected to point to their origins
  • Deadlocks, freezes and hangs – dump is expected to point to their origins

Recommended tool to create BVMS dumps.

The recommended tool is Procdump. It is a command line tool which must be started from the command shell. Development provides couple of .bat files that start Procdump with predefined parameters and cover the most common dump creation cases. The tool as well as the set of .bat files are attached to this article: BVMS_DumpTools_V2.zip

The batch file names follow a naming guideline: <Executable>_<Dump use case> , where <Executable> is one of:

  • ConfigClient
  • ConfigWizard
  • OperatorClient
  • ManagementServer
  • ArchivePlayer
  • ExceptionTest

and <Dump use case> is one of

  • SingleDump
  • TwoDumps
  • DumpOnException
  • DumpOnHang
  • ActivatePostmortemDebugging

There are 3 possible error scenarios and corresponding dump creation methods:

Dump creation for reproducible crashes that trigger Windows Error Reporting

  • Run the affected application/service (Operator Client, Configuration Client or Management Server Service)
  • Reproduce the steps that lead to the crash
  • Leave the Windows crash dialog open
  • Run the corresponding batch file for creating a single dump: *_SingleDump.bat. E.g. run OperatorClient_SingleDump.bat to create a single dump of the Operator Client process.
  • Provide support with
    • the resulting .dmp file
    • a description of the steps to reproduce the problem
    • ConfigCollection

Note: attached you can find a configured example for this scenario and application Operator Client - BVMS_OC_dump_onException.zip

Dump creation for reproducible memory or handle leaks

  • Run the affected application/service (Operator Client, Configuration Client or Management Server Service)
  • Run the corresponding batch file for creating two dumps: *_TwoDumps.bat. E.g. run OperatorClient_TwoDumps.bat to create two dumps of the Operator Client process.
  • Note that by default, the delay between the two dumps is set to one hour (3600 seconds).
  • Depending on the magnitude of the memory leak, you might want to increase/decrease the delay. To do that, edit file *_TwoDumps.bat: replace value "3600" by a value that fits your needs e.g. a value of "7200" will create two dumps with a delay of two hours.
  • Reproduce the steps that lead to the memory leak. Wait until the second dump was created.
  • Provide support with
    • the resulting two .dmp files
    • a description of the steps to reproduce the memory leak
    • a ConfigCollection

Dump creation for crashes/hangs/freezes that are hard to reproduce

  • Deactivate the restarting option for Operator Client / Configuration Client:

To deactivate the restarting option for Operator Client / Configuration Client: edit ..\Bosch\VMS\bin\ConfigClient.exe.config or ..\Bosch\VMS\bin\OperatorClient.exe.config.

  • Navigate to section <appSettings>
  • add a new entry <add key = "DisableExceptionHandling" value="TRUE" />.
  • Run ActivatePostmortemDebugging.bat
  • Run the affected application/service (Operator Client, Configuration Client or Management Server Service)

  • As soon as the issue appears, check whether the dump was created.

    • Provide support with

    • the resulting .dmp file

    • description of the steps to reproduce the crash

    • ConfigCollection

Note: attached you can find a configured example for this scenario and application Operator Client - BVMS_OC_dump_Just-In-Time-Debuger.zip