Search Unity

(Case 983772) Assertion failed: Null JobInfo in Steal

Discussion in 'Data Oriented Technology Stack' started by Peter77, Jan 10, 2018.

  1. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    4,013
    I reported this issue during alpha already, but I thought it might be a good idea to post it here as well, in case other people having the same problem.

    Unity displays the following error to the Console window quite often while being in play-mode:
    • I noticed this error in different projects.
    • I believe this error occurs more often if vsync is turned off in the Quality Settings.
    • I believe this error occurs more often the more complex the project is.
    • In the bug-report project, it occurs perhaps once per play-mode.
    • In my actual game, it occurs every few frames.
    Code (CSharp):
    1. Assertion failed: Null JobInfo in Steal!
    2. (Unity) StackWalker::GetCurrentCallstack
    3. (Unity) StackWalker::ShowCallstack
    4. (Unity) GetStacktrace
    5. (Unity) DebugStringToFile
    6. (Unity) JobQueue::Steal
    7. (Unity) JobQueue::WaitForJobGroupID
    8. (Unity) CompleteFenceInternal
    9. (Unity) GeometryJobTasks::PutDynamicVBOGeometryJobFence
    10. (Unity) DynamicVBO::DrawChunk
    11. (Unity) GfxDeviceWorker::RunCommand
    12. (Unity) GfxDeviceWorker::RunExt
    13. (Unity) GfxDeviceWorker::RunGfxDeviceWorker
    14. (Unity) Thread::RunThreadWrapper
    15. (KERNEL32) BaseThreadInitThunk
    16. (ntdll) RtlUserThreadStart
    Code (CSharp):
    1. Assertion failed: Null JobInfo in Steal!
    2. (Unity) StackWalker::GetCurrentCallstack
    3. (Unity) StackWalker::ShowCallstack
    4. (Unity) GetStacktrace
    5. (Unity) DebugStringToFile
    6. (Unity) JobQueue::Steal
    7. (Unity) JobQueue::WaitForJobGroupID
    8. (Unity) CompleteFenceInternal
    9. (Unity) DirectorManager::ExecutePrepareFrames
    10. (Unity) DirectorManager::ExecuteStage
    11. (Unity) `DirectorManager::InitializeClass'::`2'::PreLateUpdateDirectorUpdateAnimationBeginRegistrator::Forward
    12. (Unity) ExecutePlayerLoop
    13. (Unity) ExecutePlayerLoop
    14. (Unity) PlayerLoop
    15. (Unity) PlayerLoopController::UpdateScene
    16. (Unity) Application::TickTimer
    17. (Unity) MainMessageLoop
    18. (Unity) WinMain
    19. (Unity) __scrt_common_main_seh
    20. (KERNEL32) BaseThreadInitThunk
    21. (ntdll) RtlUserThreadStart
    Code (CSharp):
    1. Assertion failed: Null JobInfo in Steal!
    2. (Unity) StackWalker::GetCurrentCallstack
    3. (Unity) StackWalker::ShowCallstack
    4. (Unity) GetStacktrace
    5. (Unity) DebugStringToFile
    6. (Unity) JobQueue::Steal
    7. (Unity) JobQueue::WaitForJobGroupID
    8. (Unity) CompleteFenceInternal
    9. (Unity) EndRenderQueueExtraction
    10. (Unity) CullResults::GetOrCreateSharedRendererScene
    11. (Unity) Camera::CustomRender
    12. (Unity) Camera::Render
    13. (Unity) RenderManager::RenderCameras
    14. (Unity) RepaintController::RenderGameViewCameras
    15. (Unity) EditorGUIUtility_CUSTOM_INTERNAL_CALL_RenderGameViewCamerasInternal
    16. (Mono JIT Code) (wrapper managed-to-native) UnityEditor.EditorGUIUtility:INTERNAL_CALL_RenderGameViewCamerasInternal (UnityEngine.RenderTexture,int,UnityEngine.Rect&,UnityEngine.Vector2&,bool)
    17. (Mono JIT Code) [EditorGUIUtilityBindings.gen.cs:638] UnityEditor.EditorGUIUtility:RenderGameViewCamerasInternal (UnityEngine.RenderTexture,int,UnityEngine.Rect,UnityEngine.Vector2,bool)
    18. (Mono JIT Code) [GameView.cs:747] UnityEditor.GameView:OnGUI ()
    19. (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
    20. (mono) [mini.c:4937] mono_jit_runtime_invoke
    21. (mono) [object.c:2623] mono_runtime_invoke
    22. (mono) [object.c:3838] mono_runtime_invoke_array
    23. (mono) [icall.c:2756] ves_icall_InternalInvoke
    24. (Mono JIT Code) (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
    25. (Mono JIT Code) [MonoMethod.cs:222] System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
    26. (Mono JIT Code) [MethodBase.cs:115] System.Reflection.MethodBase:Invoke (object,object[])
    27. (Mono JIT Code) [HostView.cs:291] UnityEditor.HostView:Invoke (string,object)
    28. (Mono JIT Code) [HostView.cs:284] UnityEditor.HostView:Invoke (string)
    29. (Mono JIT Code) [HostView.cs:251] UnityEditor.HostView:InvokeOnGUI (UnityEngine.Rect)
    30. (Mono JIT Code) [DockArea.cs:384] UnityEditor.DockArea:OldOnGUI ()
    31. (Mono JIT Code) [IMGUIContainer.cs:203] UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event)
    32. (Mono JIT Code) [IMGUIContainer.cs:358] UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event)
    33. (Mono JIT Code) [IMGUIContainer.cs:70] UnityEngine.Experimental.UIElements.IMGUIContainer:DoRepaint (UnityEngine.IStylePainter)
    34. (Mono JIT Code) [Panel.cs:664] UnityEngine.Experimental.UIElements.Panel:PaintSubTree (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Rect)
    35. (Mono JIT Code) [Panel.cs:680] UnityEngine.Experimental.UIElements.Panel:PaintSubTreeChildren (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Rect)
    36. (Mono JIT Code) [Panel.cs:668] UnityEngine.Experimental.UIElements.Panel:PaintSubTree (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Rect)
    37. (Mono JIT Code) [Panel.cs:709] UnityEngine.Experimental.UIElements.Panel:Repaint (UnityEngine.Event)
    38. (Mono JIT Code) [UIElementsUtility.cs:203] UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel)
    39. (Mono JIT Code) [UIElementsUtility.cs:77] UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent (int,intptr)
    40. (Mono JIT Code) [GUIUtility.cs:184] UnityEngine.GUIUtility:ProcessEvent (int,intptr)
    41. (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_bool_int_intptr (object,intptr,intptr,intptr)
    42. (mono) [mini.c:4937] mono_jit_runtime_invoke
    43. (mono) [object.c:2623] mono_runtime_invoke
    44. (Unity) scripting_method_invoke
    45. (Unity) ScriptingInvocation::Invoke
    46. (Unity) ScriptingInvocation::Invoke<bool>
    47. (Unity) IMGUIScriptingClasses::ProcessEvent
    48. (Unity) GUIView::ProcessRetainedMode
    49. (Unity) GUIView::OnInputEvent
    50. (Unity) GUIView::ProcessInputEvent
    51. (Unity) GUIView::DoPaint
    52. (Unity) GUIView::RepaintAll
    53. (Unity) PlayerLoopController::UpdateScene
    54. (Unity) Application::TickTimer
    55. (Unity) MainMessageLoop
    56. (Unity) WinMain
    57. (Unity) __scrt_common_main_seh
    58. (KERNEL32) BaseThreadInitThunk
    59. (ntdll) RtlUserThreadStart
     
  2. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    4,013
    I retested it with 2018.1.0b2 and it seems the error occurs fewer times than in b1. I tested my actual project as well and the error occurs once in a while, not every few frames anymore.

    I also retested it with the project attached to the initial bug-report. I can reproduce the issue more or less reliable there. However, the time until this error occurs, seems to be random.

    I recorded a video that shows the issue in b2. As you can see in the video, I was lucky and the issue occurred two seconds after I pressed Play. However, reproducing the error a second time, took about 3 minutes. My approach there is just to play around with the editor until the error occurs again, not sure if it makes a difference though.