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

Rainer Schuetze via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Sun May 3 06:55:05 PDT 2015


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