Infinite recursion - base case ignored and stack overflowed
Hi, I've been having this logic error for 2 days, and I cannot fix it. Right now, I can barely see anything because I was looking at computer screen for 10 hours. The code I'm writing is a program that allows the user to play a list of MP3 files in a folder. Among commands we have to make, we have to sort the list according to authors, dates, and titles as desired by the user. This specific problem I'm having is from the sorting method. We have to use quick sort, and through the help of textbook and online, I was able to write the code as follows. The problem is, I'm having an infinite recursion. The base case I wrote and if else statement are completely ignored and the method keeps calling itself. Perhaps, return statement is not how you are supposed to end a recurssive method? I have no idea. Any help will be appreciated. Thank you in advance.
public void sort (Comparator<MP3File> comp) {
System.out.println("first: " + first + "last: " + last);
quickSort(first, last, comp);
System.out.println("done");
return;
public void quickSort (int left, int right, Comparator<MP3File> comp) {
int leftBound= left;
int rightBound= right;
System.out.println("before sorting: left - " + left + " right - " + right);
if (left>=right) {
return;
if ( ( left < 0 ) || ( left >= listOfMP3.length ) ||
( right < 0 ) || ( right >= listOfMP3.length ) ) {
throw new IndexOutOfBoundsException();
if (right-left>=1) {
System.out.println("difference between right and left: " + (right-left));
MP3File pivot = listOfMP3[left];
while (rightBound>leftBound)
while (comp.compare(listOfMP3[leftBound], pivot)<= 0 && leftBound<=right &&rightBound>leftBound) {
leftBound++;
System.out.println("leftBound " + leftBound);
while (comp.compare(listOfMP3[rightBound], pivot)>0 && rightBound>=left &&rightBound>=leftBound) {
rightBound--;
System.out.println("rightBound " + rightBound);
if (rightBound>leftBound) {
swap (leftBound,rightBound);
swap(left, rightBound);
System.out.println("swapped");
System.out.println("calling left sorting");
quickSort(left, rightBound-1, comp);
System.out.println("calling right sorting");
quickSort(rightBound+1, right, comp);
else {
System.out.println("wtf");
return;
System.out.println("error");
return;
public void swap(int index1, int index2) {
MP3File temp = listOfMP3[index1];
listOfMP3[index1] = listOfMP3[index2];
listOfMP3[index2] = temp;
}
naranja wrote:
Enlighten me further please? How do you use sort method using collections?[http://www.google.com/search?q=java+sort+tutorial]
Similar Messages
-
Recursive function definition results in stack overflow
I am writing a library script to handle some basic calculations with complex numbers which includes a function, powerN(), that raises (or is supposed to raise) a complex number to the Nth power. The function compiles but gives a stack overflow error when called. The language guide has an example (p. 286 in PDF version- recursive subroutines section) of a recursive definition of a function which gives the factorial of a number, and my powerN function seems to be analogous. Can anyone shed some light on whatever the problem is? Relevant code examples are below. Thanks for any insights.
-----Apple recursive subroutine for factorials------
on factorial(x)
if x > 0 then
return x * (factorial(x - 1))
else
return 1
end if
end factorial
-----End Apple recursive subroutine for factorials------
-----My script with problematic powerN() function------
--Complex numbers a+b(i), x+y(i) represented by {a,b}, {x,y}
on multiply({a, b}, {x, y})
return {(a * x + b * y), (b * x + a * y)}
end multiply
--above multiply function works
on powerN({a, b}, N)
return multiply({a, b}, powerN({a, b}, N - 1))
end powerN
--above powerN function gives stack overflow error
-----End my script with problematic powerN() function------the problem is that your recursion has no end case, thus causing a stack overflow
you should add a test as follows :
on powerN({a, b}, N)
if N>0 then
return multiply({a, b}, powerN({a, b}, N - 1))
else
return 1
end if
end powerN
by the way, shouldn't your complex multiplication look like :
on multiply({a, b}, {x, y})
return {(a * x - b * y), (b * x + a * y)}
end multiply -
Regular expression problem: large ORs and stack overflow
I am trying to search a large text block for pattern matches to any of 50,000 strings.
For example:
java.util.regex.Pattern p = Pattern.compile("cat|dog|mouse|blowfish");
// except with 50K animals...
This fails with java.util.regex when compiling the pattern. Around 4K animals I get this error:
Exception in thread "main" java.lang.StackOverflowError
at java.util.regex.Pattern$Node.study(Pattern.java:2623)
at java.util.regex.Pattern$Node.study(Pattern.java:2624)
at java.util.regex.Pattern$Slice.study(Pattern.java:3121)
at java.util.regex.Pattern$Branch.study(Pattern.java:3760)
at java.util.regex.Pattern$Branch.study(Pattern.java:3760)
jregex.sourceforge.net fails in a different way. It allows the creation of the pattern (jregex.Pattern p = new Pattern("cat|dog...")), but then after
a single match (Matcher.find()), gets a similar error if there are more than about 6K animals:
Exception in thread "main" java.lang.StackOverflowError
at jregex.SearchEntry.reset(jregex/Matcher.java:2281)
at jregex.SearchEntry.reset(jregex/Matcher.java:2281)
Does anyone know how to get past these problems?
Is there another way to do this?
Or is there another java regexp package out there which
can handle large disjunctions, hopefully efficiently?
Thanks!Good point -- indeed, I don't need the full expressive power of NFAs... yet I don't see a way to use either the java.util.regex or the jregex package and somehow internally perform a NFA to DFA conversion for the subset of power I need.
So does anyone know of a good java DFA regexp package?
Or a way to trick an NFA into doing this pattern match efficiently?
Otherwise, I'll just have to write my own... -
Stack overflow resolution and question
on Oct 8th, I posted the stack overflow at the end of this message. I
figured out the problem, but would like some insight into why it manifested
itself as a stack overflow. Why isn't it a heap overflow? I care which
overflows because a problem could still exist.
PROBLEM
Our server transmits an event object to our client. The event object has
references to 2 member objects which describe the context of the event.
About 200 of each type of member object is created. They are kept in a
HashMap so we can reuse them.
However, in one case, a new member object is created every time an event is
transmitted. That's the bug - about a thousand events a second are created
so one thousand of each member object is created, then transmitted. When we
changed the member object creation to a member HashMap lookup, the stack
trace stopped.
PROFILING
To isolate the problem, we profiled the client with OptimizeIt. This
showed about 150,000 member objects and about 148,000
java.io.ObjectInputStream$HandleTable$HandleList instances. In some runs,
Garbage collection reduced the number to about 60,000. In other runs,
Garbage Collection did not run before the stack error occurred.
If we create lots of member objects in the heap, then the heap should
overflow. Why does the stack overflow?
ERROR MESSAGE
The declaration is
Socket sock = new Socket( hostname, port );
ObjectInputStream is = new ObjectInputStream( sock.getInputStream() );
ObjectOutputStream os = new ObjectOutputStream( sock.getOutputStream() );
java.lang.StackOverflowError
at COM.jrockit.io.NativeIOInputStream.read([BII)I(Optimized Method)
at java.io.ObjectInputStream$PeekInputStream.read([BII)I(Optimized Metho
d)
at java.io.ObjectInputStream$BlockDataInputStream.read([BIIZ)I(Unknown S
ource)
at java.io.ObjectInputStream$BlockDataInputStream.readFully([BIIZ)V(Unkn
own Source)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
Jeff
Jeff
Well, the HandleList entries mark a dependency from a parent object to a
child (i.e referer and referee), and my guess is that you at some point
simply manage to serialize a very long object chain:
Obj1 -[ ref to]-> Obj2 -[ref to]-> Obj3 and so on.
This will cause a recursive deserialization (actually, it causes a
recursive serialization also, so sender should SOE as well). The amount
of memeory used is probably high, but not OOM high. Note, that for this
to happen, all objects sent must be unique, which you state that they
are. Question is how you've managed to create an object chain like this.
Another explanation might be that there is actually a bug somewhere in
the sender that causes a circular reference between two (or more)
objects to be sent not as reference handles, but unique objects. I
cannot see what would cause this though. I assume that you don't have
concurrency issues (i.e only one thread uses the ObjectOutput/Input
streams at one time)?
Do you have an exact count of the transmitted object? It might help me
figure out exactly what happend.
/C
Jeff wrote:
on Oct 8th, I posted the stack overflow at the end of this message. I
figured out the problem, but would like some insight into why it manifested
itself as a stack overflow. Why isn't it a heap overflow? I care which
overflows because a problem could still exist.
PROBLEM
Our server transmits an event object to our client. The event object has
references to 2 member objects which describe the context of the event.
About 200 of each type of member object is created. They are kept in a
HashMap so we can reuse them.
However, in one case, a new member object is created every time an event is
transmitted. That's the bug - about a thousand events a second are created
so one thousand of each member object is created, then transmitted. When we
changed the member object creation to a member HashMap lookup, the stack
trace stopped.
PROFILING
To isolate the problem, we profiled the client with OptimizeIt. This
showed about 150,000 member objects and about 148,000
java.io.ObjectInputStream$HandleTable$HandleList instances. In some runs,
Garbage collection reduced the number to about 60,000. In other runs,
Garbage Collection did not run before the stack error occurred.
If we create lots of member objects in the heap, then the heap should
overflow. Why does the stack overflow?
ERROR MESSAGE
The declaration is
Socket sock = new Socket( hostname, port );
ObjectInputStream is = new ObjectInputStream( sock.getInputStream() );
ObjectOutputStream os = new ObjectOutputStream( sock.getOutputStream() );
java.lang.StackOverflowError
at COM.jrockit.io.NativeIOInputStream.read([BII)I(Optimized Method)
at java.io.ObjectInputStream$PeekInputStream.read([BII)I(Optimized Metho
d)
at java.io.ObjectInputStream$BlockDataInputStream.read([BIIZ)I(Unknown S
ource)
at java.io.ObjectInputStream$BlockDataInputStream.readFully([BIIZ)V(Unkn
own Source)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method)
at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.O
bjectStreamClass;)V(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Opt
imized Method)
at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.i
o.ObjectStreamClass;)V(Optimized Method) -
Stack overflow causes JRockit to exit and dump core
Applying an XSLT (through Cocoon) which loops on itself, JRockit 1.4.2_05 crashes big time, rather than throwing a StackOverflowException as the Sun JVM does.
<pre>
===== BEGIN DUMP =============================================================
JRockit dump produced after 0 days, 00:00:53 on Fri Jun 17 17:43:06 2005
Additional information is available in:
/opt/cocoon/logs/jrockit.22752.dump
No core file will be created because core dumps have been
disabled. To enable core dumping, try "ulimit -c unlimited"
before starting JRockit again.
Please send the file(s), information about your system
setup and the program you were running to [email protected]. Thank you.
Error code: 52
Error Message: Stack overflow
Signal info : si_signo=11, si_code=2
Version : BEA WebLogic JRockit(TM) 1.4.2_05 JVM R24.4.0-1 ari-38120-20041118-1131-linux-ia32
Threads / GC : Native Threads, GC strategy: parallel
: mmHeap->data = 0x20000000, mmHeap->top = 0x40000000
: mmStartCompaction = 0x2f000000, mmEndCompaction = 0x31800000
Number CPUs : 4
Tot Phys Mem : 3190132736
OS version : Unknown linux release
Linux version 2.6.11-gentoo-r5-vnu01 (root@core) (gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)) #1 SMP Tue Apr 5 11:22:33 BST 2005
State : JVM is running
Command Line : -Djava.class.path=/opt/java/home/lib/tools.jar -Djrockit.launcher.type=jrockit.shipment -server -Xms512m -Xmx512m -DLOG_FILE=/opt/cocoon/logs/cocoon-yyyy_mm_dd.log -DLOG_DATE_FORMAT=[yyyy/MM/dd hh:mm:ss.SSS] -Dorg.mortbay.util.URI.charset=ISO8859-1 -Djava.class.path=/opt/java/home/lib/tools.jar:/opt/cocoon/lib/ant-1.6.1.jar:/opt/cocoon/lib/ant-launcher-1.6.1.jar:/opt/cocoon/lib/endorsed/xalan-2.6.0.jar:/opt/cocoon/lib/endorsed/xerces-2.6.2.jar:/opt/cocoon/lib/endorsed/xml-apis-1.2.01.jar:/opt/cocoon/lib/jasper-compiler-4.1.29.jar:/opt/cocoon/lib/jasper-runtime-4.1.19.jar:/opt/cocoon/lib/jetty-4.2.19.jar:/opt/cocoon/lib/servlet-2.3.jar:/opt/cocoon/classes -Dcocoon.home=/opt/cocoon -Djetty.home=/opt/cocoon -Djava.endorsed.dirs=/opt/cocoon/lib/endorsed -Dnetworkaddress.cache.ttl=1800 -Djava.awt.headless=true -Dsun.java.command=org.mortbay.jetty.Server /opt/cocoon/etc/jetty.xml /opt/cocoon/etc/admin.xml
Environment : JAVA_HOME=/opt/java/home, java.home=/opt/java/jrockit-1.4.2_05/jre, java.class.path=/opt/java/home/lib/tools.jar:/opt/cocoon/lib/ant-1.6.1.jar:/opt/cocoon/lib/ant-launcher-1.6.1.jar:/opt/cocoon/lib/endorsed/xalan-2.6.0.jar:/opt/cocoon/lib/endorsed/xerces-2.6.2.jar:/opt/cocoon/lib/endorsed/xml-apis-1.2.01.jar:/opt/cocoon/lib/jasper-compiler-4.1.29.jar:/opt/cocoon/lib/jasper-runtime-4.1.19.jar:/opt/cocoon/lib/jetty-4.2.19.jar:/opt/cocoon/lib/servlet-2.3.jar:/opt/cocoon/classes, java.library.path=/opt/java/jrockit-1.4.2_05/jre/lib/i386/jrockit:/opt/java/jrockit-1.4.2_05/jre/lib/i386:/opt/java/jrockit-1.4.2_05/jre/../lib/i386
C Heap : Good; no memory allocations have failed
Registers (from context struct at 0x8a81144/0x8a8120c):
EAX = 00000001 EBX = 08a62d58
ECX = b5903074 EDX = 00000200
ESI = 08a62de4 EDI = 08a62d58
ESP = b5902ffc EIP = b7db0fa9
EBP = b5903020 EFL = 00010287
CS = 0073 DS = 007b ES = 007b
SS = 007b FS = 0033 GS = 0033
Stack:
b5902ffc :00000000 00000000 00000000 08a62e54 00000000 00000000
b5903014 :00000000 08d4d930 00000810 b5903060 b7da62eb 08a62d58
b590302c :08d4d930 00000000 00000000 08a62e54 b5903068 34bfb608
b5903044 :00000000 00000000 00000000 b5903080 b7d46442 34dfcea8
b590305c :b738cbd0 08a62d58 b7367929 08a62de4 b738cbd0 00000200
b5903074 :0809d538 08a62e54 00000000 b59030c0 080675a0 00000810
b590308c :00000020 34bfb728 b7367b92 00000020 00000200 b496949e
b59030a4 :34bfb5d8 34bfb728 34bfb4f8 b49692b1 2cfbd600 00000020
b59030bc :00000200 00000000 00000000 00000000 00000001 01ea0000
b59030d4 :27961128 27961128 00000000 b49691d2 00000000 00000000
b59030ec :27961128 00000200 00000001 00000000 27961128 00000000
b5903104 :b4969172 00000000 00000000 27961128 00000200 00000001
b590311c :00000000 00000000 34bfb4f8 b4968e86 00000000 00000000
b5903134 :27961128 00000200 00000001 00000000 00000200 01ea0000
b590314c :2cfbd600 27961128 00000000 b4968e2a 00000000 00000000
b5903164 :27961128 00000200 00000001 00000000 34bfb4f8 2cfbd600
b590317c :b4564daa 00000000 00000000 27961128 00000000 34bfb4f8
b5903194 :b49688c7 00000000 00000000 27961128 b4968428 00010b23
b59031ac :00000000 2cfbd600 00000000 00000000 00000000 27961128
b59031c4 :01ea0000 000001ea 2cfbd605 00000000 00000001 000001e3
b59031dc :2d0600e0 b4566950 00000000 00000000 2d0600e0 2d0600e0
b59031f4 :b4563bf3 2d05fc78 b4563986 2ca85a88 2c9e19a0 2ca85a88
b590320c :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b5903224 :2c9e19a0 2d0903d8 00000004 00010b23 00000b5e 2d0600e0
b590323c :00000b58 2d1e1f28 2c9e19a0 b46d2216 0000078d 00000001
b5903254 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590326c :4078a000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903284 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 0000078c
b590329c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b59032b4 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b59032cc :2ca9b9f0 b46d2216 0000078b 00000001 2d05fc78 2d0600e0
b59032e4 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59032fc :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b5903314 :2c9e19a0 2d0903d8 00000004 00010b23 00000b58 2d0600e0
b590332c :00000b52 2d1e1f28 2c9e19a0 b46d2216 00000789 00000001
b5903344 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590335c :4078f000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903374 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 00000788
b590338c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b59033a4 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b59033bc :2ca9b9f0 b46d2216 00000787 00000001 2d05fc78 2d0600e0
b59033d4 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59033ec :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b5903404 :2c9e19a0 2d0903d8 00000004 00010b23 00000b52 2d0600e0
b590341c :00000b4c 2d1e1f28 2c9e19a0 b46d2216 00000785 00000001
b5903434 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590344c :40791000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903464 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 00000784
b590347c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b5903494 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b59034ac :2ca9b9f0 b46d2216 00000783 00000001 2d05fc78 2d0600e0
b59034c4 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59034dc :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b59034f4 :2c9e19a0 2d0903d8 00000004 00010b23 00000b4c 2d0600e0
b590350c :00000b46 2d1e1f28 2c9e19a0 b46d2216 00000781 00000001
b5903524 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590353c :40795000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903554 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 00000780
b590356c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b5903584 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b590359c :2ca9b9f0 b46d2216 0000077f 00000001 2d05fc78 2d0600e0
b59035b4 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59035cc :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b59035e4 :2c9e19a0 2d0903d8 00000004 00010b23 00000b46 2d0600e0
b59035fc :00000b40 2d1e1f28 2c9e19a0 b46d2216 0000077d 00000001
b5903614 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590362c :40799000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903644 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 0000077c
b590365c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b5903674 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b590368c :2ca9b9f0 b46d2216 0000077b 00000001 2d05fc78 2d0600e0
b59036a4 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59036bc :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b59036d4 :2c9e19a0 2d0903d8 00000004 00010b23 00000b40 2d0600e0
b59036ec :00000b3a 2d1e1f28 2c9e19a0 b46d2216 00000779 00000001
b5903704 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
b590371c :4079e000 2ca9c1f8 2c9c54b0 00010b23 2d0600e0 2d05fc78
b5903734 :00000001 2c987730 2d1e1f28 2c987730 b46d2216 00000778
b590374c :00000001 2d05fc78 2d0600e0 2d05fc78 2ca9b9f0 b456085a
b5903764 :2ca9b9f0 2d0600e0 b4968484 2d0600e0 00010b23 2d1e1f28
b590377c :2ca9b9f0 b46d2216 00000777 00000001 2d05fc78 2d0600e0
b5903794 :2d0600e0 2d05fc78 b45639b5 2ca85a88 2c9e19a0 2ca85a88
b59037ac :b456388c 08ce4540 3345dbc8 00000004 2d05fc78 2cf6b570
b59037c4 :2c9e19a0 2d0903d8 00000004 00010b23 00000b3a 2d0600e0
b59037dc :00000b34 2d1e1f28 2c9e19a0 b46d2216 00000775 00000001
b59037f4 :2d05fc78 2d0600e0 2c9e1888 2c987730 b46d6934 2c9c54b0
Code:
b7db0ea9 :8bf9e853 f089ffff 5be8658d 5dec895e 55f689c3 8b53e589
b7db0ec1 :4d8b085d 10558b0c 0ff0c889 890c53b1 0fca39c2 b60fc094
b7db0ed9 :ec895bc0 5590c35d 8b53e589 4d8b085d 10558b0c 0ff0c889
b7db0ef1 :891053b1 0fca39c2 b60fc094 ec895bc0 5590c35d 558be589
b7db0f09 :104d8b08 f00c458b 0c4ab10f ec89c289 5590c35d 458be589
b7db0f21 :5dec8908 2404408b 5590c3fc ec83e589 5d8b5314 08438b08
b7db0f39 :1374c085 53f4c483 ffc91ae8 0843c7ff 00000000 8310c483
b7db0f51 :7400247b 2443c707 00000000 bda83d83 7400b7e8 f4c48309
b7db0f69 :a0a5e853 5d8bffff 5dec89e8 55f689c3 ec83e589 08458b08
b7db0f81 :0d74c085 fe046080 50f4c483 ffff9ae8 5dec89ff 55f689c3
b7db0f99 :ec83e589 5d8b5314 74db8508 f4c4833a ff7de853 c483ffff
b7db0fb1 :044b8010 581d3901 74b7e9b8 a83d8322 00b7e8bd c4831974
b7db0fc9 :a8e853f4 83ffffff 4b8010c4 3d830104 b7e8bda8 8be77500
b7db0fe1 :ec89e85d 5590c35d 458be589 75c08508 0001b80e 0feb0000
b7db0ff9 :0026b48d 8b000000 01340440 8901e083 55c35dec ec83e589
b7db1011 :8b535610 7e830875 43750004 6af8c483 ece85602 8900001b
b7db1029 :f4c483c3 53f4c483 ff80bee8 f0e850ff 83fff08f c08530c4
b7db1041 :468b1374 fcc48330 468b5350 d4e85018 ebffffbc 0001b80c
b7db1059 :05eb0000 3100768d e8658dc0 ec895e5b 5590c35d ec83e589
b7db1071 :1b85e808 f8830000 c0940f02 89c0b60f 55c35dec ec83e589
b7db1089 :5356572c e8bd4ca1 008b64b7 bd440503 f631b7e8 7d8d188b
b7db10a1 :8320ebe4 0a750afe 6af4c483 7adde839 c4835029 01f468f4
Loaded modules:
(* denotes the module causing the exception)
0x08048000-0x0804cd86 /opt/java/jrockit-1.4.2_05/bin/java
0xffffe000-0xffffe5fb /opt/java/jrockit-1.4.2_05/bin/java
0xb7fd5000-0xb7fe26ef /lib/libpthread.so.0
0xb7fb3000-0xb7fd2abf /lib/libm.so.6
0xb7faf000-0xb7fb08d3 /lib/libdl.so.2
0xb7e9d000-0xb7fa7ead /lib/libc.so.6
0xb7feb000-0xb7fff3fb /lib/ld-linux.so.2
0xb7c6b000-0xb7e3a3ef* /opt/java/jrockit-1.4.2_05/jre/lib/i386/jrockit/libjvm.so
0xb7c5e000-0xb7c64023 /lib/libnss_compat.so.2
0xb7c49000-0xb7c593ff /lib/libnsl.so.1
0xb7c3f000-0xb7c46a03 /lib/libnss_nis.so.2
0xb7c35000-0xb7c3ca27 /lib/libnss_files.so.2
0xb73cf000-0xb73defa5 /opt/java/jrockit-1.4.2_05/jre/lib/i386/libverify.so
0xb6d96000-0xb6db59cf /opt/java/jrockit-1.4.2_05/jre/lib/i386/libjava.so
0xb43b5000-0xb43b8277 /lib/libnss_dns.so.2
0xb43a2000-0xb43b0493 /lib/libresolv.so.2
Java Thread ID = 0x00000c00, lastJavaFrame = 0xb5903074, Name = main-4
Thread Stack Trace:
at tsDisableGC+17()@0xb7db0fa9
at RJNI_jrockit_vm_MemSystem_allocLargeArray+103()@0xb7da62eb
at jrockit/vm/MemSystem.allocLargeArray(Native Method)@0xb73678e0
at jrockit/vm/MemSystem.allocArray4(Native Method)@0xb7367b92
at org/apache/xml/utils/SuballocatedIntVector.<init>(SuballocatedIntVector.java:99)@0xb496949e
at org/apache/xml/dtm/ref/DTMDefaultBase.<init>(DTMDefaultBase.java:210)@0xb49692b1
at org/apache/xml/dtm/ref/DTMDefaultBaseTraversers.<init>(DTMDefaultBaseTraversers.java:90)@0xb49691d2
at org/apache/xml/dtm/ref/DTMDefaultBaseIterators.<init>(DTMDefaultBaseIterators.java:85)@0xb4969172
at org/apache/xml/dtm/ref/sax2dtm/SAX2DTM.<init>(SAX2DTM.java:256)@0xb4968e86
at org/apache/xml/dtm/ref/sax2dtm/SAX2DTM.<init>(SAX2DTM.java:227)@0xb4968e2a
at org/apache/xml/dtm/ref/sax2dtm/SAX2RTFDTM.<init>(SAX2RTFDTM.java:124)@0xb4564daa
at org/apache/xml/dtm/ref/DTMManagerDefault.getDTM(DTMManagerDefault.java:300)@0xb49688c7
at org/apache/xpath/XPathContext.getRTFDTM(XPathContext.java:1203)@0xb4566950
at org/apache/xpath/XPathContext.pushRTFContext(XPathContext.java:1220)@0xb4563bf3
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:385)@0xb4563986
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemIf.execute(ElemIf.java:161)@0xb456085a
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemTemplate.execute(ElemTemplate.java:393)@0xb45639b5
at org/apache/xalan/templates/ElemCallTemplate.execute(ElemCallTemplate.java:247)@0xb456388c
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templates/ElemChoose.execute(ElemChoose.java:140)@0xb46d6934
at org/apache/xalan/transformer/TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)@0xb46d2216
at org/apache/xalan/templatesHi,
I had a JRockit Stack overflow core too, but on a Red Hat Linux 3.2.3, and without writing any recursive code !
===== BEGIN DUMP =============================================================
JRockit dump produced after 3 days, 08:38:33 on Wed Dec 21 13:24:43 2005
Additional information is available in:
/exec/applis/30abo1/G01R00C01/dt/sh/jrockit.10040.dump
No core file will be created because core dumps have been
disabled. To enable core dumping, try "ulimit -c unlimited"
before starting JRockit again.
Please send the file(s), information about your system
setup and the program you were running to [email protected]. Thank you.
Error code: 52
Error Message: Stack overflow
Signal info : si_signo=11, si_code=2
Version : BEA WebLogic JRockit(TM) 1.4.2_05 JVM R24.4.0-1 ari-38120-20041118-1131-linux-ia32
Threads / GC : Native Threads, GC strategy: parallel
: mmHeap->data = 0x20000000, mmHeap->top = 0x60000000
: mmStartCompaction = 0x3e000000, mmEndCompaction = 0x43000000
Number CPUs : 4
Tot Phys Mem : 4187791360
OS version : Red Hat Enterprise Linux AS release 3 (Taroon Update 5)
Linux version 2.4.21-32.0.1.ELsmp ([email protected]) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)) #1 SMP Tue May 17 17:52:23 EDT 2005
State : JVM is running
Command Line : -Djava.class.path=/exec/products/jonas/v435/lib/common/ow_jonas_bootstrap.jar:/exec/applis/30abo1/G01R00C01/dt/jonas/conf::/opt/bea/jrockit-j2sdk1.4.2_05/lib/tools.jar -Djrockit.launcher.type=jrockit.shipment -Xms1024m -Xmx1536m -Djonas.name=WebVPN-DT -Dinstall.root=/exec/products/jonas/v435 -Djonas.base=/exec/applis/30abo1/G01R00C01/dt/jonas -Djava.awt.headless=true -Djava.security.policy=/exec/applis/30abo1/G01R00C01/dt/jonas/conf/java.policy -Djava.security.auth.login.config=/exec/applis/30abo1/G01R00C01/dt/jonas/conf/jaas.config -Djonas.classpath= -Djonas.default.classloader=true -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton -Dorg.omg.PortableInterceptor.ORBInitializerClass.standard_init=org.jacorb.orb.standardInterceptors.IORInterceptorInitializer -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djavax.rmi.CORBA.UtilClass=org.objectweb.carol.util.delegate.UtilDelegateImpl -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.endorsed.dirs=/exec/products/jonas/v435/lib/endorsed -Daxis.jaxrpc11Compliance=true -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi -Dsun.java.command=org.objectweb.jonas.server.Bootstrap org.objectweb.jonas.server.Server
Environment : JAVA_HOME=/opt/bea/jrockit-j2sdk1.4.2_05, java.home=/opt/bea/jrockit-j2sdk1.4.2_05/jre, java.class.path=/exec/products/jonas/v435/lib/common/ow_jonas_bootstrap.jar:/exec/applis/30abo1/G01R00C01/dt/jonas/conf::/opt/bea/jrockit-j2sdk1.4.2_05/lib/tools.jar, java.library.path=/opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/jrockit:/opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386:/opt/bea/jrockit-j2sdk1.4.2_05/jre/../lib/i386
C Heap : Good; no memory allocations have failed
Registers (from context struct at 0xc6230e4/0xc6231ac):
EAX = 10279e68 EBX = b1859044
ECX = b1859124 EDX = b18590ac
ESI = 00000000 EDI = b18590b8
ESP = b1859000 EIP = b736d11c
EBP = b1859078 EFL = 00010203
CS = 0023 DS = 002b ES = 002b
SS = 002b FS = 0033 GS = 0033
Stack:
b1859000 :b1859044 10279e68 00000002 00000000 091990f4 00000000
b1859018 :10279ef4 00000000 00000000 00000000 00000000 00000000
b1859030 :10279e68 00000000 10279e68 00000018 00000000 10279ef4
b1859048 :b1859078 b7388faf 10279e68 00000000 00000001 b731f879
b1859060 :091990f4 00000000 00000018 b731f879 10279e68 09199130
b1859078 :b1859118 b736d329 10279ef4 b18590ac b18590b0 b18590b4
b1859090 :091990f4 b1859120 20715170 00000018 10279e68 b55e67c8
b18590a8 :0919912c b18590b8 00000018 00000000 10279ef4 b7364310
b18590c0 :09199130 b55e4350 10279ef4 09199120 00000000 207150a8
b18590d8 :b1859128 10279e68 00000000 b1859124 b73202bb 20715128
b18590f0 :00000003 b57457a8 00000003 00000000 20715150 b5745460
b1859108 :00000003 00000000 20715128 20715150 10279e68 b5744a27
b1859120 :10279ef4 080bdf70 091990f4 00000000 b57501c9 20715170
b1859138 :2009cea8 10279e68 20c433f8 b568c5b8 20715170 10279e68
b1859150 :200e7f48 b568c597 b1450aa3 20715108 0809f298 20715170
b1859168 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859180 :20b48770 20715150 20c43948 207150e8 20c43948 b57429d3
b1859198 :00000004 207150e8 20c43948 b5745020 00000004 b5716b37
b18591b0 :20715108 00000004 20b48770 207150e8 b45db3a7 207150e8
b18591c8 :20c43930 207150c0 20b48770 20c433f8 b5744d44 20c43930
b18591e0 :10279ef4 080bdf70 091990f4 207150a8 20c43930 00000000
b18591f8 :2009cea8 10279e68 20c433f8 b568c5c4 20715068 10279e68
b1859210 :200e7f48 b568c597 b1450aa3 20715000 10279e68 20715068
b1859228 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859240 :20b48770 20715048 20c43948 20714fe0 20c43948 20714e98
b1859258 :00000004 20714fe0 20c43948 b5745020 00000004 b5716b37
b1859270 :20715000 00000004 20b48770 20714fe0 b45db3a7 20714fe0
b1859288 :20c43930 20714fb8 20b48770 20c433f8 b5744d44 20c43930
b18592a0 :10279ef4 080bdf70 091990f4 20714fa0 20c43930 00000000
b18592b8 :2009cea8 10279e68 20c433f8 b568c5c4 20714f60 10279e68
b18592d0 :200e7f48 b568c597 b1450aa3 20714ef8 10279e68 20714f60
b18592e8 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859300 :20b48770 20714f40 20c43948 20714ed8 20c43948 20714d90
b1859318 :00000004 20714ed8 20c43948 b5745020 00000004 b5716b37
b1859330 :20714ef8 00000004 20b48770 20714ed8 b45db3a7 20714ed8
b1859348 :20c43930 20714eb0 20b48770 20c433f8 b5744d44 20c43930
b1859360 :10279ef4 080bdf70 091990f4 20714e98 20c43930 00000000
b1859378 :2009cea8 10279e68 20c433f8 b568c5c4 20714e58 10279e68
b1859390 :200e7f48 b568c597 b1450aa3 20714df0 10279e68 20714e58
b18593a8 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b18593c0 :20b48770 20714e38 20c43948 20714dd0 20c43948 20714c88
b18593d8 :00000004 20714dd0 20c43948 b5745020 00000004 b5716b37
b18593f0 :20714df0 00000004 20b48770 20714dd0 b45db3a7 20714dd0
b1859408 :20c43930 20714da8 20b48770 20c433f8 b5744d44 20c43930
b1859420 :10279ef4 080bdf70 091990f4 20714d90 20c43930 00000000
b1859438 :2009cea8 10279e68 20c433f8 b568c5c4 20714d50 10279e68
b1859450 :200e7f48 b568c597 b1450aa3 20714ce8 10279e68 20714d50
b1859468 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859480 :20b48770 20714d30 20c43948 20714cc8 20c43948 20714b80
b1859498 :00000004 20714cc8 20c43948 b5745020 00000004 b5716b37
b18594b0 :20714ce8 00000004 20b48770 20714cc8 b45db3a7 20714cc8
b18594c8 :20c43930 20714ca0 20b48770 20c433f8 b5744d44 20c43930
b18594e0 :10279ef4 080bdf70 091990f4 20714c88 20c43930 00000000
b18594f8 :2009cea8 10279e68 20c433f8 b568c5c4 20714c48 10279e68
b1859510 :200e7f48 b568c597 b1450aa3 20714be0 10279e68 20714c48
b1859528 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859540 :20b48770 20714c28 20c43948 20714bc0 20c43948 20714a78
b1859558 :00000004 20714bc0 20c43948 b5745020 00000004 b5716b37
b1859570 :20714be0 00000004 20b48770 20714bc0 b45db3a7 20714bc0
b1859588 :20c43930 20714b98 20b48770 20c433f8 b5744d44 20c43930
b18595a0 :10279ef4 080bdf70 091990f4 20714b80 20c43930 00000000
b18595b8 :2009cea8 10279e68 20c433f8 b568c5c4 20714b40 10279e68
b18595d0 :200e7f48 b568c597 b1450aa3 20714ad8 10279e68 20714b40
b18595e8 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859600 :20b48770 20714b20 20c43948 20714ab8 20c43948 20714970
b1859618 :00000004 20714ab8 20c43948 b5745020 00000004 b5716b37
b1859630 :20714ad8 00000004 20b48770 20714ab8 b45db3a7 20714ab8
b1859648 :20c43930 20714a90 20b48770 20c433f8 b5744d44 20c43930
b1859660 :10279ef4 080bdf70 091990f4 20714a78 20c43930 00000000
b1859678 :2009cea8 10279e68 20c433f8 b568c5c4 20714a38 10279e68
b1859690 :200e7f48 b568c597 b1450aa3 207149d0 10279e68 20714a38
b18596a8 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b18596c0 :20b48770 20714a18 20c43948 207149b0 20c43948 b18596f0
b18596d8 :00000004 207149b0 20c43948 b5745020 00000004 b5716b37
b18596f0 :207149d0 00000004 20b48770 207149b0 b45db3a7 207149b0
b1859708 :20c43930 20714988 20b48770 20c433f8 b5744d44 20c43930
b1859720 :10279ef4 080bdf70 091990f4 20714970 20c43930 00000000
b1859738 :2009cea8 10279e68 20c433f8 b568c5c4 20714930 10279e68
b1859750 :200e7f48 b568c597 b1450aa3 207148a8 10279e68 20714930
b1859768 :20c433f8 00000000 b26e9d78 00000000 10279e68 b5745460
b1859780 :20b48770 20714910 20c43948 20714888 20c43948 20714740
b1859798 :00000004 20714888 20c43948 b5745020 00000004 b5716b37
b18597b0 :207148a8 00000004 20b48770 20714888 b45db3a7 20714888
b18597c8 :20c43930 20714860 20b48770 20c433f8 b5744d44 20c43930
b18597e0 :10279ef4 080bdf70 091990f4 20714848 20c43930 00000000
b18597f8 :2009cea8 10279e68 20c433f8 b568c5c4 20714808 10279e68
Code:
b736d01c :5fcae853 c031fffe c4830aeb e85350f8 fffecbc4 89e85d8b
b736d034 :90c35dec 90909090 90909090 31e58955 5dec89c0 00768dc3
b736d04c :56e58955 10558b53 d089d189 480c4503 f799d389 08558bfb
b736d064 :3102e9c1 7dc339db 8d348d12 00000000 028bc189 f201c301
b736d07c :89f77549 895e5bd8 90c35dec 83e58955 558b08ec 0c458b08
b736d094 :6afcc483 e8525004 0026f050 8510c483 831474c0 006afcc4
b736d0ac :5de8016a 8b002703 c9e85000 89000050 90c35dec 83e58955
b736d0c4 :c48308ec bea068fc e068b73f 68b73fbe b73fbf01 fd6363e8
b736d0dc :5dec89ff 00768dc3 83e58955 56575cec 10458b53 c70c558b
b736d0f4 :0000c845 f6310000 8dfcc483 008bcc5d 8bc44589 08458b3a
b736d10c :ffff7405 c04589ff 00bf45c6 5350026a fac9a7e8 10c483ff
b736d124 :00cc7d83 010f840f 45c70000 000000b4 b045c700 00000000
b736d13c :00ac45c7 83000000 006af8c4 52cc558d fac9e7e8 83108bff
b736d154 :153b10c4 b742208c 45c62e75 c48301bf 8b346afc 8b50c045
b736d16c :e8520855 fffe6708 458bc389 8b188914 c483c055 9de852f4
b736d184 :890001bf 20c483c2 428dc931 0fd28514 c483c845 51106afc
b736d19c :5008458b fe66d7e8 83c389ff db8510c4 c4837f74 8b5356fc
b736d1b4 :e8520855 fffeb584 8410c483 8b6a75c0 558bc845 02e0c1c8
b736d1cc :39b84589 4275c455 83ac458b 8b50f8c4 e8520855 fffebae8
b736d1e4 :458bc689 fcc483b0 e8565750 50cdb93c 8bb4558b 55890c45
b736d1fc :20c483c4 1074383b 57f8c483 5208558b febbbfe8 10c483ff
b736d214 :458bf789 071c89b8 02b44583 04b04583 08ac4583 89c845ff
Loaded modules:
(* denotes the module causing the exception)
0x08048000-0x0804cd86 /opt/bea/jrockit-j2sdk1.4.2_05/bin/java
0xb75d2000-0xb75de931 /lib/tls/libpthread.so.0
0xb75b0000-0xb75d0f6f /lib/tls/libm.so.6
0xb75ad000-0xb75aee23 /lib/libdl.so.2
0xb7475000-0xb75a6f0b /lib/tls/libc.so.6
0xb75e8000-0xb75fcceb /lib/ld-linux.so.2
0xb7243000-0xb74123ef* /opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/jrockit/libjvm.so
0xb7031000-0xb703b2ef /lib/libnss_files.so.2
0xb57aa000-0xb57b9fa5 /opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/libverify.so
0xb508e000-0xb50ad9cf /opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/libjava.so
0xb5074000-0xb50850eb /lib/libnsl.so.1
0xb4b0a000-0xb4b0d5c1 /opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/libioser12.so
0xb466e000-0xb466e6e9 /opt/bea/jrockit-j2sdk1.4.2_05/jre/lib/i386/librmi.so
0xb0c2f000-0xb0c32133 /lib/libnss_dns.so.2
0xb0c1d000-0xb0c2b79f /lib/libresolv.so.2
Java Thread ID = 0x00003080, lastJavaFrame = 0xb1859124, Name = Thread-906
Thread Stack Trace:
at get_protection_domain_context+56()@0xb736d11c
at RJNI_java_security_AccessController_getStackAccessControlContext+209()@0xb736d329
at java/security/AccessController.getStackAccessControlContext(Native Method)@0xb57449e0
at java/security/AccessController.checkPermission(AccessController.java:385)@0xb568c5b8
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown Source)@0xb568c597
at javax/security/auth/SubjectDomainCombiner.combine(Optimized Method)@0xb1450aa3
at java/security/AccessControlContext.goCombiner(AccessControlContext.java:386)@0xb45db3a7
at java/security/AccessControlContext.optimize(AccessControlContext.java:310)@0xb5744d44
at java/security/AccessController.checkPermission(AccessController.java:400)@0xb568c5c4
at java/lang/SecurityManager.checkPermission(Unknown S -
ADF 12.1.3 and IE 8.
On any page having <af:inlineFrame> IE8 shows a popup warning "Stack overflow at line: 0" on each page load.
It very easy to reproduce creating two pages, adding to the first page <af:inlineFrame id="if1" source="secondpagejsf"/>
I see that IE 8 Oracle JDeveloper and ADF 12c (12.1.3) Supported Systems is not supported any more but there are so many XP with IE still alive on our customers base.
Have anyone found a workaround for the above problem ?
YiannisHi Yiannis,
There is some issue with compatibity of inlineFrame and IE8.
Not sure this can help but try to relate with this solution : http://sanjeev-technology.blogspot.in/2014/11/adf-login-page-keeps-on-coming-back-in.html
Regards,
KP -
Recursive selection sort stack overflow
hi, first time posting here.
i have to write a java method that implements a selection sort. This method must be recursive. ok not a problem. i have come up with this so far
public int findMin(int index) {
int min = index - 1;
if (index < num.length - 1) min = findMin(index + 1);
if (num[index] < num[min]) min = index;
return min;
public void selectionSort(int left) {
if (left < num.length - 1) {
swap(left, findMin(left));
selectionSort(left + 1);
public void swap(int index1, int index2) {
int temp = num[index1];
num[index1] = num[index2];
num[index2] = temp;
}which works fine until i toss in a lot of values into the array. this creates a stack overflow, and ive been told that i need to use the divide and conquer method of resolving this issue. I guess this means to split the array up and sort each half seperatly, again and agin, or so im told.
My question is how do i go about doing this, i am at a loss. Any help at all would be great.
thank you
lancei get this when i push the array passed about 5500 in sizeI got no problem. Post a small demo code that is generally compilable, runnable and could reproduce your problem. See: http://homepage1.nifty.com/algafield/sscce.html and http://www.yoda.arachsys.com/java/newsgroups.html
It is silly to implement selection sort with recursion, double-silly if you use double-recursion as your current code.
/* silly but no OOME when used against 5500 element array */
import java.util.*;
public class RecursiveSelectionSort{
static int[] num;
public static int findMin(int index) {
int min = index; // your code had a bug here
if (index < num.length - 1){
min = findMin(index + 1);
if (num[index] < num[min]){
min = index;
return min;
public static void selectionSort(int left) {
if (left < num.length - 1) {
swap(left, findMin(left));
selectionSort(left + 1);
public static void swap(int index1, int index2) {
int temp = num[index1];
num[index1] = num[index2];
num[index2] = temp;
public static void main(String[] args){
Random rand = new Random();
int n = 10;
if (args.length > 0){
n = Integer.parseInt(args[0]);
num = new int[n];
for (int i = 0; i < num.length; ++i){
num[i] = rand.nextInt(10000);
selectionSort(0);
for (int in : num){
System.out.print(in + " ");
System.out.println();
} -
Getting stack overflow exception whilst reading from HashMap
hi,
We are getting stack oveflow exception exception whilst reading from the HashMap.
Following are few details about the code
We have a swing based client and Session beans and Entity beans deployed on Weblogic Server.
When the server is started, a session bean method queries to data base and creates a java object for each row in the data base.This java object is then stored in HashMap. These java objects have all get/set methods . and it has attributes of primitive data type as well as other java objects.This Hahsmap is then returned to client.
When client calls this method and the method processes succesfuly , but when tries to return the HashMap, it gives Stack overflow exception.
Looking at the stack trace i think this exception is thrown when the HashMap.readObject() methods is being invoked.
does any body have any idea about this ? a quick help is much appriciated.Stack overflow is often caused by infinity loops No, an infinite loop would be like while (true) {
// stuff
} That doesn't cause stack overflow.
or
recursive method calls.Bingo. -
Bypassing cache = stack overflow
Hi,
I have the same problem as the guy who posted 2 days ago. I need to effectively bypass the cache due to updates from 'outside'. We already tried the option with 'Always Refresh' and 'Disable Cache Hits'. Unfortunately this results in a stack overflow exception. This is what probably happens:
We have two classes User and UserRole. UserRole references User, User has a collection of UserRole instances, i.e. circular referencing. Both classes are configured to bypass the indentity cache. (A separate tool is used to manage users and user roles.) When trying to find one special User instance TopLink recurses back and forth between User and UserRole desperately trying to resolve all references ending up in a stack overflow exception.
Any means to stop that behaviour?
RegardsYeah, you shouldn't use both Always Refresh and Disable Cache Hits on both directions of a circular relationship. If you turn off the disable cache hits for the source class of the 1-M, it should be Ok.
Disable Cache Hits tells TopLink to even go to the database for PK based queries, where normally it would just hit the cache, and this is getting called when setting up the back reference from the targets of the 1-M.
My advice to customers is usually to ignore this Refreshing Cache Options feature in the Mapping Workbench, and explicitly do refreshing on a per-query as needed basis in code when you create your ReadObject/ReadAll query... That way you have a finer grained control over when to do refreshes. But, it's always, then no problems doing it in the MW...
- Don -
"Stack overflow" & "out of memory"
Hello,
I have an issue with javascript code : with my own navigation, which includes additional javascript, I have either a "out of memory" error on the declaration of "var strUrl = http://..." in the CommonOpener_CreateExtObject method, or a "stack overflow" error on the onload="document.PCC.RaiseWindowEvent(event);" event handling in the <body> tag.
When I save the page as HTML and remove the onload event, no error happens anymore.
I think I could remove the onload event generation by modifying the C# code, but it would certainly disable some other feature (I think this event is managing PEI calls or something else).
Any idea on how to fix this ?
P.S : I'm on a .NET platform, I'm going to try to recompile my nav on a java platform to see if it works...Sebastien,
- Are you using 5.0.1 or 5.0.2?
- Are you by any chance trying to extend the Isomorphic navigation (under 5.0.2, it's called "legacy")?
I would carefully review the pluggable nav you're using and double-check you're including all the necessary javascript in the JavaScriptIncludes() method to make sure you're basically adding everything properly.
The isomorphic nav was particularly hard to extend because it required you add a special DHTML element to close off the menus being inserted. If you base your work off of our new jsportalmenus nav, it's much easier to work with and more reliable: it injects javascript into a named DOM element, which in our case is just a <TD id='name'></TD>; the menu gets inserted in the table cell.
At a minimum, try debugging your javascript bug using Microsoft's script debugger (downloadable from microsoft.com). You should be able to determine precisely why there is a failure; comapre your code to the original nav you started from and carefully pick out what could be different.
The onload events and the PCC are critical to normal function of the portal. Sgutting that off isn't an option, in my mind. If you wanted to, you'd need to do some pretty major surgery on the portal, and thaqt wouldn't upgrade, either.
David Phipps
Plumtree Software -
Hi all,
I am trying to serialize a directed graph. I have Node objects, and each Node object has a Vector of Node objects as one of its fields. The directed graph is stored as a Vector of Node Objects. The Node object and the DirectedGraph objects are structured as follows:
public class Node
private int nodeID;
private Vector adjacentNodes;
// Constructor..
// Some more methods
public class DirectedGraph
private Vector nodes;
// Other fields and methods.
When the no of nodes is very large (~ 10000), I get a StackOverflow error, which I think is because of the recursive serialization. I do not get the exception for a small set of nodes (~1000).
I did read someplace that if the stack depth is greater than 2000, the VM throws the exception.
Are there any workarounds for this (without any changes to the data representation) ?
Are there other custom serializers which detect infinite cycles ?
Or, (worst case), do I have to write my own serializer?
Suggestions, links, will surely help.
Thank you,
AstranominaAs mentioned above, Java serialization handles a cyclic object graph by writing a representation of the object reference to the stream for subsequent occurrances, so this does not cause infinite recursion.
However, if your structure has 25,000 levels then I'm not surprised that you got StackOverflow and for something this size I don't think that trying to increase the stack size is the way to go.
As intimated by Ernimril, a better approach would be to devise a serialized form that is more sympathetic to the environment. I would recommend that you program to interface and use object replacements. That way, the issues regarding serialization can be hidden and coded in the appropriate place:
public interface DirectedGraph
public interface Node
public class LocalDirectedGraph implements DirectedGraph
// your current code (and the same for LocalNode)
Object writeReplace() throws ObjectStreamException
// flatten structure
return SerializedDirectedGraph
public class SerializedDirectedGraph implements DirectedGraph
// a flat structure that can be used to rebuild the hierarchical one
Object readResolve() throws ObjectStreamException;
// rebuild hierarchy
return LocalDirectedGraph
}Perhaps traverse the original graph and write a linear structure of the individual objects and some info about what level they are at. Implement writeReplace and place this code in it, returning a SerializedDirectedGraph. At the receiving end implement readResolve and reconstruct the original, returning a LocalDirectedGraph. Everywhere else in your code refer to your objects by the interfaces. Because the JDK handles the cyclic references thing you still get the original object graph, you are just intervening to make the structure more serialization-friendly.
Check out [url http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/output.html#wp5324]this section of the serialization spec. I've used this feature for different reasons, as well as other hooks available in Serialization, and am very impressed with the whole implementation. -
Simple CFM forms getting Stack Overflow
What causes the error message "Stack Overflow at Line #" ?
How can I fix it. I get this error message in very simple,
uncomplicated .CFM forms upon submit.Stack Overflow
Check the usual suspects: infinite loops or recursions, and
rampant object creation. -
Refreshing DataControl causes OutOfMemory Stack Overflow
The basic question is “How can I programtically refresh a DC so that it ‘re-reads’ in the values from an underlying managed bean in session that was returned by a web service proxy”?
In trying to solve this first question we saw hints on the forums to get a handle to the binding and call executeQuery() to force a refresh. We tried this during the invokeApplication phase just after we called our WS Proxy service that returned a POJO (e.g. DataRequest) which we placed into session. We have a DataRequestWrapper object that exposes a getDataRequest() method. We expose the DataRequestWrapper as a DataControl so as to bind the object hierachy of the DataRequest to our UI Views. The DataRequestWrapper.getDataRequest() method returns the reference to the DataReuquest stored in session (i.e. Java RefID=1).
So as we start our sequence we create an new DataRequest, put it into session and as users enter data, the data control pushes the values into the session bean RefID=1. Works as expected, then the user hits save and we have a method-action that calls the wrapper method who gets the session bean and calls the WS.save(). That service returns a decorated DataRequest object (i.e. RefID=2). We place that into session, but on rendering of the view the DC are still firing agains RefID=1.
We set all the CacheResult = false on the bindings in the pages. We see the DC refreshing, but (as expected) its occuring prior to the InvokeApplication phase which is before we've called our service to get RefID=2.
So in our wrapper, after updating the session reference with RefID=2, we access the binding and call executeQuery(). We see the getters start firing against the DataReuqest RefID=2 which we assume is the DC refreshing itself. The thread continues on as the view rendering presumably is occuring, but it never completes......stack dump in JRockit...a portion of the stack below.... There seems to possibly be a recursive loop problem here, not sure if its because of something we did (we can't find any where that we might be calling ourself...hiearchy has a strict parent-child relationships...no cross tree references). The refresh of the tree obviosuly works in other phases....so not sure where to go with this.
Should the executeQuery() be expected to work and the overflow be a potential defect? Should we not be calling executeQuery()? Should we be calling the exectureQuery() somewhere else (we also tried in a beforePhase listener prior to renderResponse with the same stack dump)? Should we being using the BindingContainer.refresh() (which seems to have no affect)? Are we looking at this the wrong way?
Oracle ADF 11.1.1.0.1 & WL 10.3.0 (we are working on migrating to the 11g GA version as we speak...but have't gotten to testing this scenario on the latest yet)
Thread Stack Trace:
at RJNI_jrockit_vm_Locks_monitorEnterUnmatched+17(rnilocks.c:65+17)@0x00598DD1
-- Java stack --
at jrockit/vm/Locks.monitorEnterUnmatched(Ljava/lang/Object;)V(Native Method)
at oracle/jbo/server/ViewRowSetIteratorImpl.next(ViewRowSetIteratorImpl.java:1690)
at oracle/jbo/server/ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1548)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetImpl.first(ViewRowSetImpl.java:3202)
at oracle/jbo/server/ViewObjectImpl.first(ViewObjectImpl.java:8123)
at oracle/adf/model/bean/DCBeanDataControl.executeIteratorBinding(DCBeanDataControl.java:791)
at oracle/adf/model/binding/DCIteratorBinding.doExecuteQuery(DCIteratorBinding.java:2117)
at oracle/jbo/uicli/binding/MyIteratorBinding.executeQuery(JUAccessorIteratorDef.java:695)
at oracle/jbo/uicli/binding/MyIteratorBinding$MasterListener.navigated(JUAccessorIteratorDef.java:436)
at oracle/jbo/common/RowSetHelper.fireNavigationEvent(RowSetHelper.java:268)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyNavigationToRow(ViewRowSetIteratorImpl.java:3624)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3595)
at oracle/jbo/server/ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:3378)
at oracle/jbo/server/ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1551)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetImpl.first(ViewRowSetImpl.java:3202)
at oracle/jbo/server/ViewObjectImpl.first(ViewObjectImpl.java:8123)
at oracle/adf/model/binding/DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:755)
at oracle/adf/model/binding/DCIteratorBinding.refreshControl(DCIteratorBinding.java:655)
at oracle/jbo/uicli/binding/JUIteratorBinding.refreshControl(JUIteratorBinding.java:475)
at oracle/adf/model/binding/DCIteratorBinding.rangeRefreshed(DCIteratorBinding.java:861)
at oracle/jbo/common/RowSetHelper.fireRangeRefreshed(RowSetHelper.java:179)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyRangeRefreshed(ViewRowSetIteratorImpl.java:3559)
at oracle/jbo/server/ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2776)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2996)
at oracle/jbo/server/ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2453)
at oracle/jbo/server/ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:6106)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3493)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyRangeRefreshed(ViewRowSetIteratorImpl.java:3569)
at oracle/jbo/server/ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2776)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2996)
at oracle/jbo/server/ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2453)
at oracle/jbo/server/ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:6106)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3493)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyRangeRefreshed(ViewRowSetIteratorImpl.java:3569)
at oracle/jbo/server/ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2776)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2996)
at oracle/jbo/server/ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2453)
at oracle/jbo/server/ViewRowSetImpl.execute(ViewRowSetImpl.java:1047)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1162)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]
at oracle/jbo/server/ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1082)
at oracle/jbo/server/ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1076)
at oracle/jbo/server/ViewObjectImpl.executeQuery(ViewObjectImpl.java:5601)
at oracle/adf/model/bean/DCBeanDataControl.executeIteratorBinding(DCBeanDataControl.java:789)
at oracle/adf/model/binding/DCIteratorBinding.doExecuteQuery(DCIteratorBinding.java:2117)
at oracle/jbo/uicli/binding/MyIteratorBinding.executeQuery(JUAccessorIteratorDef.java:695)
at oracle/jbo/uicli/binding/MyIteratorBinding$MasterListener.navigated(JUAccessorIteratorDef.java:436)
at oracle/jbo/common/RowSetHelper.fireNavigationEvent(RowSetHelper.java:268)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyNavigationToRow(ViewRowSetIteratorImpl.java:3624)
at oracle/jbo/server/ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3595)
at oracle/jbo/server/ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:3378)
at oracle/jbo/server/ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1551)
^-- Holding lock: oracle/jbo/JboSyncLock@0x0F9BA508[recursive]Thanks Frank, let me take step bkacwards in our implementation choice of the DC and managed bean....that might be where we took a wrong step? So we saw 2 POJOs being instantiated as you described, and we began to try and figure out how to get a handle to the POJO instantiated by the DC so that we could pass it to our page-flow method actions since it had the captured user data. The service implementations are in a different set of facade classes...so we've been thinking/treating the DC more as a model and maybe the service interfaces should actually be invoked on the DC POJO and then reference 'this' in the service method invocations parameters?
So is the implied scope of the POJO DC at the session level? Is there a way to reference the instance handled by the DC through EL?
As a follow up on the stack trace I reference, I think we found the conflict. We have a parent page bound to the DC and that view has a region to other pages which support different page flows for entering data on the child hierarchy under the root object. Both pages bind to the same DC object hierarcy and so iterators by the same name were created on each page def. What we found was that the 2 iterators that manage the root object were not set consistently. So in the parent page the 'requestIterator' and the child page's 'requestIterator' were both set to CacheResult=false but we had missed the combination of setting both Refresh settings to renderModel. So the read-only fields are now being refreshed.
However a further investigation showed that the writable fields were not because the source view and targer view for the page flow are the same view in this case and the lifecycle is different here. So we added the executeQuery invocation back in after our service and the OOM is gone. The OOM happened when the region page Refresh was set to deferred. Goes away when both set to renderModel. -
Hi there,
I have a thread that does various things including hibernate transactions. After everything is done it calls the run method again so its a endless loop. Inside the run function there are a couple of loops. After running this thread for a day I get this error, what does it mean?
Unrecoverable Stack Overflow: addr=403d3a26, ee=8401b80, er=430fdb00
JVMDG217: Dump Handler is Processing a Signal - Please Wait.
JVMDG303: JVM Requesting Java core file
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]I have a thread that does various things including
hibernate transactions. After everything is done it
calls the run method again so its a endless loop.Are you seriously saying that the run() method calls itself, like in public run() {
run();
}This would not be an endless loop, but an infinite recursion and the stack overflow is not at all surprising. If this is your only bug then rewrite topublic run() {
while( true ) {
}and everything will be just fine.
Harald. -
Hi..
I have problem with this code.
class test
test tt=new test(); //1
String name1;
test() {}
test(String i)
name1=i;
//tt=new test(); //2
public static void main(String arg[]){
test t1=new test("kj"); //3
} When I use line 2 (nstead of line 1 ) for initializing the ref variable iam not having any problem.
But if i use as in line 1 iam getting stack overflow error..
I thought tht calling a constructor recursivley results in a stack overflow error..
But iam instantiating t1 with a one arg constructor (line 3) for which tt (line 1)is intialized,then where is the recursion happening..
can any one pls clear..
Thnx.
mysha..please use [code][/code] tags around your code - makes it much easier to read.
I think you have it - consider this code:public class StackOverflower {
private StackOverflower so = new StackOverflower();
public static void main(String[] args) {
StackOverflower mySO = new StackOverflower();
}Running this will overflow the stack since creation of an instance of StackOverflower requires creation of an instance of StackOverflower. This code though:public class NonStackOverflower {
private NonStackOverflower nso = null;
public NonStackOverflower() {
public NonStackOverflower(String s) {
this.nso = new NonStackOverflower();
public static void main(String[] args) {
NonStackOverflower myNSO = new NonStackOverflower();
}Won't, since the creation of a new NonStackOverflower is not required to create a new NonStackOverflower instance.
Did that make sense? I may have gotten confused and failed to illustrate your situation with my code...
Good Luck
Lee
Maybe you are looking for
-
On Screen Keyboard Stopped Working in Alarm Mode [...
I have had a Nokia E51 for about 4 years - I used it till it literally stopped working. That phone started out great, but gave me A LOT of trouble and I started to hate it around month 6. Fast forward a few years and I need to buy a new phone. I sear
-
How can I sign out my apple id logged in on other device?
I want to sign out my apple id from my friends device using my ipad or apple website.... How do I do that? Thanks alot
-
Urgent !!!!!!! 1099 reporting
Hello Experts, I am having a problem in 1099 Vendor reporting using the program "RFKQSU20". I was trying to get the list of taxable and non-taxable 1099 amounts by vendor. I was getting a report which has no data in that, even though I posted a vendo
-
How to re-sync my iphone 4s to my laptop
My laptop died and had to be reworked. I've lost ability for my iphone to "automatically" send pics to my laptop. What to do?
-
u201CNew joiner u201Cis an action in our client system in which 8 infotypes are configured. When I execute this action in PA40 transaction, the 8th infotype that appears will be 0024.When this infotype screen appears as a part of u201DNew joiner u201