Titanium JIRA Archive
Appcelerator Community (AC)

[AC-592] Android Ti.Contacts.getAllPeople() jni error local reference table overflow

GitHub Issuen/a
TypeBug
Priorityn/a
StatusClosed
ResolutionDuplicate
Resolution Date2016-02-03T05:52:32.000+0000
Affected Version/sAppcelerator Studio 4.4.0
Fix Version/sn/a
ComponentsTitanium SDK & CLI
Labelsandroid
ReporterChristian Schmid
AssigneeShak Hossain
Created2016-02-01T11:42:53.000+0000
Updated2016-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

  1. Sharif AbuDarda 2016-02-03

JSON Source