[Sablevm-bugs] [ sablevm-Bugs-663270 ] [jni: fatal error (Local reference capacity exceeded)]
Brought to you by:
egagnon
From: SourceForge.net <no...@so...> - 2003-03-09 05:07:17
|
Bugs item #663270, was opened at 2003-01-06 14:16 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105523&aid=663270&group_id=5523 Category: Execution Problem Group: SableVM Status: Open Resolution: None Priority: 5 Submitted By: Archie Cobbs (archiecobbs) >Assigned to: Etienne M. Gagnon (egagnon) Summary: [jni: fatal error (Local reference capacity exceeded)] Initial Comment: I'm trying to run an application that uses Soot. If I try to process too many classfiles at once, I get this error plus a core dump: [jni: fatal error (Local reference capacity exceeded)] This makes SableVM suddenly look like a "toy" Java VM when we know it's really better than that :-) SableVM should handle this situation more gracefully, even if it means an 'escape' mechanism that's slower than normal or whatever. ---------------------------------------------------------------------- Comment By: Archie Cobbs (archiecobbs) Date: 2003-02-20 13:02 Message: Logged In: YES user_id=99943 Actually, a simpler way to fix this than using EnsureCapacity() is to use DeleteLocalRef() after assigning each parameter in the array. DeleteLocalRef() is already unimplemented. See attached patch. ---------------------------------------------------------------------- Comment By: Archie Cobbs (archiecobbs) Date: 2003-02-15 21:02 Message: Logged In: YES user_id=99943 I think the 'correct' way to fix this is: - Implement the JNI method EnsureCapacity() - In sablevm.c, call (*env)->EnsureCapacity() to guarantee there will be at least as many local native references available as there are parameters to main(). ---------------------------------------------------------------------- Comment By: Archie Cobbs (archiecobbs) Date: 2003-01-11 20:30 Message: Logged In: YES user_id=99943 Note: this happens if you give Sablevm more than 12 arguments on the command line. For example: $ sablevm 1 2 3 4 5 6 7 8 9 10 11 12 13 [jni: fatal error (Local reference capacity exceeded)] This seems like a real bug, rather than an JNI limitation or Classpath screwup.. (?) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105523&aid=663270&group_id=5523 |