VisualD: VisualDComServer.exe crashes frequently inside D_Parser.dll to stackoverflow.

Random D-user via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Mon May 25 10:48:16 PDT 2015


On Sunday, 10 May 2015 at 15:17:54 UTC, Rainer Schuetze wrote:
>> Also, while I was testing I noticed couple new minor bugs:
>
> These issues are best reported directly at 
> https://github.com/aBothe/D_Parser/issues
>

Yeah, sure. You probably have way better things to do than relay 
other people's messages :)

It's just that I don't have a github account and I don't want to 
create yet another empty account for just that small thing. So 
instead I chose to spam my bugs here (since no registration) in 
hopes of someone reading and fixing these (for which I'm 
grateful).

Anyways, I found more bugs. This time they are related to Mago 
and VisualD (actual). I'll just post them to this same thread, so 
that everything is nicely contained.

1. a mouse hover tooltip crash bug when debugging with Mago. See 
repro below.

stacktrace:
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.ShimQuickInfoSource.TryGetQuickInfoFromFilter(Microsoft.VisualStudio.Language.Intellisense.IQuickInfoSession 
session, Microsoft.VisualStudio.TextManager.Interop.TextSpan[] 
dataBufferTextSpan, out string tipText)	
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.ShimQuickInfoSource.AugmentQuickInfoSession(Microsoft.VisualStudio.Language.Intellisense.IQuickInfoSession 
session, System.Collections.Generic.IList<object> qiContent, out 
Microsoft.VisualStudio.Text.ITrackingSpan applicableToSpan)	
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Recalculate()	
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Start()	
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Language.Intellisense.Implementation.DefaultQuickInfoController.OnTextView_MouseHover(object 
sender, Microsoft.VisualStudio.Text.Editor.MouseHoverEventArgs e)	
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.RaiseHoverEvents()	
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.OnHoverTimer(object 
sender, System.EventArgs e)

repro:
class MyTest
{
     struct MyStruct
     {
         int a;
     }

     void foo()
     {
         k.a = 0;  // BUG: Break on this line using Mago and hover 
on k --> crash
     }

private:
     MyStruct k;
}

int main(string[] argv)
{
     auto t = new MyTest();
     t.foo();
     return 0;
}

2. a bug where mago forgets lines in a function. I wasn't able to 
do a working repro case yet (I attempted to code something 
similar but simpler), but I though that I'll just describe it 
just in case it rings a bell.

Basically, I'm unable to break (or step) lines of code in a 
function after certain statement and mago just jumps outside of 
the function. It has something to do with the order of use and 
definition of a inner struct (inside class). If I move the inner 
struct definition inside the class it fixes the issue and I'm 
able to step the code.

Example: (NOTE: not a repro case)
class Foo
{
   this()
   {
   }

   ~this()
   {
   }

   // FIX POINT 1 (see below)

   void fun1()
   {
     int num = 0;        // These are ok, but ...
     float konst = 1.0f;

     Bar[8] bars;  // BUG: Can't break to lines after this line.
                   // Debugger steps first to definition of Bar 
and then out of the function.
                   // Unless I move 'struct Bar' (from below) to 
'FIX POINT 1' which fixes everything and stepping works normally.

     foreach( b; bars )
       b.a = 100;

     fun2( bars, 1 );
     fun3( bars, 2 );

     // ... do stuff
   }

   struct Bar
   {
     int a;
     //...
   }
   void fun2(Bar[], int barIdx)
   {
     // do stuff
   }
   void fun3(Bar[], int barIdx)
   {
     // do more stuff
   }
}


More information about the Digitalmars-d-ide mailing list