Bug 67719 - Eclipse does not start from read only mounted drive on samba share.
Summary: Eclipse does not start from read only mounted drive on samba share.
Status: VERIFIED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Incubator (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 RC4   Edit
Assignee: User Unknown CLA
QA Contact:
URL:
Whiteboard:
Keywords: readme
Depends on:
Blocks:
 
Reported: 2004-06-17 17:03 EDT by Konrad Kolosowski CLA
Modified: 2005-09-27 09:12 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konrad Kolosowski CLA 2004-06-17 17:03:08 EDT
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
Comment 1 Jeff McAffer CLA 2004-06-17 18:58:14 EDT
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>
Comment 2 Pascal Rapicault CLA 2004-06-17 19:04:44 EDT
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 :-)
Comment 3 Konrad Kolosowski CLA 2004-06-17 21:24:01 EDT
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.
Comment 4 Jeff McAffer CLA 2004-06-17 21:29:04 EDT
Good readme candidate
Comment 5 Jeff McAffer CLA 2004-06-23 11:53:29 EDT
readme added
Comment 6 Konrad Kolosowski CLA 2004-06-24 17:32:25 EDT
Verified stuff is explained in the readme using I20040624-1200 build.