Community
Participate
Working Groups
I20040617-0800 win32 build. Fedora Core 2 with ext3 filesystem and samba 3.0.3-5 I mounted drive k: pointing to a samba server on Linux, and unzipped eclipse on this drive. Then I changed samba settings to make the share read only, and start Eclipse (passing -data to my local drive). Splash pops up and disapears, but an error is displayed "An error has occured and could not be logged", workbench does not appear. A .eclipse directory under my windows home directory is not created. Trying the same with M9 build the error is different, tells a file name like 123456789.log, but the log is not created. When samba share is read/write, eclipse starts. When Eclipse is burned on the CD-ROM and inserted into Windows box, it runs fine from there. When the CD-ROM is inserted into Linux box, and accessed through a shared drive, again Eclipse runs fine. So it is only when the share is read only, but the actual files on Linux are on the read/write disk the Eclipse does not want to start. I run startup.jar to capture the output and this is what I have got: K:\eclipsewin\eclipse>java -cp startup.jar org.eclipse.core.launcher.Main -data d:\data > d:\out1.txt java.io.IOException: The FrameworkAdaptor object could not perform the operation at org.eclipse.osgi.framework.internal.defaultadaptor.DefaultAdaptor.ini tializeStorage(DefaultAdaptor.java:267) at org.eclipse.osgi.framework.internal.core.Framework.initialize (Framewo rk.java:115) at org.eclipse.osgi.framework.internal.core.Framework.<init> (Framework.j ava:95) at org.eclipse.osgi.framework.internal.core.OSGi.createFramework (OSGi.ja va:90) at org.eclipse.osgi.framework.internal.core.OSGi.<init>(OSGi.java:31) at org.eclipse.core.runtime.adaptor.EclipseStarter.startup (EclipseStarte r.java:214) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.ja va:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:186) at org.eclipse.core.launcher.Main.run(Main.java:647) at org.eclipse.core.launcher.Main.main(Main.java:631) !SESSION Jun 17, 2004 16:32:50.263 -------------------------------------------- - eclipse.buildId=I200406170800 java.version=1.4.2_04 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US !ENTRY org.eclipse.osgi Jun 17, 2004 16:32:50.273 !MESSAGE Startup error !STACK 1 java.lang.RuntimeException: The FrameworkAdaptor object could not perform the op eration at org.eclipse.osgi.framework.internal.core.Framework.initialize (Framewo rk.java:119) at org.eclipse.osgi.framework.internal.core.Framework.<init> (Framework.j ava:95) at org.eclipse.osgi.framework.internal.core.OSGi.createFramework (OSGi.ja va:90) at org.eclipse.osgi.framework.internal.core.OSGi.<init>(OSGi.java:31) at org.eclipse.core.runtime.adaptor.EclipseStarter.startup (EclipseStarte r.java:214) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.ja va:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:186) at org.eclipse.core.launcher.Main.run(Main.java:647) at org.eclipse.core.launcher.Main.main(Main.java:631) K:\eclipsewin\eclipse>java -cp startup.jar org.eclipse.core.launcher.Main -data d:\data > d:\out1.txt K:\eclipsewin\eclipse>java -cp startup.jar org.eclipse.core.launcher.Main - debug -data d:\data > d:\out.txt Install location: file:/k:/eclipsewin/eclipse/ Configuration file: file:/k:/eclipsewin/eclipse/configuration/config.ini loaded Configuration location: file:/k:/eclipsewin/eclipse/configuration/ Configuration file: file:/k:/eclipsewin/eclipse/configuration/config.ini loaded Framework located: file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/ Loading framework classpath from: file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/eclipse.properties Framework classpath: file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/core.jar file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/console.jar file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/osgi.jar file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/resolver.jar file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/defaultAdaptor.jar file:/k:/eclipsewin/eclipse/plugins/org.eclipse.osgi_3.0.0/eclipseAdaptor.jar Debug options: file:/K:/eclipsewin/eclipse/.options not found
I'm thinking that java.io.File.canWrite() is returning true on the r/o samba share. This is the test we use to determine if we can use the install area for the configuration. Could you try - a simple java program that checks the behaviour of canWrite() - try running with -configuration <someplace local>
The problem is that this happens on other "regular" platforms also. The only workaround so far is to try to create a file... Sounds like a system property solution :-)
Correct. java.io.File.canWrite() is wrong - returns true. Looking at the file from DOS it does not show ReadOnly attribute, but choosing Properties in Windows Explorer for a file shows ReadOnly as set. JRE is not that smart. Eclipse runs with -configuration. There seem to be about 20 references to java.io.File.canWrite() across Eclipse.
Good readme candidate
readme added
Verified stuff is explained in the readme using I20040624-1200 build.