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

Random D-user via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Sun May 3 07:26:19 PDT 2015


Thans for reply.

Unfortunately I don't have a clue what it's parsing when it 
crashes. It pretty much just randomly crashes (suddenly pops 
crash dialog (typically after 10 to 30 min)) as I'm typing code. 
I really haven't seen any crashes directly after attempting to 
use autocomplete, goto definition etc.

My codebase size is 15K+ loc, so isolating the crash is not 
trivial.

Is there any kind of log, debug message etc. for the visuald 
parser?
It would really help if I knew what type it was parsing when it 
crashed.

On Sunday, 3 May 2015 at 13:55:05 UTC, Rainer Schuetze wrote:
>
> Seems like it is recursing endlessly while generating a string 
> representation of some code, maybe a tool tip.
>
> Can you reduce the relevant code that triggers this and post it 
> here?
>
> Rainer
>
> On 01.05.2015 09:26, Random D-user wrote:
>> I've been toying around with my hobby project lately and 
>> VisualD parser
>> often (randomly) crashes in the background (and popping 
>> crashed program
>> dialog of course). So I decided to post this quick bug report 
>> on the off
>> chance it helps to fix it.
>>
>> My project compiles with latest DMD 2.067.1 without errors or 
>> warnings,
>> but it uses quite a bit of legacy d1.0 idioms, since I just 
>> ported to
>> 2.0 recently.
>>
>> For Visual D I've been using v0.3.41 beta 1 and 2. MSVC2013 
>> shell.
>>
>> Launching visual studio debugger on crash gives:
>>
>> An unhandled exception of type 'System.StackOverflowException' 
>> occurred
>> in D_Parser.dll
>>
>>>    
>>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.GenerateCode(D_Parser.Resolver.AbstractType
>>> t, bool pretty)
>>      D_Parser.dll!D_Parser.Resolver.AbstractType.ToString()
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.VisitDelegateCallSymbol(D_Parser.Resolver.DelegateCallSymbol 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DelegateCallSymbol.Accept(D_Parser.Resolver.IResolvedTypeVisitor 
>> vis)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.AcceptType(D_Parser.Resolver.AbstractType 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.GenerateCode(D_Parser.Resolver.AbstractType 
>> t, bool pretty)
>>      D_Parser.dll!D_Parser.Resolver.AbstractType.ToString()
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.VisitDelegateCallSymbol(D_Parser.Resolver.DelegateCallSymbol 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DelegateCallSymbol.Accept(D_Parser.Resolver.IResolvedTypeVisitor 
>> vis)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.AcceptType(D_Parser.Resolver.AbstractType 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.GenerateCode(D_Parser.Resolver.AbstractType 
>> t, bool pretty)
>>      D_Parser.dll!D_Parser.Resolver.AbstractType.ToString()
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.VisitDelegateCallSymbol(D_Parser.Resolver.DelegateCallSymbol 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DelegateCallSymbol.Accept(D_Parser.Resolver.IResolvedTypeVisitor 
>> vis)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.AcceptType(D_Parser.Resolver.AbstractType 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.GenerateCode(D_Parser.Resolver.AbstractType 
>> t, bool pretty)
>>      D_Parser.dll!D_Parser.Resolver.AbstractType.ToString()
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.VisitDelegateCallSymbol(D_Parser.Resolver.DelegateCallSymbol 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DelegateCallSymbol.Accept(D_Parser.Resolver.IResolvedTypeVisitor 
>> vis)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.AcceptType(D_Parser.Resolver.AbstractType 
>> t)
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.GenerateCode(D_Parser.Resolver.AbstractType 
>> t, bool pretty)
>>      D_Parser.dll!D_Parser.Resolver.AbstractType.ToString()
>>
>>     
>> D_Parser.dll!D_Parser.Resolver.DTypeToCodeVisitor.VisitDelegateCallSymbol(D_Parser.Resolver.DelegateCallSymbol 
>> t)
>>
>> ...



More information about the Digitalmars-d-ide mailing list