Posted 17 years ago by Igor Velikorossov - Sydney, Australia
Version: 4.0.0246
Platform: .NET 2.0
Environment: Windows XP (32-bit)
The following seems to be occuring when I have
- put some code in the SE,
- it gets semantically parsed (SemanticParserService.Parse),
- after that the doc automatically outlined
- open a region
- hover some code object

A first chance exception of type 'System.NullReferenceException' occurred in ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll
An unhandled exception of type 'System.NullReferenceException' occurred in ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll

Additional information: Object reference not set to an instance of an object.

     ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll!ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpContext.a(ActiproSoftware.SyntaxEditor.Document A_0 = {ActiproSoftware.SyntaxEditor.Document}, ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.CompilationUnit A_1 = {[2169-79748] CompilationUnit}, ActiproSoftware.SyntaxEditor.Addons.DotNet.Dom.DotNetProjectResolver A_2 = null) + 0xaaf bytes    
     ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll!ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpContext.GetContextAtOffset(ActiproSoftware.SyntaxEditor.Document document = {ActiproSoftware.SyntaxEditor.Document}, int offset = 20914, ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.CompilationUnit compilationUnit = {[2169-79748] CompilationUnit}, ActiproSoftware.SyntaxEditor.Addons.DotNet.Dom.DotNetProjectResolver projectResolver = null) + 0x77 bytes    
     ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll!ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpSyntaxLanguage.GetContext(ActiproSoftware.SyntaxEditor.SyntaxEditor syntaxEditor = {ActiproSoftware.SyntaxEditor.SyntaxEditor}, int offset = 20914, bool beforeOffset = false, bool forParameterInfo = false) + 0xb4 bytes    
     ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll!ActiproSoftware.SyntaxEditor.Addons.DotNet.Dom.DotNetSyntaxLanguage.a(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.DotNetLanguage A_0 = CSharp, ActiproSoftware.SyntaxEditor.SyntaxEditor A_1 = {ActiproSoftware.SyntaxEditor.SyntaxEditor}, ref int A_2 = 20914) + 0x5f bytes    
     ActiproSoftware.SyntaxEditor.Addons.DotNet.Net20.dll!ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpSyntaxLanguage.OnSyntaxEditorViewMouseHover(ActiproSoftware.SyntaxEditor.SyntaxEditor syntaxEditor = {ActiproSoftware.SyntaxEditor.SyntaxEditor}, ActiproSoftware.SyntaxEditor.EditorViewMouseEventArgs e = {X = 637 Y = 212 Button = None}) + 0xa4 bytes    
     ActiproSoftware.SyntaxEditor.Net20.dll!ActiproSoftware.SyntaxEditor.SyntaxLanguage.a(ActiproSoftware.SyntaxEditor.SyntaxEditor A_0 = {ActiproSoftware.SyntaxEditor.SyntaxEditor}, ActiproSoftware.SyntaxEditor.EditorViewMouseEventArgs A_1 = {X = 637 Y = 212 Button = None}) + 0x217 bytes    
     ActiproSoftware.SyntaxEditor.Net20.dll!ActiproSoftware.SyntaxEditor.SyntaxEditor.b(ActiproSoftware.SyntaxEditor.EditorViewMouseEventArgs A_0 = {X = 637 Y = 212 Button = None}) + 0xb4 bytes    
     ActiproSoftware.SyntaxEditor.Net20.dll!ActiproSoftware.SyntaxEditor.EditorView.OnMouseHover(System.Windows.Forms.MouseEventArgs e = {X = 637 Y = 212 Button = None}) + 0x28c bytes    
     ActiproSoftware.WinUICore.Net20.dll!ActiproSoftware.WinUICore.UIElement.ActiproSoftware.WinUICore.IInputElement.RaiseMouseHoverEvent(System.Windows.Forms.MouseEventArgs e = {X = 637 Y = 212 Button = None}) + 0x20 bytes    
     ActiproSoftware.WinUICore.Net20.dll!ActiproSoftware.WinUICore.UIControl.OnMouseHover(System.EventArgs e = {System.EventArgs}) + 0x15d bytes    
     System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseHover(ref System.Windows.Forms.Message m) + 0x27 bytes    
     System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x795 bytes    
     System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) + 0x45 bytes    
     ActiproSoftware.SyntaxEditor.Net20.dll!ActiproSoftware.SyntaxEditor.SyntaxEditor.WndProc(ref System.Windows.Forms.Message m = {msg=0x2a1 (WM_MOUSEHOVER) hwnd=0x230b44 wparam=0x0 lparam=0xd4027d result=0x0}) + 0x4c bytes    
     System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0xd bytes    
     System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0xd6 bytes    
     System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 673, System.IntPtr wparam, System.IntPtr lparam) + 0x75 bytes    
Looking at the stack it occurs on handling on MouseHover event and subsequent attempt to display a tooltip info for the hovered memeber...

I am not sure how reproducable is the bug, but it happened a few times already with the set of data I have. It doesn't crash though if I try similar thing in the demo app provided as part of the download package.
I know that you would probably want a demo proj but I don't think it is possible.

[Modified at 04/17/2007 02:49 AM]

Comments (4)

Posted 17 years ago by Actipro Software Support - Cleveland, OH, USA
From your stack trace, this seems to be a problem in the C# context resoution code. If you make a new project and populate the DotNetProjectResolver the same way you do in your project (same assembly references, etc.), use the semantic parser service the same way, and you put the same sample code in SyntaxEditor, you should be able to reproduce it. Please narrow that down and email the ZIP over so we can debug the procedure and get it fixed for you. Thanks!

Actipro Software Support

Posted 17 years ago by Igor Velikorossov - Sydney, Australia
I've emailed a demo project.

[Modified at 04/17/2007 07:14 PM]
Posted 17 years ago by Actipro Software Support - Cleveland, OH, USA
Hi Igor,

Thanks for the demo project. The problem was that you weren't setting the DotNetProjectResolver to the Document.LanguageData property so it essentially was not being used. Our bug was that we weren't checking if it was null before attempting to use it in a certain spot. So that is fixed for the future but you still need to assign it to the Document.LanguageData or things won't work properly.

Actipro Software Support

Posted 17 years ago by Igor Velikorossov - Sydney, Australia
Thank you
The latest build of this product (v24.1.0) was released 4 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.