Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8748909
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T12:36:18+00:00 2026-06-13T12:36:18+00:00

I have received from user that my application has crashed and that he saw

  • 0

I have received from user that my application has crashed and that he saw this in event viewer:

Framework Version: v4.0.30319    
Description: The process was terminated due to an unhandled exception.
    Exception Info: System.AccessViolationException
    Stack:
       at System.Drawing.SafeNativeMethods+Gdip.GdipDrawRectangleI(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, Int32, Int32, Int32, Int32)
       at System.Drawing.Graphics.DrawRectangle(System.Drawing.Pen, Int32, Int32, Int32, Int32)
       at System.Windows.Forms.ToolStripTextBox+ToolStripTextBoxControl.WmNCPaint(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.ToolStripTextBox+ToolStripTextBoxControl.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
       at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr, IntPtr)
       at System.Windows.Forms.NativeWindow.DefWndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Form.DefWndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef)
       at DeskandArchive.MainWindow.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
       at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG ByRef, System.Runtime.InteropServices.HandleRef, Int32, Int32, Int32)
       at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
       at A.cc1462b28845fccfe3634174d36bc619a.ce1b648a1c328cbefe2529fb98bf21b8c()

As far as I have searched through the internet, and as I can read from this, also including the fact that if my code crashes it should show dialog to report bug which user did not see, I came to conclusion that this is a bug in .NET framework in drawing of Toolstrip.

Am I right on this? Is there some way that this can be fixed? I have read suggestions to reinstall .NET framework, but most people reported that it didn’t help?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T12:36:19+00:00Added an answer on June 13, 2026 at 12:36 pm

    It is not ToolStrip that crashed, it is GDI+. GDI+ is a chunk of unmanaged code that existed long before .NET ever came around, System.Drawing is the namespace with wrapper classes for it. Like the Graphics class, used in this stack trace.

    Getting GDI+ to crash is quite rare, the .NET wrapper classes are very good at preventing bad arguments from getting passed to GDI+’s functions. Getting an AccessViolation like this requires corrupting the heap that GDI+ uses. The heap gets corrupted by pointer bugs in unmanaged code. That could be your code, notable is that you are overriding WndProc(). But more typically it is some app that injects itself into your process. Either intentionally, like a virus scanner, or accidentally like a shell extension handler that gets loaded when you use OpenFileDialog. Such extensions can use GDI+ as well, it is common, or just have a bad pointer that sprays garbage anywhere.

    You will never find out from a managed stack trace, the damage is done long before GDI+ falls over. This makes diagnosing heap corruption bugs incredibly difficult and a large reason for Java and .NET to become very popular platforms. It becomes impossible when you cannot exactly duplicate the user’s runtime environment. Bugs like these are almost always closed with “no repro”, like it would be if you submit it to Microsoft with only the stack trace as evidence. It is up to you to pursue a repro scenario but beware you’ll have a very hard time with it. Best thing to tell the user is to use another machine or otherwise get her machine stable again by uninstalling unnecessary or risky programs. Especially shell extensions.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have received a CSV that has been converted/compressed/compacted into a SAV file from
We have received some JavaScript from an agency that looks wrong, but works. For
I have a byte array, received from java application via network. I need to
I have an app that received JSON data from the server. Currently when I
I have a label that gets updated with values calculated from information received by
I have a Delphi 6 application that receives and processes an image stream from
I have this application (Windows form application written in Visual C++) from a colleague
I have a application that has a text field, something like a sample notepad
I have an application with tabs and every tab has HttpCLient that is triggered
I have received an assembly from a third party. I need to add it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.