LabVIEW Crash DAbort in image.cpp or drawmgr.cpp

Updated Aug 22, 2018

Reported In

Software

  • LabVIEW

Issue Details

  • My LabVIEW program has been crashing with errors in image.cpp or drawmgr.cpp
  • I have noticed in Windows Task Manager that the number of GDI Objects used by LabVIEW approaches 10,000
  • The error in inconsistent in when it occurs
  • This happens during edit-time, run-time, and, startup

Solution

  1. Try reducing the amount front panel objects
    • This will help reduce the total amount of GDI objects used by LabVIEW
  2. Change the limit of GDI object handles
  3. Install the latest video driver from the manufacturer
    • This will generally fix the memory leaks that lead to GDI overflow
  4. Change palette loading setting.
    • In any LabVIEW window go to the top tool bar and navigate to Tools»Options... 
    • This should open the options window. Navigate to Controls/Functions Palette
    • At the top there should be options for loading, select Load palettes when needed to try mitigate crashing
  1. Remove unnecessary libraries from your <LabVIEW>\user.lib directory
    • LabVIEW uses a GDI object for each palette image, so large numbers of palette VIs will contribute to this crash
  2. Call National Instruments support
    • If the the problem still persists after investigating the two options above contact National Instruments Support at www.ni.com/support to help troubleshoot the problem further

Additional Information

GDI (Graphics Device Interface) objects are a fixed Windows resource responsible for representing graphical objects. Each GDI object is private to a process, meaning only the process that created the GDI object can use the object handle. More detailed information can be found on Microsoft’s MSDN documentation of GDI Objects.

Each process, including LabVIEW.exe is limited by Windows to 10,000 GDI objects, and requests for more GDI objects causes LabVIEW to crash. This crash is caught by NI Error reporting tool (NIER) as DAbort in image.cpp or drawmgr.cpp.To confirm that excess GDI usage is the cause of the crash, use Windows Task Manager to view how many GDI Objects are being consumed by LabVIEW.

WAS THIS ARTICLE HELPFUL?

Not Helpful