首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coroutine呼叫崩溃

Coroutine呼叫崩溃
EN

Stack Overflow用户
提问于 2014-04-14 13:56:10
回答 1查看 1.2K关注 0票数 2

我遇到了很奇怪的撞车:

代码语言:javascript
复制
Exception Type:  EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000004
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3b1cc350 __pthread_kill + 8
1   libsystem_c.dylib               0x3b14311e pthread_kill + 54
2   libsystem_c.dylib               0x3b17f96e abort + 90
3   _example                        0x0161cd74 mono_handle_native_sigsegv + 312
4   _example                        0x0160c6e4 mono_sigsegv_signal_handler + 256
5   libsystem_c.dylib               0x3b14ce90 _sigtramp + 40
6   _example                        0x01707114 g_hash_table_lookup_extended + 172
7   _example                        0x01707154 g_hash_table_lookup + 20
8   _example                        0x016a3144 mono_metadata_parse_type_full + 636
9   _example                        0x016a2e70 mono_metadata_parse_generic_inst + 88
10  _example                        0x016a34bc do_mono_metadata_parse_type + 768
11  _example                        0x016a3abc mono_type_create_from_typespec + 216
12  _example                        0x0164ee70 mono_type_retrieve_from_typespec + 32
13  _example                        0x016464bc mono_class_get_full + 208
14  _example                        0x01677fc4 method_from_memberref + 276
15  _example                        0x016774a4 mono_get_method_from_token + 688
16  _example                        0x01677140 mono_get_method_full + 176
17  _example                        0x01677754 mono_get_method + 12
18  _example                        0x01613554 decode_patch + 412
19  _example                        0x016161f8 mono_aot_plt_resolve + 244
20  _example                        0x0161e518 mono_aot_plt_trampoline + 32
21  _example                        0x00dd33d8 generic_trampoline_6 + 120
22  _example                        0x0124b0a8 scripting_method_invoke(ScriptingMethod*, MonoObject*, ScriptingArguments&, MonoException**) (ScriptingBackendApi_Mono.cpp:180)
23  _example                        0x012ceed0 ScriptingInvocation::Invoke(MonoException**, bool) (ScriptingInvocation.cpp:113)
24  _example                        0x012cee9c ScriptingInvocation::Invoke(MonoException**) (ScriptingInvocation.cpp:98)
25  _example                        0x012cee48 bool ScriptingInvocation::Invoke<bool>(MonoException**) (ScriptingInvocation.cpp:72)
26  _example                        0x012b2548 Coroutine::InvokeMoveNext(MonoException**) (Coroutine.cpp:180)
27  _example                        0x012b229c Coroutine::Run() (Coroutine.cpp:205)
28  _example                        0x012c4f6c MonoBehaviour::CreateCoroutine(MonoObject*, ScriptingMethod*) (MonoBehaviour.cpp:786)
29  _example                        0x012c51f0 MonoBehaviour::StartCoroutineManaged2(MonoObject*) (MonoBehaviour.cpp:824)
30  _example                        0x0144f89c MonoBehaviour_CUSTOM_StartCoroutine_Auto(ReadOnlyScriptingObjectOfType<MonoBehaviour>, MonoObject*) (UnityEngineMonoBehaviour.cpp:78)
31  _example                        0x00b6745c m_UnityEngine_MonoBehaviour_StartCoroutine_System_Collections_IEnumerator + 40

它们发生在相同的地方,大约20%的时间发生在iOS 6的4S上,但我无法在iPhone 5上用iOS 7复制它们。

在代码中,我试图调用coroutine,它看起来如下所示:

代码语言:javascript
复制
IEnumerator SomeCoroutine(System.Action<bool> _Success)
{
    #if UNITY_IPHONE
    NativeObjectiveCMethod();
    #elif UNITY_ANDROID
    // ... something else, not relevant here
    #endif
    while(m_PrivateFieldSetInOtherThread == null)
    {
        yield return null;
    }

    if (_Success != null)
    {
        _Success(m_PrivateFieldSetInOtherThread.Value);
    }
    m_PrivateFieldSetInOtherThread = null;

}

我甚至不知道它到底在哪里坠毁。

澄清:该字段在其他线程中设置,因为调用来自本机级别上的第三方API。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-14 22:24:05

统一的ApI不是线程安全的,所以不能从另一个线程中使用它。统一还实现了线程检查,以防止您尝试使用它从另一个线程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23062063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档