[eclipse-clp-users] java.net.SocketException when using OutOfProcessEclipse, seemingly due to insufficient RAM

From: -dp- <david_at_wooden-robot.net>
Date: Thu, 15 Sep 2011 15:44:54 +0800
We're using ECLiPSe 6.0 (i.e. 32-bit) on Windows7 64-bit. We embed CLP in a
Java 1.6 app run in the EclipseIDE via OutOfProcessEclipse. We use 32 bit
Java and EclipseIDE to be compatible with ECLiPSe 6.0, because there is no
64 bit version of CLP for Windows that we could find.

On other Windows machines, using XP, we were getting memory exceeded errors,
so we switched to Win7 64bit and have been experimenting with settings like
the following to try to escape those limitations:

In the Java IDE's Run Config, "VM Arguments" is set to:

-Declipse.directory="C:\Program Files (x86)\ECLiPSe 6.0" -Xms128M -Xmx256M
-XX:MaxPermSize=350m


Our runs now get about twice as far into the search space, but now we're
running into the following socket error. It seems to suggest that the
spawned CLP process has gone unresponsive:

java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.net.SocketInputStream.read(SocketInputStream.java:182)
    at java.io.DataInputStream.readByte(DataInputStream.java:248)
    at
com.parctechnologies.eclipse.EXDRInputStream.readTerm(EXDRInputStream.java:97)
    at
com.parctechnologies.eclipse.RemoteEclipse.readControl(RemoteEclipse.java:1114)
    at
com.parctechnologies.eclipse.RemoteEclipse.getNextControlTerm(RemoteEclipse.java:1182)
    at
com.parctechnologies.eclipse.RemoteEclipse.getNextControlSignal(RemoteEclipse.java:796)
    at
com.parctechnologies.eclipse.EclipseConnectionImpl.waitForEclipse(EclipseConnectionImpl.java:647)
    at
com.parctechnologies.eclipse.EclipseConnectionImpl.executeRpc(EclipseConnectionImpl.java:381)
    at
com.parctechnologies.eclipse.EclipseConnectionImpl.rpc(EclipseConnectionImpl.java:312)
    at
com.parctechnologies.eclipse.OutOfProcessEclipse.rpc(OutOfProcessEclipse.java:362)
    at sg.ihpc.wayang.WorldToObserver.go(WorldToObserver.java:89)
    at sg.ihpc.wayangTest.Main$1.run(Main.java:62)
    at java.lang.Thread.run(Thread.java:662)


Of course, there might be some bug in our CLP code that's causing the CLP
process to crash, and we'll keep looking into that. But in case this is
another manifestation of the memory limit issue, we wanted your advice about
how to increase RAM allocated to the OutOfProcessEclipse. Is the use
of MaxPermSize above appropriate and sufficient?

On June 22 2011, Kish Shen wrote:
> For ECLiPSe 6.0 (the current version of ECLiPSe), 64 bit binary versions
> are available for Linux (running on x86_64), Mac OS X (running on
> x86_64). In ECLiPSe 6.1 (the development version of ECLiPSe), there is
> additionally the 64 bit Windows version (running on x86_64).

Where could we get this 64bit ECLiPSe 6.1 for Windows?

David
Received on Thu Sep 15 2011 - 08:44:45 CEST

This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET