Author |
Message
|
sijesh.ttv |
Posted: Thu Mar 26, 2009 10:44 am Post subject: Execution group restarts with stack overflow error in stderr |
|
|
Novice
Joined: 03 Nov 2008 Posts: 15
|
Hi,
I am in a very tough situation.The sistuation is below:
I have built MB 6.1.0.3 in AIX 5.3(5300-06-05-0806) in P590 lpars. We uses MQ 6.0.2.3 and 32 bit execution group.The request is coming through AF.
Whenever a request hits MB,the execution group is restarting.the message size is around 5 -8 K.The stderr of the execution group says "Exception in thread "Thread-16" java/lang/StackOverflowError: operating system stack overflow". Also its creating the abend file in /var/mqsi/common/errors
We have tried changing the ulimit to "unlimited" for broker user id.but its not allowing to set to unlimited.But still the ulimit is 4 GB for this user,pretty high.
I also set the MB environment variable MQSI_THREAD_STACK_SIZE=2097152 and restarted the broker.It didnt resolve the problem.I tried to increase it to 5 MB as well...no luck.
stderr :
---------
2009-03-26 16:39:47.348658 Execution group started. UUID is: '1ce773a7-1f01-0000-0080-9c8805a64ed4'. Broker is: MQD159
ftok OS JNI: A file or directory in the path name does not exist.
Exception in thread "Thread-16" java/lang/StackOverflowError: operating system stack overflow
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
at com/ibm/broker/plugin/MbNode.evaluate (MbNode.java:1434)
at com/ibm/broker/plugin/MbOutputTerminal._propagate (Native Method)
at com/ibm/broker/plugin/MbOutputTerminal.propagate (MbOutputTerminal.java:103)
2009-03-26 16:46:53.584694 Execution group started. UUID is: '1ce773a7-1f01-0000-0080-9c8805a64ed4'. Broker is: MQxxx
ftok OS JNI: A file or directory in the path name does not exist.
Could anybody tell me whats causing this issue?
Last edited by sijesh.ttv on Wed Jul 15, 2009 2:42 am; edited 2 times in total |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Thu Mar 26, 2009 11:31 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
What does your code do? Can you give an overview?
Do you have a propagate within a loop? Looks like a never ending loop to me that is exhausting the stack.
If you dont have any loops in your code have you tried a user trace to see where its failing? |
|
Back to top |
|
 |
sijesh.ttv |
Posted: Thu Mar 26, 2009 12:49 pm Post subject: |
|
|
Novice
Joined: 03 Nov 2008 Posts: 15
|
I had chat with application team.they are not using loop.I will try to enable a user trace to findout where exactly the issue is... |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Thu Mar 26, 2009 1:01 pm Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
Something seems to be in a loop, if its not your code but in an inbuilt node, better raise a PMR with IBM.
In in the mean time I'll await your trace and application overview though |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Mar 26, 2009 1:37 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What kind of node is "LookupNode"?
It appears to be a Java User Defined Node with a class " com/aviva/nui/messageBroker/nodes/v61/".
Did you ask the programmers if *that* does any kind of looping?
Is it doing a lookup that is returning a very large number of results? |
|
Back to top |
|
 |
sijesh.ttv |
Posted: Thu Mar 26, 2009 1:46 pm Post subject: |
|
|
Novice
Joined: 03 Nov 2008 Posts: 15
|
Hi,
I forgot to tell you one fact.The message flow which is creating the stack overflow error in AIX is processing messages without any problems in windows platform.So,does it mean that some AIX related settings is causing this issue? |
|
Back to top |
|
 |
sijesh.ttv |
Posted: Fri Mar 27, 2009 2:58 am Post subject: |
|
|
Novice
Joined: 03 Nov 2008 Posts: 15
|
Hi,
The issue has been resolved by raising an IBM PMR
The resolution is given below:
When using Java 1.5, there is a parameter you can set to adjust the stack size for the Java threads. Prior to Java.15, we use to set the MQSI_THREAD_STACK_SIZE to adjust the AIX stack size which defaulted to 1 Meg.
The default OS stack size for Java 1.5 is only 256K which is why you see a stackoverflow error in the stderr file. Use the following to adjst the size:
export IBM_JAVA_OPTIONS=-Xmso2m
This will set the OS stack for Java to 2Megs.
A useful option for displaying the various sizes/stack info is:
export MQSIJVERBOSE=-verbose:stack,sizes |
|
Back to top |
|
 |
banff |
Posted: Tue Jul 14, 2009 7:41 am Post subject: StackOverflowError when Starting Message Broker Toolkit |
|
|
Newbie
Joined: 14 Jul 2009 Posts: 2
|
I received the same "java.lang.StackOverflowError: OS stack overflow" when starting WebSphere Message Broker Toolkit version 6.1.0.4, OS: Windows XP, java.fullversion=J2RE 1.5.0. How do I modify OS stack size for Java 1.5 in Windows XP? Thanks.
Here is the top part of log:
!SESSION 2009-07-14 11:02:38.156 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20080303 (JIT enabled)
J9VM - 20080228_17641_lHdSMR
JIT - 20070820_1846ifx1_r8
GC - 200802_28
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.emf.ecore 2 0 2009-07-14 11:03:47.812
!MESSAGE Both 'com.ibm.wbit.artifact.loader' and 'com.ibm.etools.mft.artifact.loader' register an extension parser for 'al'
!ENTRY org.eclipse.osgi 4 0 2009-07-14 11:04:15.515
!MESSAGE Application error
!STACK 1
java.lang.StackOverflowError: OS stack overflow
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Unknown Source)
at org.eclipse.swt.widgets.Tree.callWindowProc(Unknown Source)
at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Unknown Source)
at org.eclipse.swt.widgets.Composite.WM_SIZE(Unknown Source)
at org.eclipse.swt.widgets.Tree.WM_SIZE(Unknown Source)
at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
at org.eclipse.swt.widgets.Tree.windowProc(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Unknown Source)
at org.eclipse.swt.widgets.Tree.callWindowProc(Unknown Source)
at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
at org.eclipse.swt.widgets.Tree.windowProc(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method)
at org.eclipse.swt.widgets.Composite.resizeChildren(Unknown Source)
Thanks in advance for helping. |
|
Back to top |
|
 |
|