[AC-592] Android Ti.Contacts.getAllPeople() jni error local reference table overflow
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | n/a |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2016-02-03T05:52:32.000+0000 |
Affected Version/s | Appcelerator Studio 4.4.0 |
Fix Version/s | n/a |
Components | Titanium SDK & CLI |
Labels | android |
Reporter | Christian Schmid |
Assignee | Shak Hossain |
Created | 2016-02-01T11:42:53.000+0000 |
Updated | 2016-02-03T05:52:32.000+0000 |
Description
The App reads out the contacts on a phone with Ti.Contacts.getAllPeople(). On iOS everything works fine, on android it works fine until the number of contacts is at about 400. If you start the app with more than 500 contacts, it crashes with the following error:
[INFO] : art: art/runtime/indirect_reference_table.cc:98] JNI ERROR (app bug): local reference table overflow (max=512)
[INFO] : art: art/runtime/indirect_reference_table.cc:98] local reference table dump:
[INFO] : art: art/runtime/indirect_reference_table.cc:98] Last 10 entries (of 510):
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 509: 0x23182b80 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 508: 0x23182b20 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 507: 0x23182ac0 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 506: 0x23182a60 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 505: 0x23182a00 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 504: 0x231829a0 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 503: 0x23182940 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 502: 0x231828e0 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 501: 0x23182880 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 500: 0x23182820 ti.modules.titanium.contacts.PersonProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] Summary:
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 1 of ti.modules.titanium.ui.WindowProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 508 of ti.modules.titanium.contacts.PersonProxy (508 unique instances)
[INFO] : art: art/runtime/indirect_reference_table.cc:98] 1 of org.appcelerator.titanium.proxy.ActivityProxy
[INFO] : art: art/runtime/indirect_reference_table.cc:98]
[INFO] : art: art/runtime/runtime.cc:289] Runtime aborting...
[INFO] : art: art/runtime/runtime.cc:289] Aborting thread:
[INFO] : art: art/runtime/runtime.cc:289] "KrollRuntimeThread" prio=5 tid=15 Runnable
[INFO] : art: art/runtime/runtime.cc:289] | group="" sCount=0 dsCount=0 obj=0x22c07460 self=0xf3fa0400
[INFO] : art: art/runtime/runtime.cc:289] | sysTid=2001 nice=0 cgrp=default sched=0/0 handle=0xf3c56580
[INFO] : art: art/runtime/runtime.cc:289] | state=R schedstat=( 370171847 41934738 232 ) utm=26 stm=10 core=1 HZ=100
[INFO] : art: art/runtime/runtime.cc:289] | stack=0xe27ac000-0xe27ae000 stackSize=1052KB
[INFO] : art: art/runtime/runtime.cc:289] | held mutexes= "abort lock" "mutator lock"(shared held)
[INFO] : art: art/runtime/runtime.cc:289] native: #00 pc 00005d03 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+83)
[INFO] : art: art/runtime/runtime.cc:289] native: #01 pc 00003051 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+33)
[INFO] : art: art/runtime/runtime.cc:289] native: #02 pc 003c9b97 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream >&, int, char const*, art::mirror::ArtMethod*)+135)
[INFO] : art: art/runtime/runtime.cc:289] native: #03 pc 00392f52 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream >&) const+306)
[INFO] : art: art/runtime/runtime.cc:289] native: #04 pc 00377674 /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream >&)+644)
[INFO] : art: art/runtime/runtime.cc:289] native: #0
[INFO] : art: art/runtime/runtime.cc:289] native: #06 pc 000ec704 /system/lib/libart.so (art::LogMessage::~LogMessage()+1876)
[INFO] : art: art/runtime/runtime.cc:289] native: #07 pc 00224429 /system/lib/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+1065)
[INFO] : art: art/runtime/runtime.cc:289] native: #08 pc 002cb4e8 /system/lib/libart.so (art::JNI::NewString(_JNIEnv*, unsigned short const*, int)+392)
[INFO] : art: art/runtime/runtime.cc:289] native: #09 pc 00087517 /data/app/co.rittler.invitepro-1/lib/x86/libkroll-v8.so (titanium::TypeConverter::jsValueToJavaString(_JNIEnv*, v8::Handle)+103)
[INFO] : art: art/runtime/runtime.cc:289] native: #10 pc 0011c323 /data/app/co.rittler.invitepro-1/lib/x86/libkroll-v8.so (titanium::app::PropertiesModule::hasProperty(v8::Arguments const&)+691)
[INFO] : art: art/runtime/runtime.cc:289] native: #11 pc 000a93d2 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #12 pc 0004ea24 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #13 pc 000b5fea (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #14 pc 000b102e (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #15 pc 00003b40 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #16 pc 0001eafc (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #17 pc 0001f163 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #18 pc 00003b40 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #19 pc 00017bf1 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #20 pc 00008c29 (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #21 pc 002a5b70 /data/app/co.rittler.invitepro-1/lib/x86/libkroll-v8.so (???)
[INFO] : art: art/runtime/runtime.cc:289] native: #22 pc 68ffffff ???
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.kroll.runtime.v8.V8Object.nativeFireEvent(Native method)
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.kroll.runtime.v8.V8Object.fireEvent(V8Object.java:62)
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:908)
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1131)
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.titaniu
[INFO] : art: art/runtime/runtime.cc:289] at android.os.Handler.dispatchMessage(Handler.java:98)
[INFO] : art: art/runtime/runtime.cc:289] at android.os.Looper.loop(Looper.java:135)
[INFO] : art: art/runtime/runtime.cc:289] at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:112)
[INFO] : art: art/runtime/runtime.cc:289] Dumping all threads without appropriate locks held: thread list lock
Since I can't influence the method getAllPeople() this is likely to be a bug.
Comments
- Sharif AbuDarda 2016-02-03