Reflector.Disassembler.OldTranslator+ExpressionHandlingException: Expression stack is empty at offse

Reflector.Disassembler.OldTranslator+ExpressionHandlingException: Expression stack is empty at offset 0007.
   at Reflector.Disassembler.OldTranslator.PeekExpression()
   at Reflector.Disassembler.OldTranslator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
   at Reflector.Disassembler.OldTranslator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
   at Reflector.Disassembler.OldTranslator.DecodeBlockStatement(Int32 offset, Int32 end)
   at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
   at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
   at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
   at Reflector.CodeModel.Visitor.Transformer.TransformMethodDeclarationCollection(IMethodDeclarationCollection methods)
   at Reflector.Disassembler.Disassembler.TransformTypeDeclaration(ITypeDeclaration value)
   at Reflector.Application.Translator.TranslateTypeDeclaration(ITypeDeclaration value, Boolean memberDeclarationList, Boolean methodDeclarationBody)
   at Reflector.Application.FileDisassembler.WriteTypeDeclaration(ITypeDeclaration typeDeclaration, String sourceFile, ILanguageWriterConfiguration languageWriterConfiguration)
xxxxxxxxxxxxxxxxxxxx.cs


Version 10.0.8.814 VSPro

Tagged:

Best Answers

Answers

  • GeedsenGeedsen Posts: 5 New member

    Ok, I just updated to version 10.0.9.857 VSPro. Still no luck. I extracted the source of the latest (Edge) version of Dockers, "Docker for Windows.exe". This is the content of one of the files:

    System.InvalidOperationException: Invalid expression stack size during null coalescing expression translation.
       at Reflector.Disassembler.OldTranslator.DecodeNullCoalescingExpressionOrStatement()
       at Reflector.Disassembler.OldTranslator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeBlockStatement(Int32 offset, Int32 end)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
       at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
       at Reflector.CodeModel.Visitor.Transformer.TransformMethodDeclarationCollection(IMethodDeclarationCollection methods)
       at Reflector.Disassembler.Disassembler.TransformTypeDeclaration(ITypeDeclaration value)
       at Reflector.Application.Translator.TranslateTypeDeclaration(ITypeDeclaration value, Boolean memberDeclarationList, Boolean methodDeclarationBody)
       at Reflector.Application.FileDisassembler.WriteTypeDeclaration(ITypeDeclaration typeDeclaration, String sourceFile, ILanguageWriterConfiguration languageWriterConfiguration)
    namespace Docker.Backend
    {
    }

    Getting the source for Docker.Core:

    Reflector.Disassembler.OldTranslator+ExpressionHandlingException: Expression stack is empty at offset 0007.
       at Reflector.Disassembler.OldTranslator.PeekExpression()
       at Reflector.Disassembler.OldTranslator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeBlockStatement(Int32 offset, Int32 end)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
       at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
       at Reflector.CodeModel.Visitor.Transformer.TransformMethodDeclarationCollection(IMethodDeclarationCollection methods)
       at Reflector.Disassembler.Disassembler.TransformTypeDeclaration(ITypeDeclaration value)
       at Reflector.Application.Translator.TranslateTypeDeclaration(ITypeDeclaration value, Boolean memberDeclarationList, Boolean methodDeclarationBody)
       at Reflector.Application.FileDisassembler.WriteTypeDeclaration(ITypeDeclaration typeDeclaration, String sourceFile, ILanguageWriterConfiguration languageWriterConfiguration)
    namespace Docker.Core.Pipe
    {
    }

    and this one

    Reflector.Disassembler.OldTranslator+ExpressionHandlingException: Expression stack is empty at offset 0029.
       at Reflector.Disassembler.OldTranslator.PeekExpression()
       at Reflector.Disassembler.OldTranslator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
       at Reflector.Disassembler.OldTranslator.DecodeBlockStatement(Int32 offset, Int32 end)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
       at Reflector.Disassembler.OldTranslator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
       at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
       at Reflector.CodeModel.Visitor.Transformer.TransformMethodDeclarationCollection(IMethodDeclarationCollection methods)
       at Reflector.Disassembler.Disassembler.TransformTypeDeclaration(ITypeDeclaration value)
       at Reflector.Application.Translator.TranslateTypeDeclaration(ITypeDeclaration value, Boolean memberDeclarationList, Boolean methodDeclarationBody)
       at Reflector.Application.FileDisassembler.WriteTypeDeclaration(ITypeDeclaration typeDeclaration, String sourceFile, ILanguageWriterConfiguration languageWriterConfiguration)
    namespace Docker.Core
    {
    }


  • Russell DRussell D Posts: 1,324 Diamond 5
    edited August 20, 2018 11:38AM
    @Geedsen can I just confirm if you're doing this from within Visual Studio, and so are using the old translation engine? This isn't reproducible using the new engine so just wanted to rule that out.

    If you're using Desktop can you try it in the new engine?
    Have you visited our Help Centre?
  • GeedsenGeedsen Posts: 5 New member
    No, I am just running .net reflector. Sounds strange that with the same version of reflector and the same assembly we are trying to decompile we would get different results. Is there a dependency for reflector that I may have a different version of?

  • GeedsenGeedsen Posts: 5 New member
    edited August 20, 2018 12:34PM
    I don't think so, just version 10.0.9.857 VSPro. Does the text 'OldTranslator' in the errors tell me something about what is being used?
  • GeedsenGeedsen Posts: 5 New member
    Indeed , the experimental engine works just fine. Thanks
  • Great, thanks for confirming!
    Have you visited our Help Centre?
Sign In or Register to comment.