Failed to decompile: Stack empty.

8 posts, 0 answers
  1. Gordon Buxton
    Gordon Buxton avatar
    7 posts
    Member since:
    Dec 2005

    Posted 17 Aug 2011 Link to this post

    Hi - the tool looks absolutely fabulous, just what I need, but I'm getting an exception decompiling several of the methods in a DLL.

    Most methods / properties look OK, but I get this error:

    Current member / type: System.Void GPRWebSyncComm.GPRWebSyncComm::AddFieldData(System.Data.DataTable,System.Data.DataRow,System.Int32,System.String)
    File path: D:\Projects\GPR\GPRWebSync\GPRWebSyncComm.dll
    Stack empty.
       at ..()
       at ..(MethodReference method)
       at ..OnCall(Instruction instruction)
       at ..(Instruction instruction, IInstructionVisitor visitor)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(Int32 index, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(InstructionBlock start, InstructionBlock limit, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.( data, IfStatement conditional)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.†(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.OnBne_Un(Instruction instruction)
       at ..(Instruction instruction, IInstructionVisitor visitor)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.„(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(Int32 index, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(InstructionBlock start, InstructionBlock limit, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.( data, IfStatement conditional)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.†(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.OnBeq(Instruction instruction)
       at ..(Instruction instruction, IInstructionVisitor visitor)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.„(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(Int32 index, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(InstructionBlock start, InstructionBlock limit, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(ExceptionHandlerData data)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block, InstructionBlock previous)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.()
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.Process(DecompilationContext context, BlockStatement body)
       at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language)
       at Telerik.JustDecompiler.Decompiler.Extensions.(DecompilationPipeline pipeline, ILanguage language, MethodBody body)
       at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Write(MethodDefinition method)
       at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(IMemberDefinition member, Boolean showCompilerGeneratedMembers)
       at JustDecompile.CodeViewer.CodeWriter.Write() in c:\B\Behemoth\JustDecompile Production Build\Sources\UI\JustDecompile.CodeViewer\Writers\CodeWriter.cs:line 34
       at JustDecompile.CodeViewer.ViewModels.CodeViewerViewModel.(AssemblyMemberNode member, CancellationToken cancellationToken) in c:\B\Behemoth\JustDecompile Production Build\Sources\UI\JustDecompile.CodeViewer\ViewModels\CodeViewerViewModel.cs:line 116

    I can't attach the file but is there somewhere I can email it to?
  2. Ronnie
    Ronnie avatar
    2 posts
    Member since:
    Jul 2011

    Posted 17 Aug 2011 Link to this post

    I get the same problem. The code is not obfuscated because it is just a few methods in the class that cause the problem.

    Stack empty.
       at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
       at System.Collections.Generic.Stack`1.Pop()
       at ..()
       at ..OnCall(Instruction instruction)
       at ..OnCallvirt(Instruction instruction)
       at ..(Instruction instruction, IInstructionVisitor visitor)
       at Telerik.JustDecompiler.Cil.BaseInstructionVisitor.Visit(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(Int32 index, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(InstructionBlock start, InstructionBlock limit, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(BlockRange range, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.( data, IfStatement conditional)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.†(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.OnBrtrue(Instruction instruction)
       at ..(Instruction instruction, IInstructionVisitor visitor)
       at Telerik.JustDecompiler.Cil.BaseInstructionVisitor.Visit(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.„(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(Instruction instruction)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(Int32 index, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.“(InstructionBlock start, InstructionBlock limit, BlockStatement block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(ExceptionHandlerData data)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.(InstructionBlock block, InstructionBlock previous)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.€(InstructionBlock block)
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.()
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.Run()
       at Telerik.JustDecompiler.Decompiler.StatementDecompiler.Process(DecompilationContext context, BlockStatement body)
       at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language)
       at Telerik.JustDecompiler.Decompiler.Extensions.(DecompilationPipeline pipeline, ILanguage language, MethodBody body)
       at Telerik.JustDecompiler.Decompiler.Extensions.Decompile(MethodBody body, ILanguage language)
       at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Write(MethodDefinition method)
       at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(IMemberDefinition member, Boolean showCompilerGeneratedMembers)
       at JustDecompile.CodeViewer.CodeWriter.Write() in c:\B\Behemoth\JustDecompile Production Build\Sources\UI\JustDecompile.CodeViewer\Writers\CodeWriter.cs:line 32
       at JustDecompile.CodeViewer.ViewModels.CodeViewerViewModel.(AssemblyMemberNode member, CancellationToken cancellationToken) in c:\B\Behemoth\JustDecompile Production Build\Sources\UI\JustDecompile.CodeViewer\ViewModels\CodeViewerViewModel.cs:line 116
  3. DevCraft banner
  4. Nikolay G Rusev
    Admin
    Nikolay G Rusev avatar
    44 posts

    Posted 23 Aug 2011 Link to this post

    Hello there,

     Thank you for the feedback.

    Gordon, you can send us the assembly at nikolayg(dot)rusev(at)telerik(dot)com.

    Ronnie, could you tell us how to reproduce the error? We can see that the exception is the same, but since it can happen for various reasons it would be best to investigate it separately.

    Regards,
    Nikolay G Rusev
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

  5. Gordon Buxton
    Gordon Buxton avatar
    7 posts
    Member since:
    Dec 2005

    Posted 23 Aug 2011 Link to this post

    I've emailed the DLL. I hope it helps!
  6. Ronnie
    Ronnie avatar
    2 posts
    Member since:
    Jul 2011

    Posted 24 Aug 2011 Link to this post

    Nikolay, you asked how you could reproduce the error I'm having. Well I notice that some of the methods contained in the list (with a purple rectangle) have the name grayed out. It is when I click on one of those that the exception happens. I'm sure these individual methods are not obfuscated but what does it mean that they are grayed out?
    Thanks for a great product!
    Ronnie
  7. Nikolay G Rusev
    Admin
    Nikolay G Rusev avatar
    44 posts

    Posted 29 Aug 2011 Link to this post

    Thank you for the follow up.

     Gordon, we were able to reproduce the error thanks to the dll.

     Ronnie, the methods with greyed out names are private, protected or internal. The problem you are having is certainly not because of that.

    The exception that you both get is because of a certain try/catch construction that we fail to handle properly.
    We already know about this problem and we are working on fixing it, so stay tuned.

    Greetings,
    Nikolay G Rusev
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

  8. Jim
    Jim avatar
    1 posts
    Member since:
    Sep 2011

    Posted 16 Sep 2011 Link to this post

    Nikolay,

    I am having the same error as Gordon.  You said that a fix is in the works and to stay tuned.  Has this been resolved?  How would I get the patch?

    Thank you.

    Jim
  9. Nikolay G Rusev
    Admin
    Nikolay G Rusev avatar
    44 posts

    Posted 21 Sep 2011 Link to this post

    Hi Jim,

     This issue still hasn't been resolved. We are currently doing a major overhaul of our decompilation engine that is going to address multiple issues that have been reported so far, this being one of them. So, we are going to release a "universal" fix for a number of structural problems like this. Most probably it's gonna come together with a major JD version update.

    So, the best thing you can do is turn on your new version notifications and update regularly. We are definitely gonnna fix this issue.

    Greetings,
    Nikolay G Rusev
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Back to Top
DevCraft banner