Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

StackOverflowError in RMI communication  RSS feed

 
boris abramovich
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello
Any help/hint/advice with this would be very much appreciative
Here are the details:
I have 2 modules. Both behave as server/client. Each
runs in its own jvm, on different machines.
Lets say Module A running on machine Z and Module B
running on machine Y. These modules talk to each other
through the RMI interface. Each machine has a registry
running at default port, so that each module is
registered there.
Module A generates request and sends it module B for
processing. After module B finished processing the
request it repays to Module B by sending it a status
message. This setup is working fine for couple of
days, but eventually it throws and StackOverflowError
(exception) which basically kills the rmi
communication and forces me to restart module B (the
exception always happens on sending reply from B to
A). So if i just restart B, without touching A,
everything continues to work for another couple days.
here is an error i am getting (it is from the log of a
module B, which is called DSLAM)

Process completed. Success
Sending response to the Output Queue
java.lang.StackOverflowError
at java.util.Hashtable.get(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
.... A lot of this
at java.util.Properties.getProperty(Compiled Code)
at java.util.Properties.getProperty(Compiled Code)
at java.lang.System.getProperty(Compiled Code)
at sun.security.action.GetPropertyAction.run(Compiled Code)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessController.doPrivileged(Compiled Code)
at java.net.PlainSocketImpl.usingSocks(Compiled Code)
at java.net.PlainSocketImpl.connectToAddress(Compiled Code)
at java.net.PlainSocketImpl.connect(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at java.net.Socket.<init>(Compiled Code)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Compiled Code)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Compiled Code)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Compiled Code)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Compiled Code)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Compiled Code)
at sun.rmi.server.UnicastRef.invoke(Compiled Code)
at com.uswest.ums.activator.util.RBQueue_Stub.enqueue(Compiled Code)
at com.uswest.ums.config.dslam.npa.DSLAMNI2.activation(Compiled Code)
at com.uswest.ums.config.dslam.DSLAMActivator.run(Compiled Code)
based on this log, the reply message was generated
o.k. and module B was trying to send it back,
unfortunately module A have never got it. The
exception occurred in rmi space, (at least this is
that it looks like to me).
I am using java 1.2.1
Thank you
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!