Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Visual Editor (VE) » Opensolaris VE partial success - SWT or Swing working but not both !
Opensolaris VE partial success - SWT or Swing working but not both ! [message #617452] Wed, 11 November 2009 01:58 Go to next message
Porter is currently offline PorterFriend
Messages: 42
Registered: July 2009
Member
I'm attempting to get VE working on the Solaris platform. I'm using Opensolaris x86 32-bit, latest development release (build 126) of Opensolaris 2010.02. Recent java:
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) Server VM (build 14.1-b02, mixed mode)


Eclipse 3.4, 3.5 and 3.6 up to M3 work on this platform and I'd like to get VE working now that Solaris x86 is one of the regularly built platforms. I like this platform for development.

VE installs no problem from the update site and with the update site version, Swing works with no problems but SWT doesn't. SWT fails due to a missing native library in the org.eclipse.ve.swt plugin, libswt-gtk-print.so. The plugin only includes this library for linux and macosx however it also includes the source code.

The good news is I found it very easy to get VE SWT support working by compiling this library for Opensolaris and adding it to the plugin. The minor changes needed to the makefile are shown in the following diff outpout (this version only works for solaris and would need some work to support linux and solaris, for some reason I can't attach this file):

--- makefile 2006-05-04 18:10:42.000000000 +1000
+++ makefile.solaris 2009-11-11 10:27:37.586295497 +1100
@@ -17,7 +17,7 @@
# Your system may have these in a different place.
# JAVA_HOME - IBM's version of Java
# 32 bit path
-JAVA_HOME = /IBMSW/J2SDKs/ibm/j2sdk-1.4.2-cxia32142-20050609/sdk
+JAVA_HOME = /usr/jdk/latest
AWT_LIB_PATH = $(JAVA_HOME)/jre/bin
XTEST_LIB_PATH = /usr/X11R6/lib
SWTGTKPRINT = swt-gtk-print
@@ -31,9 +31,10 @@
SWTSWTGTKPRINT_OBJECTS_DEBUG = swt-gtk-print-DEBUG.o
SWTSWTGTKPRINT_OBJECTS_DEBUG_EVENTS = swt-gtk-print-DEBUG-EVENTS.o

-CFLAGS = -O -Wall \
- -DLINUX -DGTK \
+CFLAGS = -O -Wall\
+ -DGTK \
-I$(JAVA_HOME)/include \
+ -I$(JAVA_HOME)/include/solaris \
-fpic

LIBS = -shared -fpic

I compiled successfully using gcc on Opensolaris. The Sun Studio compiler gave several errors likely due to gcc-isms in the source so I decided to use the gcc. I have all the GTK headers etc installed which I assume are needed for successful compilation of this library.

Then I just added a folder solaris/x86 to the "os" folder in the org.eclipse.ve.swt plugin source (from CVS), recompiled and exported the plugin (no errors) and then SWT visual editing worked for (I'm claiming) the first time on Opensolaris! RCP view and edit parts also work! Happy days!

This worked with both the 20090826-1446 version and head versions from CVS.

However, incredibly Swing no longer works after the above procedure and this is where I need help. Remember in essence all I have done is replaced the org.eclipse.ve.swt plugin from the update site with a new version including the solaris version of the native library libswt-gtk-print, with no changes at all to the source code from CVS.

Attempting to use VE for Swing gives the following error stack trace. The first error in the trace seems to occur on the JEM/EMF side.
Googling around there have been several mentions of "remote vm terminated too soon" and "program SWT received an X windows system error" but nothing related to the "org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'LayoutManager' is not found or is abstract" error shown below. I'm not using the solaris ipfilter service for a firewall and remember Swing works from the unmodified update site version (but SWT doesn't).

I'm stumped at this point and would really appreciate any pointers. If I can get both SWT and Swing and there's any interest in enabling the solaris platform I'll gladly contribute back.



!ENTRY org.eclipse.ve.java.core 4 0 2009-11-11 12:08:24.049
!MESSAGE Exception thrown.
!STACK 0
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1Diagnos ticWrappedException: org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'LayoutManager' is not found or is abstract. (file:/export/home/porter/workspacehel6/.metadata/.plugins/o rg.eclipse.core.resources/.projects/test1/org.eclipse.ve.jav a.core/.cache/emfmodel/src/test1/SimpleTextEditor.xmi, 2, 16352)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDe mandLoadException(ResourceSetImpl.java:315)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:274)
at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceS etImpl.getResource(ProjectResourceSetImpl.java:631)
at org.eclipse.ve.internal.java.codegen.util.VEModelCacheUtilit y.doLoadFromCache(VEModelCacheUtility.java:103)
at org.eclipse.ve.internal.java.codegen.core.VEModelInstance.cr eateComposition(VEModelInstance.java:100)
at org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.reConnect(JavaSourceTranslator.java:1134)
at org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.decodeDocument(JavaSourceTranslator.java:910)
at org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.loadModel(JavaSourceTranslator.java:597)
at org.eclipse.ve.internal.java.codegen.editorpart.JavaVisualEd itorPart$Setup.run(JavaVisualEditorPart.java:1978)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'LayoutManager' is not found or is abstract. (file:/export/home/porter/workspacehel6/.metadata/.plugins/o rg.eclipse.core.resources/.projects/test1/org.eclipse.ve.jav a.core/.cache/emfmodel/src/test1/SimpleTextEditor.xmi, 2, 16352)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.validateCreateObje ctFromFactory(XMLHandler.java:2243)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.validateCreateObje ctFromFactory(XMLHandler.java:2367)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromTy peName(XMLHandler.java:2098)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObject(XMLHa ndler.java:2030)
at org.eclipse.emf.ecore.xmi.impl.XMIHandler.createObject(XMIHa ndler.java:134)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLH andler.java:1839)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XML Handler.java:1023)
at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMI Handler.java:87)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:1001)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:712)
at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHa ndler.java:169)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScanner Impl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl$FragmentContentDriver.next(XMLDocumentFragmentSca nnerImpl.java:2747)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScanner Impl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java: 510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(X MLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSA XParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl. java:181)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLRes ourceImpl.java:180)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1494)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1282)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:255)
at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceS etImpl.demandLoad(ProjectResourceSetImpl.java:358)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:270)
... 8 more

!ENTRY org.eclipse.jem.proxy 4 0 2009-11-11 12:08:48.302
!MESSAGE Exception thrown.
!STACK 0
java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:250)
at org.eclipse.jem.internal.proxy.common.remote.Commands.readBa ckValue(Commands.java:1243)
at org.eclipse.jem.internal.proxy.common.remote.ExpressionComma nds.sendSyncCommand(ExpressionCommands.java:261)
at org.eclipse.jem.internal.proxy.remote.REMConnection.sync(REM Connection.java:320)
at org.eclipse.jem.internal.proxy.remote.REMExpression.pushInvo ke(REMExpression.java:970)
at org.eclipse.jem.internal.proxy.core.Expression.invokeExpress ion(Expression.java:685)
at org.eclipse.ve.internal.java.core.MemberContainerProxyAdapte r.initBeanProxy(MemberContainerProxyAdapter.java:581)
at org.eclipse.ve.internal.java.codegen.editorpart.JavaVisualEd itorPart$Setup.run(JavaVisualEditorPart.java:2089)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.ve.java.core 2 0 2009-11-11 12:08:48.384
!MESSAGE Exception thrown.
!STACK 0
java.lang.IllegalStateException: IWAV0173I Command Exception occurred. See .log file for details.
at org.eclipse.jem.internal.proxy.remote.REMExpression.throwIll egalStateException(REMExpression.java:193)
at org.eclipse.jem.internal.proxy.remote.REMExpression.pushInvo ke(REMExpression.java:1001)
at org.eclipse.jem.internal.proxy.core.Expression.invokeExpress ion(Expression.java:685)
at org.eclipse.ve.internal.java.core.MemberContainerProxyAdapte r.initBeanProxy(MemberContainerProxyAdapter.java:581)
at org.eclipse.ve.internal.java.codegen.editorpart.JavaVisualEd itorPart$Setup.run(JavaVisualEditorPart.java:2089)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.388
!MESSAGE
!STACK 0
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:21 8)
at java.io.BufferedInputStream.read(BufferedInputStream.java:23 7)
at java.io.DataInputStream.readByte(DataInputStream.java:248)
at org.eclipse.jem.internal.proxy.common.remote.Commands.readBa ckValue(Commands.java:1243)
at org.eclipse.jem.internal.proxy.common.remote.Commands.sendIn vokeMethodCommand(Commands.java:1403)
at org.eclipse.jem.internal.proxy.remote.REMConnection.invokeMe thod(REMConnection.java:208)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invoke( REMMethodProxy.java:219)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invokeW ithParms(REMMethodProxy.java:189)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invoke( REMMethodProxy.java:102)
at org.eclipse.jem.internal.proxy.swt.JavaStandardSWTBeanConsta nts.getEnvironmentProxy(JavaStandardSWTBeanConstants.java:13 5)
at org.eclipse.ve.internal.jface.JFaceColorProxyRegistration.in itialize(JFaceColorProxyRegistration.java:87)
at org.eclipse.ve.internal.jface.JFaceConfigurationContributor$ 1.run(JFaceConfigurationContributor.java:42)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3115)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.397
!MESSAGE
!STACK 0
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.ja va:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:186)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y$2.run(REMProxyFactoryRegistry.java:398)
at java.lang.Thread.run(Thread.java:619)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.401
!MESSAGE
!STACK 0
java.lang.IllegalStateException: IWAV0170I Connection creation failed.
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.createConnection(REMProxyFactoryRegistry.java:425)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.getFreeConnection(REMProxyFactoryRegistry.java:376)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invokeW ithParms(REMMethodProxy.java:119)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invoke( REMMethodProxy.java:102)
at org.eclipse.jem.internal.proxy.swt.JavaStandardSWTBeanConsta nts.getEnvironmentProxy(JavaStandardSWTBeanConstants.java:13 5)
at org.eclipse.ve.internal.jface.JFaceFontProxyRegistration.ini tialize(JFaceFontProxyRegistration.java:97)
at org.eclipse.ve.internal.jface.JFaceConfigurationContributor$ 1.run(JFaceConfigurationContributor.java:43)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3115)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

!ENTRY org.eclipse.ve.java.core 2 0 2009-11-11 12:08:48.404
!MESSAGE Exception thrown.
!STACK 0
java.lang.IllegalStateException: IWAV0171E Could not create a socket connection to remote vm. This is often due to your firewall blocking access from your java to do local access.
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.createConnection(REMProxyFactoryRegistry.java:426)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.getFreeConnection(REMProxyFactoryRegistry.java:376)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invokeW ithParms(REMMethodProxy.java:119)
at org.eclipse.jem.internal.proxy.remote.REMMethodProxy.invoke( REMMethodProxy.java:102)
at org.eclipse.jem.internal.proxy.swt.JavaStandardSWTBeanConsta nts.getEnvironmentProxy(JavaStandardSWTBeanConstants.java:13 5)
at org.eclipse.ve.internal.jface.JFaceFontProxyRegistration.ini tialize(JFaceFontProxyRegistration.java:97)
at org.eclipse.ve.internal.jface.JFaceConfigurationContributor$ 1.run(JFaceConfigurationContributor.java:43)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3115)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.452
!MESSAGE IWAV0138E Remote VM terminated too soon. See .log file for trace of output. For VM "Project (test1)-VM for test1".
IWAV0072I Remote VM terminated before any commands can be sent. Following are the error and output streams.
Remote VM Commandline:
/usr/jdk/instances/jdk1.6.0/bin/java -Dproxyvm.registryKey=6443659 -Dproxyvm.masterPort=59478 -Dproxyvm.bufsize=16000 "-Dproxyvm.servername=Project (test1)-VM for test1" -noverify -Djava.library.path=/programs/galileo_e4/eclipse/plugins/org .eclipse.ve.swt_1.4.0.200911111107/os/solaris/x86/:/export/h ome/porter/workspacehel6/.metadata/.plugins/org.eclipse.ve.j ava.core/.cache/.libCache/1688393055/ -Dfile.encoding=ISO646-US -classpath /programs/galileo_e4/eclipse/configuration/org.eclipse.osgi/ bundles/323/1/.cp/vm/remotevm.jar:/programs/galileo_e4/eclip se/plugins/org.eclipse.ui_3.5.0.I20090604-2000.jar:/programs /galileo_e4/eclipse/plugins/org.eclipse.swt_3.5.0.v3550b.jar :/programs/galileo_e4/eclipse/plugins/org.eclipse.swt.gtk.so laris.x86_3.5.0.v3550b.jar:/programs/galileo_e4/eclipse/plug ins/org.eclipse.jface_3.5.0.I20090525-2000.jar:/programs/gal ileo_e4/eclipse/plugins/org.eclipse.core.commands_3.5.0.I200 90525-2000.jar:/programs/galileo_e4/eclipse/plugins/org.ecli pse.ui.workbench_3.5.0.I20090603-2000.jar:/programs/galileo_ e4/eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525. jar:/programs/galileo_e4/eclipse/plugins/org.eclipse.osgi_3. 5.0.v20090520.jar:/programs/galileo_e4/eclipse/dropins/plugi ns/org.eclipse.equinox.weaving.hook_1.0.0.200905261348.jar:/ programs/galileo_e4/eclipse/plugins/org.eclipse.equinox.comm on_3.5.0.v20090520-1800.jar:/programs/galileo_e4/eclipse/plu gins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar:/progr ams/galileo_e4/eclipse/plugins/org.eclipse.core.runtime.comp atibility.registry_3.2.200.v20090429-1800/runtime_registry_c ompatibility.jar:/programs/galileo_e4/eclipse/plugins/org.ec lipse.equinox.registry_3.4.100.v20090520-1800.jar:/programs/ galileo_e4/eclipse/plugins/org.eclipse.equinox.preferences_3 .2.300.v20090520-1800.jar:/programs/galileo_e4/eclipse/plugi ns/org.eclipse.core.contenttype_3.100.0.v20090320-1130.jar:/ programs/galileo_e4/eclipse/plugins/org.eclipse.equinox.app_ 1.2.0.v20090520-1800.jar:/export/home/porter/workspacehel6/t est1/bin/:/programs/galileo_e4/eclipse/plugins/org.eclipse.j em.proxy_2.0.201.v200908101600.jar:/programs/galileo_e4/ecli pse/configuration/org.eclipse.osgi/bundles/329/1/.cp/vm/jfcb eaninfo.jar:/programs/galileo_e4/eclipse/plugins/org.eclipse .ve.swt_1.4.0.200911111107/vm/swtbeaninfo.jar:/programs/gali leo_e4/eclipse/plugins/org.eclipse.jem.beaninfo.vm.common_2. 0.201.v200908101600.jar:/programs/galileo_e4/eclipse/plugins /org.eclipse.jem.beaninfo.vm_2.0.200.v200811260651.jar:/prog rams/galileo_e4/eclipse/configuration/org.eclipse.osgi/bundl es/328/1/.cp/vm/javaremotevm.jar:/programs/galileo_e4/eclips e/configuration/org.eclipse.osgi/bundles/329/1/.cp/vm/jfcvm. jar:/programs/galileo_e4/eclipse/plugins/org.eclipse.ve.swt_ 1.4.0.200911111107/vm/jbcfswtvm.jar:/programs/galileo_e4/ecl ipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I2 0090429-1800/compatibility.jar org.eclipse.jem.internal.proxy.vm.remote.RemoteVMApplication
-- Error Stream --
The program 'SWT' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 181 error_code 2 request_code 12 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

-- Output Stream --

-- End of Stream Output --


!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.464
!MESSAGE
!STACK 0
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.ja va:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:186)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y$2.run(REMProxyFactoryRegistry.java:398)
at java.lang.Thread.run(Thread.java:619)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.467
!MESSAGE
!STACK 0
java.lang.IllegalStateException: IWAV0170I Connection creation failed.
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.createConnection(REMProxyFactoryRegistry.java:425)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.getFreeConnection(REMProxyFactoryRegistry.java:376)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y.registryTerminated(REMProxyFactoryRegistry.java:290)
at org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry.ter minateRegistry(ProxyFactoryRegistry.java:300)
at org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry.ter minateRegistry(ProxyFactoryRegistry.java:244)
at org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistr y$1.handleDebugEvents(REMProxyFactoryRegistry.java:180)
at org.eclipse.debug.core.DebugPlugin$EventNotifier.run(DebugPl ugin.java:1076)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.debug.core.DebugPlugin$EventNotifier.dispatch(De bugPlugin.java:1110)
at org.eclipse.debug.core.DebugPlugin$EventDispatchJob.run(Debu gPlugin.java:381)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.jem.proxy 2 0 2009-11-11 12:08:48.493
!MESSAGE
+++ Warning +++: Wed Nov 11 12:08:48 EST 2009 Project (test1)-VM for test1:err>
The program 'SWT' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 181 error_code 2 request_code 12 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Re: Opensolaris VE partial success - SWT or Swing working but not both ! [message #617485 is a reply to message #617452] Wed, 18 November 2009 21:58 Go to previous message
Porter is currently offline PorterFriend
Messages: 42
Registered: July 2009
Member
Solved!

After some quality time running VE in self-hosted workbenches I realised that the Swing problem was indeed due to the remote VM not launching properly.

This was due to the configuration of my OpenSolaris host and is basically the same issue as discussed in this bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=69736) in 2004. Namely the /etc/hosts included a line to support ipv6:
::1 opensolaris opensolaris.local localhost loghost

Removing localhost from this list but leaving it in ipv4 as follows did the trick:
::1 opensolaris opensolaris.local loghost
127.0.0.1 opensolaris.local localhost loghost

Seems nothing has changed in this aspect in 5 years.

With this change I was able to get both the Swing and SWT aspects of VE working in OpenSolaris. I've not run the tests but all aspects of VE including View and Edit parts and eclipse forms support seem to work.

The only problem I've found is that Swing visual classes can't be created in a plugin project that includes SWT classes/UI contribution support. If I try to do this the remote VM terminates quickly.

A couple of other points:
- When I built everything from CVS I found that palettes weren't being populated.
- So I used the download site and only built org.eclipse.ve.swt from CVS (with the solaris libswt-gtk-print.so).
-I also upgraded to OpenSolaris dev build 127 which includes a bugfix ( http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6 888696) for "A Java application using both awt/swing and eclipse/swt hangs in Xlibint.c." however this wasn't the root cause it was the /etc/hosts file.

Now for XWT!
Previous Topic:Opensolaris VE partial success - SWT or Swing working but not both !
Next Topic:VE display trouble
Goto Forum:
  


Current Time: Tue Dec 23 01:44:44 GMT 2014

Powered by FUDForum. Page generated in 0.01530 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software