Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 123138

Summary: User friendly message when launching eclipse fails due to write access
Product: [Eclipse Project] Equinox Reporter: Doug MacDonald <doug_macdonald>
Component: FrameworkAssignee: equinox.framework-inbox <equinox.framework-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: enhancement    
Priority: P3    
Version: 3.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Doug MacDonald CLA 2006-01-09 13:59:27 EST
We have been dealing with support for multiple users and the following scenario occurred:

1. install eclipse into a directory that only has write access for the current user
2. log off the os and login as a different user
3. try to launch eclipse

Since the second user does not have write access (specifically to the configuration directory), eclipse fails to launch and a message tells the user to look at the log file for more info. The log has the exception below. It would be nice if the eclipse launcher could detect if the user has the appropriate write access and if not then display a message that indicates the user does not have enough access to run eclipse.

!MESSAGE Error reading configuration: c:\eclipse3\3.1.0.sdk\eclipse\configuration\org.eclipse.osgi\.manager\.fileTableLock (Access is denied)
!STACK 0
java.io.FileNotFoundException: c:\eclipse3\3.1.0.sdk\eclipse\configuration\org.eclipse.osgi\.manager\.fileTableLock (Access is denied)
	at java.io.FileOutputStream.openAppend(Native Method)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:34)
	at org.eclipse.core.runtime.adaptor.FileManager.lock(FileManager.java:361)
	at org.eclipse.core.runtime.adaptor.FileManager.open(FileManager.java:658)
	at org.eclipse.core.runtime.adaptor.EclipseAdaptor.initFileManager(EclipseAdaptor.java:809)
	at org.eclipse.core.runtime.adaptor.EclipseAdaptor.initialize(EclipseAdaptor.java:139)
	at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:126)
	at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:104)
	at org.eclipse.osgi.framework.internal.core.OSGi.createFramework(OSGi.java:90)
	at org.eclipse.osgi.framework.internal.core.OSGi.<init>(OSGi.java:31)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:272)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:159)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)
Comment 1 Thomas Watson CLA 2006-04-10 11:03:26 EDT

*** This bug has been marked as a duplicate of 131891 ***