powered by Jive Software

Remote debugging issues

I’m having remote debugging issues against the current version of Openfire found within the trunk. I’m on a mac and using JavaSE 1.6 u37 within both my dev and VM (CentOS 6 64bit) environments. However, none of my breakpoints are working no matter what I try.

I’ve attempted to upgrade the remote CentOS server to run with the latest version of the SE (7) but still have not had any luck getting this working.

Has anyone else had these issues?

Here is the general startup params that I am using:

OPENFIRE_RUN_CMD="${JAVACMD} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -server ${OPENFIRE_OPTS} -DopenfireHome=${OPENFIRE_HOME} -Dopenfire.lib.dir=${OPENFIRE_LIB} -Djava.net.preferIPv4Stack=true ${JVM_ARGS} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.mode=prod -Dtangosol.coherence.edition=EE" -classpath “${LOCALCLASSPATH}” -jar “${OPENFIRE_LIB}/startup.jar”"

We encountered a similar problem a while back … you will need to add the following parameter to your server config:

-Djava.rmi.server.hostname=<host_ip>

where <host_ip> is your Openfire server’s IP address. Apparently the RMI server needed for attaching the Eclispe debugger only binds to the loopback interface (127.0.0.1) by default … and I suppose that is a sensible default for security reasons.

Ok, I gave that a shot but it didn’t work… Hrmm

I went ahead and trimmed down the arguments I was passing in to the following:

OPENFIRE_OPTS="${OPENFIRE_OPTS} -DopenfireHome=${OPENFIRE_HOME} -Dopenfire.lib.dir=${OPENFIRE_LIB} -Djava.net.preferIPv4Stack=true ${JVM_ARGS} -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.mode=prod -Dtangosol.coherence.edition=EE"

OPENFIRE_RUN_CMD="${JAVACMD} -Xdebug -Djava.rmi.server.hostname=X.X.X.X -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -server ${OPENFIRE_OPTS} -classpath “${LOCALCLASSPATH}” -jar “${OPENFIRE_LIB}/startup.jar”"

X.X.X.X being the server IP address and is also what Eclipse is using to attempt to connect through.

I’m sure I am missing something simple