Hi Lloyd, Thanks for your report. It is not clear from the Java-ECLiPSe interface chapter of the manual (and it should be) that it is not conventional to have rpc goal arguments become instantiated to non-EXDR representable ECLiPSe data types. The 16'8194060 which is mentioned below is actually an example of such a piece of data and is not a normal ECLiPSe term. Another example is the breal type (which tripped me up in a similar way recently). What should happen in this case is that the rpc goal you stated will succeed as usual but the third argument returned to Java will be null as in the case of an uninstantiated argument, because no EXDR type matches 16'8194060 more closely. It is a bug that execution blocks in the remote interface/OutOfProcessEclipse case, and this will fixed for a patch release. Thanks, josh Developer, Parc Technologies Limited josh.singer@parc-technologies.com http://www.parc-technologies.com This e-mail message is for the sole use of the intended recipient(s) -its contents are the property of Parc Technologies Limited (or its licensors) and are confidential. Please do not copy, review, use (except for the intended purposes), disclose or distribute the e-mail or its contents (or allow anyone else to do so) without our prior permission. Parc Technologies Limited does not guarantee that this e-mail has not been intercepted and amended nor that it is virus-free. You should carry out your own virus checks before opening any attachment. Any opinions expressed in this e-mail message are those of the author and not necessarily Parc Technologies Limited. -----Original Message----- From: Lloyd Kamara [mailto:l.kamara@ic.ac.uk] Sent: Wednesday, January 30, 2002 3:49 PM To: eclipse-bugs@icparc.ic.ac.uk Subject: Java - OutofProcessEclipse and EclipseEngine.rpc() I have noticed a possible problem with the OutofProcessEclipse and EclipseEngine.rpc when running the following code (adapted from QuickTest.java, included in the distribution): import com.parctechnologies.eclipse.*; import java.io.*; public class QuickTest { public static void main(String[] args) throws Exception { EclipseEngineOptions eclipseEngineOptions = new EclipseEngineOptions(); EclipseEngine eclipse; eclipseEngineOptions.setUseQueues(false); eclipse = new OutOfProcessEclipse(eclipseEngineOptions); // The problematic line is below eclipse.rpc( "recorda( test, a, _ )" ); ((OutOfProcessEclipse) eclipse).destroy(); } } When running this code, the program appears to block at the line reading: eclipse.rpc( "recorda( test, a, X )" ); The code runs to completion if an EmbeddedEclipse is used in place of the OutOfProcessEclipse. It also finishes if recorda/3 is replaced by a corresponding recorda/2 call. It may be significant that the call to recorda/3 in the rpc invocation would return a term including a single quote (e.g. 16'8194060). Could this cause communication problems between Java and Eclipse (i.e. term-reading problems), despite the use of an anonymous variable? I am using eclipse 5.3 on a Linux system. Regards, Lloyd KamaraReceived on Wed Jan 30 16:48:25 2002
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:12 PM GMT GMT