question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Fatal error in Unity CIL Linker

See original GitHub issue

Hi !

We’ve tried to make a development build using both versions 4.11.4 and 4.12.2, but we still get the following error :

Failed running /Applications/UnityInstalls/2017.3.0f2/Unity.app/Contents/il2cpp/build/UnityLinker.exe --api=NET_2_0_Subset -out="/Users/me/Workspace/Temp/StagingArea/Data/Managed/tempStrip" -l=none -c=link --link-symbols -x="/Applications/UnityInstalls/2017.3.0f2/PlaybackEngines/iOSSupport/Whitelists/Core.xml" -f="/Applications/UnityInstalls/2017.3.0f2/Unity.app/Contents/il2cpp/LinkerDescriptors" -x "/Users/me/Workspace/Temp/StagingArea/Data/Managed/../platform_native_link.xml" -x "/Users/me/Workspace/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "/Users/me/Workspace/Temp/StagingArea/Data/UnityEngine.xml" -x "/Users/me/Workspace/Temp/StagingArea/Data/preserved_derived_types.xml" -x "/Users/me/Workspace/Assets/JsonDotNet/link.xml" -d "/Users/me/Workspace/Temp/StagingArea/Data/Managed" -a  "/Users/me/Workspace/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" -a  "/Users/me/Workspace/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" -a  "/Users/me/Workspace/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" -a  "/Users/me/Workspace/Temp/StagingArea/Data/Managed/TextMeshPro-1.0.55.2017.1.0b11.dll"

stdout:
Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: 'System.Object com.adjust.sdk.JSONNode/<>c__Iterator1::System.Collections.IEnumerator.get_Current()' in assembly: 'Assembly-CSharp.dll' ---> System.ArgumentNullException: Value cannot be null.
Parameter name: instruction
  at Mono.Cecil.Cil.InstructionOffset..ctor (Mono.Cecil.Cil.Instruction instruction) [0x00003] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadScope (Mono.Cecil.Cil.ScopeDebugInformation scope) [0x00015] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadScopes (Mono.Collections.Generic.Collection`1[T] scopes) [0x0000c] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadScope (Mono.Cecil.Cil.ScopeDebugInformation scope) [0x000af] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadScopes (Mono.Collections.Generic.Collection`1[T] scopes) [0x0000c] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadScope (Mono.Cecil.Cil.ScopeDebugInformation scope) [0x000af] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadDebugInfo () [0x0002a] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadMethodBody () [0x00091] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.Cil.CodeReader.ReadMethodBody (Mono.Cecil.MethodDefinition method) [0x00014] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.MetadataReader.ReadMethodBody (Mono.Cecil.MethodDefinition method) [0x00000] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.MethodDefinition+<>c.<get_Body>b__41_0 (Mono.Cecil.MethodDefinition method, Mono.Cecil.MetadataReader reader) [0x00000] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.ModuleDefinition.Read[TItem,TRet] (TRet& variable, TItem item, System.Func`3[T1,T2,TResult] read) [0x0003c] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Cecil.MethodDefinition.get_Body () [0x0002c] in <99a636aaf9994cf9a22f0334e6277be1>:0 
  at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00199] in <2eb3e637aba84583bf98dc730423517b>:0 
  at UnityLinker.Steps.UnityMarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x002b9] in <e329073fad664455a4af82f7763fe28e>:0 
  at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00020] in <2eb3e637aba84583bf98dc730423517b>:0 
   --- End of inner exception stack trace ---
  at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00051] in <2eb3e637aba84583bf98dc730423517b>:0 
  at Mono.Linker.Steps.MarkStep.ProcessEntireQueue () [0x00007] in <2eb3e637aba84583bf98dc730423517b>:0 
  at Mono.Linker.Steps.MarkStep.Process () [0x00017] in <2eb3e637aba84583bf98dc730423517b>:0 
  at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x0000e] in <2eb3e637aba84583bf98dc730423517b>:0 
  at UnityLinker.Steps.UnityMarkStep.Process (Mono.Linker.LinkContext context) [0x0000c] in <e329073fad664455a4af82f7763fe28e>:0 
  at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x00020] in <2eb3e637aba84583bf98dc730423517b>:0 
  at UnityLinker.UnityDriver.Run () [0x00086] in <e329073fad664455a4af82f7763fe28e>:0 
  at UnityLinker.UnityDriver.RunDriverWithoutErrorHandling () [0x00001] in <e329073fad664455a4af82f7763fe28e>:0 
  at UnityLinker.UnityDriver.RunDriver () [0x00002] in <e329073fad664455a4af82f7763fe28e>:0 
stderr:

0   Unity                               0x00000001019561ec _Z13GetStacktracei + 92
1   Unity                               0x0000000100bd6830 _Z17DebugStringToFileRK21DebugStringToFileData + 352
2   Unity                               0x0000000100bd4611 _Z17DebugStringToFilePKciS0_i15LogMessageFlagsiiPFvRK11CppLogEntryE + 97
3   Unity                               0x0000000101b127f9 _Z35DebugLogHandler_CUSTOM_Internal_Log7LogTypeP10MonoStringP10MonoObject + 505
4   [Mono JITed code]                   (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,string,UnityEngine.Object) + 0xa5 (0x139717c10 0x139717ce4) [0x1369b8330 - Unity Child Domain]
5   [Mono JITed code]                   UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) + 0xc0 (0x139717b10 0x139717bf4) [0x1369b8330 - Unity Child Domain]
6   [Mono JITed code]                   UnityEngine.Logger:Log (UnityEngine.LogType,object) + 0x195 (0x1397173f0 0x1397175a9) [0x1369b8330 - Unity Child Domain]
7   [Mono JITed code]                   UnityEngine.Debug:LogError (object) + 0x8f (0x149d8a490 0x149d8a543) [0x1369b8330 - Unity Child Domain]
8   [Mono JITed code]                   UnityEditorInternal.Runner:RunProgram (UnityEditor.Utils.Program,string,string,string,UnityEditor.Scripting.Compilers.CompilerOutputParserBase) + 0xb9b (0x145875e50 0x145877104) [0x1369b8330 - Unity Child Domain]
9   [Mono JITed code]                   UnityEditorInternal.Runner:RunManagedProgram (string,string,string,UnityEditor.Scripting.Compilers.CompilerOutputParserBase,System.Action`1<System.Diagnostics.ProcessStartInfo>) + 0x417 (0x1458759f0 0x145875e2b) [0x1369b8330 - Unity Child Domain]
10  [Mono JITed code]                   UnityEditorInternal.AssemblyStripper:RunAssemblyLinker (System.Collections.Generic.IEnumerable`1<string>,string&,string&,string,string) + 0x1cc (0x145875320 0x14587558e) [0x1369b8330 - Unity Child Domain]
11  [Mono JITed code]                   UnityEditorInternal.AssemblyStripper:StripAssembliesTo (string[],string[],string,string,string&,string&,string,UnityEditorInternal.IIl2CppPlatformProvider,System.Collections.Generic.IEnumerable`1<string>) + 0xefe (0x145873840 0x145874796) [0x1369b8330 - Unity Child Domain]
12  [Mono JITed code]                   UnityEditorInternal.AssemblyStripper:RunAssemblyStripper (string,System.Collections.IEnumerable,string,string[],string[],string,UnityEditorInternal.IIl2CppPlatformProvider,UnityEditor.RuntimeClassRegistry) + 0xeaf (0x14586aa70 0x14586c51f) [0x1369b8330 - Unity Child Domain]
13  [Mono JITed code]                   UnityEditorInternal.AssemblyStripper:StripAssemblies (string,UnityEditorInternal.IIl2CppPlatformProvider,UnityEditor.RuntimeClassRegistry) + 0x2df (0x145868f30 0x145869233) [0x1369b8330 - Unity Child Domain]
14  [Mono JITed code]                   UnityEditorInternal.IL2CPPBuilder:Run () + 0x36c (0x145868000 0x1458687e7) [0x1369b8330 - Unity Child Domain]
15  [Mono JITed code]                   UnityEditorInternal.IL2CPPUtils:RunIl2Cpp (string,string,UnityEditorInternal.IIl2CppPlatformProvider,System.Action`1<string>,UnityEditor.RuntimeClassRegistry,bool) + 0x1d9 (0x149b0dd60 0x149b0df93) [0x1369b8330 - Unity Child Domain]
16  [Mono JITed code]                   UnityEditor.iOS.PostProcessiPhonePlayer:CrossCompileManagedDlls (UnityEditor.iOS.PostProcessiPhonePlayer/BuildSettings,UnityEditor.iOS.PostProcessiPhonePlayer/ProjectPaths,UnityEditor.AssemblyReferenceChecker,UnityEditor.RuntimeClassRegistry,UnityEditor.BuildReporting.BuildReport) + 0xccb (0x149b0c250 0x149b0d502) [0x1369b8330 - Unity Child Domain]
17  [Mono JITed code]                   UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess (UnityEditor.iOS.PostProcessiPhonePlayer/BuildSettings,UnityEditor.iOS.PostProcessiPhonePlayer/ProjectPaths,UnityEditor.RuntimeClassRegistry,UnityEditor.BuildReporting.BuildReport) + 0x110f (0x149b04c60 0x149b0851f) [0x1369b8330 - Unity Child Domain]
18  [Mono JITed code]                   UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess (UnityEditor.iOS.PostProcessorSettings,UnityEditor.Modules.BuildPostProcessArgs) + 0x720 (0x149b00000 0x149b00747) [0x1369b8330 - Unity Child Domain]
19  [Mono JITed code]                   UnityEditor.iOS.iOSBuildPostprocessor:PostProcess (UnityEditor.Modules.BuildPostProcessArgs) + 0x146 (0x1499e7900 0x1499e7a6a) [0x1369b8330 - Unity Child Domain]
20  [Mono JITed code]                   UnityEditor.PostprocessBuildPlayer:Postprocess (UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,string,string,string,int,int,UnityEditor.BuildOptions,UnityEditor.RuntimeClassRegistry,UnityEditor.BuildReporting.BuildReport) + 0x771 (0x1499e6ab0 0x1499e738c) [0x1369b8330 - Unity Child Domain]
21  [Mono JITed code]                   (wrapper runtime-invoke) <Module>:runtime_invoke_void_int_int_object_object_object_int_int_int_object_object (object,intptr,intptr,intptr) + 0x1f3 (0x1499e73a0 0x1499e76c6) [0x1369b8330 - Unity Child Domain]
22  libmono.0.dylib                     0x00000001361bc1ce mono_get_runtime_build_info + 3654
23  libmono.0.dylib                     0x00000001362e8ab6 mono_runtime_invoke + 117
24  Unity                               0x00000001010078aa _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 106
25  Unity                               0x00000001011dd34f _ZL8CallMonoPKcS0_S0_RK18ScriptingArguments + 159
26  Unity                               0x00000001011c54f8 _ZL23DoBuildPlayer_PostBuildRN4core12basic_stringIcNS_20StringStorageDefaultIcEEEE18BuildPlayerOptions18ScriptingObjectPtr24BuildTargetPlatformGroup19BuildTargetPlatformRN14BuildReporting11BuildReportE + 2648
27  Unity                               0x00000001011c4847 _Z13DoBuildPlayerRK16BuildPlayerSetupRSt6vectorIN18EditorSceneManager11SceneBackupE13stl_allocatorIS4_L18MemLabelIdentifier105ELi16EEEN4core12basic_stringIcNSA_20StringStorageDefaultIcEEEES2_ISE_SaISE_EEbRN14BuildReporting11BuildReportEPNSH_20BuiltAssetBundleInfoE + 2503
28  Unity                               0x00000001011c903b _Z11BuildPlayerRK16BuildPlayerSetupRN14BuildReporting11BuildReportE + 2923
29  Unity                               0x0000000102537084 _Z47BuildPipeline_CUSTOM_BuildPlayerInternalNoCheckP9MonoArrayP10MonoStringS2_24BuildTargetPlatformGroup19BuildTargetPlatform18BuildPlayerOptionsh + 692
30  [Mono JITed code]                   (wrapper managed-to-native) UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck (string[],string,string,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,UnityEditor.BuildOptions,bool) + 0xd2 (0x142771300 0x142771401) [0x1369b8330 - Unity Child Domain]
31  [Mono JITed code]                   UnityEditor.BuildPlayerWindow/DefaultBuildMethods:BuildPlayer (UnityEditor.BuildPlayerOptions) + 0xc88 (0x142770000 0x142771048) [0x1369b8330 - Unity Child Domain]
32  [Mono JITed code]                   UnityEditor.BuildPlayerWindow:CallBuildMethods (bool,UnityEditor.BuildOptions) + 0x60f (0x13d238a20 0x13d23927a) [0x1369b8330 - Unity Child Domain]
33  [Mono JITed code]                   UnityEditor.BuildPlayerWindow:GUIBuildButtons (UnityEditor.Modules.IBuildWindowExtension,bool,bool,bool,UnityEditor.Build.BuildPlatform) + 0xbce (0x13d22c000 0x13d22ce34) [0x1369b8330 - Unity Child Domain]
34  [Mono JITed code]                   UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings () + 0x4105 (0x13d21c000 0x13d220244) [0x1369b8330 - Unity Child Domain]
35  [Mono JITed code]                   UnityEditor.BuildPlayerWindow:OnGUI () + 0xc69 (0x13cdc0bf0 0x13cdc1a04) [0x1369b8330 - Unity Child Domain]
36  [Mono JITed code]                   (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) + 0xfa (0x11ba077e0 0x11ba07a0d) [0x1369b8330 - Unity Child Domain]
37  libmono.0.dylib                     0x00000001361bc1ce mono_get_runtime_build_info + 3654
38  libmono.0.dylib                     0x00000001362e8ab6 mono_runtime_invoke + 117
39  libmono.0.dylib                     0x00000001362ee85c mono_runtime_invoke_array + 946
40  libmono.0.dylib                     0x00000001362ad1e3 mono_register_jit_icall + 37377
41  [Mono JITed code]                   (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&) + 0x103 (0x121bd4a30 0x121bd4b62) [0x1369b8330 - Unity Child Domain]
42  [Mono JITed code]                   System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) + 0x52c (0x121bd4000 0x121bd469f) [0x1369b8330 - Unity Child Domain]
43  [Mono JITed code]                   System.Reflection.MethodBase:Invoke (object,object[]) + 0x66 (0x11fcb2f50 0x11fcb2fc5) [0x1369b8330 - Unity Child Domain]
44  [Mono JITed code]                   UnityEditor.HostView:Invoke (string,object) + 0xfc (0x139910550 0x139910670) [0x1369b8330 - Unity Child Domain]
45  [Mono JITed code]                   UnityEditor.HostView:Invoke (string) + 0x8a (0x139910490 0x13991053e) [0x1369b8330 - Unity Child Domain]
46  [Mono JITed code]                   UnityEditor.HostView:OldOnGUI () + 0x3a3 (0x13cdc05a0 0x13cdc0b32) [0x1369b8330 - Unity Child Domain]
47  [Mono JITed code]                   UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event) + 0x8a8 (0x13a398e90 0x13a39a680) [0x1369b8330 - Unity Child Domain]
48  [Mono JITed code]                   UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event) + 0x198 (0x13a398910 0x13a398d18) [0x1369b8330 - Unity Child Domain]
49  [Mono JITed code]                   UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent (UnityEngine.Experimental.UIElements.EventBase) + 0x434 (0x139906000 0x13990650c) [0x1369b8330 - Unity Child Domain]
50  [Mono JITed code]                   UnityEngine.Experimental.UIElements.EventDispatcher:DispatchEvent (UnityEngine.Experimental.UIElements.EventBase,UnityEngine.Experimental.UIElements.IPanel) + 0xdb7 (0x1398fad20 0x1398fe731) [0x1369b8330 - Unity Child Domain]
51  [Mono JITed code]                   UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel) + 0x2e3 (0x13a379cc0 0x13a37a1df) [0x1369b8330 - Unity Child Domain]
52  [Mono JITed code]                   UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent (int,intptr) + 0x198 (0x13a379960 0x13a379b6c) [0x1369b8330 - Unity Child Domain]
53  [Mono JITed code]                   UnityEngine.GUIUtility:ProcessEvent (int,intptr) + 0xb7 (0x13a3795d0 0x13a3796f8) [0x1369b8330 - Unity Child Domain]
54  [Mono JITed code]                   (wrapper runtime-invoke) <Module>:runtime_invoke_bool_int_intptr (object,intptr,intptr,intptr) + 0x116 (0x13a379700 0x13a379953) [0x1369b8330 - Unity Child Domain]
55  libmono.0.dylib                     0x00000001361bc1ce mono_ge<message truncated>

We are able to make release builds though.

Is this a known issue ?

Configuration :

  • Adjusk SDK(s) : 4.11.4, 4.12.2
  • Unity Version : 2017.3.0f2

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
DavidATGreencommented, May 8, 2018

@2beens @uerceg @itadakimas @benzsuankularb Hello, I develop the Obfuscator product linked in this issue. I can confirm that it was a bug on my side (now fixed in the latest version) and not related to Adjust in any way. Sorry for any time spent looking into this.

It only occurs in development builds and seems to only affect recent Unity versions. The symbol table was getting messed up which sometimes triggered an exception like the one reported and would choose innocent parts of the code for the error message!

1reaction
uercegcommented, Feb 14, 2018

@itadakimas

Thanks for noticing this, we’ll give it a try and see if we can reproduce and see what is going on under the hood. Will keep you posted.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Fatal error in Unity CIL Linker (Failed to resolve assembly ...
Unfortunately, the root cause of this is likely our package com.unity.test-framework. This package uses the IFilterBuildAssemblies API.
Read more >
Fatal error in Unity CIL Linker - Problem with TMPro ...
It appears this was due to having installed an older TextMesh Pro version. The Package Manager included the originally purchased version, ...
Read more >
[IL2CPP] Build fails with "Fatal error in Unity CIL Linker" when ...
[IL2CPP] Build fails with "Fatal error in Unity CIL Linker" when using UnityLinker · 1. Open the user's attached “IL2CPPError-2022.2.zip” project
Read more >
Build error when trying to build for Android with IL2CPP in ...
Build error Protobuf in Unity 2021 Android IL2CPP.txt This is the error Fatal error in Unity CIL Linker System.
Read more >
Fatal error in Unity CIL Linker 2017.2.0f3 - Unity Forum
Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/UnityLinker.exe --api=NET_2_0_Subset. -out="E:\Dev\Repos\g ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found