Telegram JNI 在应用程序中检测到错误:从 UserConfig 和 define.h 更改 max_account_count 后的线程线程
Posted
技术标签:
【中文标题】Telegram JNI 在应用程序中检测到错误:从 UserConfig 和 define.h 更改 max_account_count 后的线程线程【英文标题】:Telegram JNI Detects Error in application : thread thread after changing the max_account_count from both UserConfig and defines.h 【发布时间】:2019-09-27 02:13:10 【问题描述】:我尝试从他们的官方 git 存储库下载电报源。我的应用程序使用原始代码编译并运行得非常好。
现在,我想将电报中的最大帐户数从 3 个修改为 5 个。因此,我将UserConfig
中的MAX_ACCOUNT_COUNT
更改为5,并将defines.h
中的MAX_ACCOUNT_COUNT
更改为5,但是我在线程中遇到了运行时JNI 错误:
05-09 14:34:29.948 21639-21655/org.telegram.messenger E/FA: ?>AppMeasurementReceiver 未注册/启用 05-09 14:34:29.948 21639-21655/org.telegram.messenger E/FA: AppMeasurementService 未注册/启用 05-09 14:34:29.948 21639-21655/org.telegram.messenger E/FA:无法上传。应用衡量功能已停用 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] JNI 检测到应用程序错误:线程 Thread[35,tid=21722,Native,Thread* =0x9c135a00,peer=0x130b80a0,"Thread-93784"] 使用来自线程 Thread[35,tid=21722,Native,Thread*=0x9c135a00,peer=0x130b80a0,"Thread-93784"] 的 JNIEnv* 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] 在调用 CallStaticVoidMethodV 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] “Thread-93784”prio=10 tid=35 Runnable 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] | group="main" sCount=0 dsCount=0 obj=0x130b80a0 self=0x9c135a00 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] | sysTid=21722 nice=-11 cgrp=default sched=0/0 句柄=0x9acd6930 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] | state=R schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] |堆栈=0x9abda000-0x9abdc000 堆栈大小=1014KB 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] |持有互斥锁=“mutator lock”(共享持有) 05-09 14:34:31243 21639-21722 / org.telegram.Messenger A / Art:Art / Runtime / java_vm_ext.cod:410]本机:#00 PC 0035B179 / ystem/lib/libart.so(_zn3art15dumpnaativestackernst3__113basic_ostreamicns0_11char_tra_traitsiceeeeip12backtracemappkcpns_9artmethodepv + 116) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #01 pc 0033bfdb /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traits26IcEEEEP) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #02 pc 0024ee4d /system/lib/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2 +752) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #03 pc 0024f4ef /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+54) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #04 pc 000fbabd /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+28) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #05 pc 00100851 /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop. 95+4780) 05-09 14:34:31.243 21639-21722 / org.telegram.messenger A /艺术:艺术/运行/ java_vm_ext.cc:410]天然:#06 PC 0010e7c9 /system/lib/libart.so(_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE + 636) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] 本机:#07 pc 0010f0c7 /system/lib/libart.so (_ZN3art8CheckJNI21CallStaticVoidMethodVEP7_JNIEnvP7_jva_list+26) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #08 pc 00197704 /data/app/org.telegram.messenger-1/ lib/arm/libtmessages.30.so (_ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz+52) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #09 pc 0026d8b4 /data/app/org.telegram.messenger-1/ lib/arm/libtmessages.30.so (_ZN18ConnectionsManager6selectEv+3028) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] native: #10 pc 00278c84 /data/app/org.telegram.messenger-1/ lib/arm/libtmessages.30.so (_ZN18ConnectionsManager10ThreadProcEPv+280) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] 本机:#11 pc 0003fe37 /system/lib/libc.so (_ZL15__pthread_startPv+30) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] 本机:#12 pc 0001a56d /system/lib/libc.so (__start_thread+6) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410](无托管堆栈帧) 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/java_vm_ext.cc:410] 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/runtime.cc:368] 运行时中止... 05-09 14:34:31.243 21639-21722/org.telegram.messenger A/art: art/runtime/runtime.cc:368] 05-09 14:34:31.248 21639-21722/org.telegram.messenger A/libc:致命信号 6 (SIGABRT),tid 21722 中的代码 -6 (Thread-93784)
有谁知道我做错了什么?
【问题讨论】:
这个问题你解决了吗? 【参考方案1】:在 ConnectionsManager.cpp 中更改 ConnectionsManager& ConnectionsManager::getInstance(int32_t instanceNum)
【讨论】:
请解释一下。 每个帐户都需要一个 ConnectionsManager 实例,因此如果您将电报中的最大帐户数从 3 个增加到 5 个,您应该再创建两个 ConnectionsManager 实例以上是关于Telegram JNI 在应用程序中检测到错误:从 UserConfig 和 define.h 更改 max_account_count 后的线程线程的主要内容,如果未能解决你的问题,请参考以下文章
JNI在应用程序中检测到错误:JNI FindClass调用挂起异常java.lang.NoSuchMethodError:没有非静态方法“Lchirpconnect / SDK