Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

ThreadPool.QueueUserWorkItem throw exception in Unity5's webgl

Discussion in 'WebGL' started by David_Liu, Sep 7, 2015.

  1. David_Liu

    David_Liu

    Joined:
    Aug 28, 2015
    Posts:
    11
    My English is poor,can somebody help me?
    I build my project by WebGL with Unity5.1.0f3 success.
    But throw exception in firefox becasue of ThreadPool.QueueUserWorkItem(Run);



    warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling index.html:34:7

    Invoking error handler due to
    uncaught exception: abort(-1) at jsStackTrace@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1189:13
    stackTrace@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1206:22
    abort@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3907959:44
    _pthread_create@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:9354:59
    __ZN6il2cpp2os10ThreadImpl3RunEPFvPvES2_ [il2cpp::eek:s::ThreadImpl::Run(undefined?F?*, void, void*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:77511:9
    __ZN6il2cpp2os6Thread3RunEPFvPvES2_ [il2cpp::eek:s::Thread::Run(undefined?F?*, void, void*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:71850:8
    __ZN6il2cpp2vm21ThreadPoolCompartment13QueueWorkItemEP17Il2CppAsyncResult [il2cpp::vm::ThreadPoolCompartment::QueueWorkItem(Il2CppAsyncResult?*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:112933:5
    __ZN6il2cpp2vm10ThreadPool5QueueEP14Il2CppDelegatePPvS3_P12Il2CppObject [il2cpp::vm::ThreadPool::Queue?S(void***)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:113402:5
    _il2cpp_delegate_begin_invoke@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:33245:8
    _WaitCallback_BeginInvoke_m14145@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3444390:8
    __ZN16VirtFuncInvoker3IP8Object_tS1_P18AsyncCallback_t520S1_E6InvokeEP10MethodInfoPvS1_S3_S1_ [undefined?_? VirtFuncInvoker3<Object_t?S?*, undefined?1?>?1(AsyncCallback_t520?S?*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3821532:8
    _ThreadPool_QueueUserWorkItem_m13325@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3401405:9
    _ThreadPool_QueueUserWorkItem_m3272@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3401387:8
    dynCall_iiii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3902802:10
    invoke_iiii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:16779:12
    _AsyncJob_Start_m1754@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2801518:6
    _U3CUpdateU3Ec__AnonStorey43_U3CU3Em__85_m1122@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2805536:2
    _Action_1_Invoke_m22242_gshared@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2894908:2
    __ZN18VirtActionInvoker1I19KeyValuePair_2_t291E6InvokeEP10MethodInfoPvS0_ [Invoke? VirtActionInvoker1<KeyValuePair_2_t291?>?S(void**)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3811972:2
    _List_1_ForEach_m2867_gshared@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2891547:4
    _QueuedMeshObjectLoader_Update_m1128@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2797367:4
    dynCall_vii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3902396:3
    invoke_vii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:16257:5
    _U3CCreateGameObjectsU3Ec__Iterator16_MoveNext_m722@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2781712:5
    __Z27RuntimeInvoker_Boolean_t523P10MethodInfoPvPS1_ [RuntimeInvoker_Boolean_t523?1(void**, undefined?S?*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3626863:8
    dynCall_iiii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3902802:10
    invoke_iiii@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:16779:12
    __ZN6il2cpp2vm7Runtime6InvokeEP10MethodInfoPvPS4_PP12Il2CppObject [il2cpp::vm::Runtime::Invoke?4(void**, undefined?S?*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:109409:8
    _il2cpp_runtime_invoke@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:33220:8
    __Z20il2cpp_invoke_method21ScriptingMethodIl2CppP15ScriptingObjectP18ScriptingArgumentsPP18ScriptingExceptionb [il2cpp_invoke_method?2()]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1337374:9
    __ZN19ScriptingInvocation6InvokeEPP18ScriptingExceptionb [ScriptingInvocation::Invoke(bool**)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1671042:9
    __ZN19ScriptingInvocation6InvokeEPP18ScriptingException [ScriptingInvocation::Invoke(ScriptingException?**)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1670991:8
    __ZN19ScriptingInvocation6InvokeIbEET_PP18ScriptingException [undefined ScriptingInvocation::Invoke<bool>?T()]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1670951:8
    __ZN9Coroutine3RunEv [Coroutine::Run()]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1658430:9
    __ZN9Coroutine17ContinueCoroutineEP6ObjectPv [Coroutine::ContinueCoroutine(void**)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1658378:3
    __ZN18DelayedCallManager6UpdateEi [DelayedCallManager::Update(int)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1298974:11
    __Z10PlayerLoopbbP10IHookEvent [PlayerLoop(bool, bool, IHookEvent?*)]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:1552578:3
    __ZL8mainloopv [mainloop()]@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:2667351:2
    dynCall_v@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:3902641:3
    Runtime.dynCall@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:294:14
    Browser_mainLoop_runner/<@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:9518:13
    Browser.mainLoop.runIter@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:11080:13
    Browser_mainLoop_runner@file:///H:/Devel/Test/WebViewerWebGL/WebGL/Development/WebGL.js:9514:9

     
  2. David_Liu

    David_Liu

    Joined:
    Aug 28, 2015
    Posts:
    11
    Who can help me look at this problem
     
  3. David_Liu

    David_Liu

    Joined:
    Aug 28, 2015
    Posts:
    11
    "public abstract class Job
    {
    public bool IsDone
    {
    get { return _isDone; }
    }

    public void Start()
    {
    UnityEngine.Debug.Log("ThreadPool.QueueUserWorkItem(Run);");
    ThreadPool.QueueUserWorkItem(Run);
    }


    protected abstract void Work();


    private volatile bool _isDone;

    private void Run(object state)
    {
    Debug.Log("Run Work();");
    try
    {
    Work();
    }
    catch (Exception ex)
    {
    Debug.LogException(ex);
    }
    finally
    {
    _isDone = true;
    }
    }
    }

    "ThreadPool.QueueUserWorkItem(Run);" can be printed ,but "Run Work();" cant not
     
    Last edited: Sep 7, 2015
  4. MXAdd

    MXAdd

    Joined:
    Apr 23, 2015
    Posts:
    74
    AFAIK threading is not supported in current version of unity WebGL ... browsers needs to be updated first with new technology to support SharedArrayBuffers (share memory across threads) ... meybe in the next year :]
     
  5. Marco-Trivellato

    Marco-Trivellato

    Unity Technologies

    Joined:
    Jul 9, 2013
    Posts:
    1,654
    That's right, threads are not supported yet on this platform.
     
  6. David_Liu

    David_Liu

    Joined:
    Aug 28, 2015
    Posts:
    11
    Thank you very much!
     
  7. David_Liu

    David_Liu

    Joined:
    Aug 28, 2015
    Posts:
    11
    Thank you very much!