This is a migrated thread and some comments may be shown as answers.

Bug report - Decompile error

1 Answer 61 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Vince
Top achievements
Rank 1
Vince asked on 11 Apr 2014, 08:02 AM
I have encountered a problem when decompiling some Mono .net 3.5 DLL. This is the

Current member / type: System.UInt32 XOR32::next()File path: D:\CMO\Data\Managed\Assembly-CSharp.dll
Product version: 2014.1.225.0Exception in: System.UInt32 next()
Queue empty.at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)at System.Collections.Generic.Queue`1.Peek()at Š.‡€.€(ICollection`1 €) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 525at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 445at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 363at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 307at ‚–.†.œ(”“ Ž, •Ÿ €–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\ExpressionDecompilerStep.cs:line 82at ‚–.™“.‹(MethodBody €–, ILanguage ) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 83at ‚–..›“(™“ œ“, ILanguage , MethodBody €–, ”“& ™) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 99at ‚–..š“(MethodBody €–, ILanguage , ”“& ™,  œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 62at ——.ƒ˜.—(ILanguage , MethodDefinition €,  œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\WriterContextServices\BaseWriterContextService.cs:line 116

Opcode (IL) of this method:

.method public hidebysig instance uint32 next () cil managed     {        .locals init (            [0] uint32 V_0,            [1] uint32 V_1        )
        IL_0000: ldarg.0        IL_0001: ldfld uint32 XOR32::x        IL_0006: ldarg.0        IL_0007: ldfld uint32 XOR32::x        IL_000c: ldc.i4.s 11        IL_000e: shl        IL_000f: xor        IL_0010: stloc.0        IL_0011: ldarg.0        IL_0012: ldarg.0        IL_0013: ldfld uint32 XOR32::y        IL_0018: stfld uint32 XOR32::x        IL_001d: ldarg.0        IL_001e: ldarg.0        IL_001f: ldfld uint32 XOR32::z        IL_0024: stfld uint32 XOR32::y        IL_0029: ldarg.0        IL_002a: ldarg.0        IL_002b: ldfld uint32 XOR32::w        IL_0030: stfld uint32 XOR32::z        IL_0035: ldarg.0        IL_0036: ldarg.0        IL_0037: ldfld uint32 XOR32::w        IL_003c: ldarg.0        IL_003d: ldfld uint32 XOR32::w        IL_0042: ldc.i4.s 19        IL_0044: shr.un        IL_0045: xor        IL_0046: ldloc.0        IL_0047: ldloc.0        IL_0048: ldc.i4.8        IL_0049: shr.un        IL_004a: xor        IL_004b: xor        IL_004c: dup        IL_004d: stloc.1        IL_004e: stfld uint32 XOR32::w        IL_0053: ldloc.1        IL_0054: ret    }


I hope you can resolve this issue, and i can finally decompile my code correctly.

As for the weird signs, there might be some japanese in there that doesn't translate well to this forum.

1 Answer, 1 is accepted

Sort by
0
Momchil
Telerik team
answered on 14 Apr 2014, 08:21 AM
Hello,

Thanks for pointing us this issue. It has been logged for future fixing.

Regards,
Momchil
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
Tags
General Discussions
Asked by
Vince
Top achievements
Rank 1
Answers by
Momchil
Telerik team
Share this question
or