Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 57709

Summary: Eclipse 3.0 file locking exception on startup
Product: Gentoo Linux Reporter: Grant Martin <grantmartin>
Component: Current packagesAssignee: Karl Trygve Kalleberg (RETIRED) <karltk>
Status: VERIFIED NEEDINFO    
Severity: normal CC: gentoo
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
URL: http://www.javageek.org/archives/001102.html
Whiteboard:
Package list:
Runtime testing required: ---

Description Grant Martin 2004-07-20 04:46:42 UTC
When I execute eclipse-3 the splash screen appears and then an error message dialog appears: 

An error has occurred. See the log file
"/home/gm99/.eclipse/org.eclipse.platform_3.0.0/configuration/1090323511735.log".

In the log file:

!SESSION Jul 20, 2004 21:38:32.935 ---------------------------------------------
eclipse.buildId=200406251208
java.version=1.4.2-gentoo
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US

!ENTRY initial@reference:file:/usr/lib/eclipse-3/plugins/org.eclipse.core.runtime_3.0.0/ 0 0 Jul 20, 2004 21:38:32.938
!MESSAGE FrameworkEvent.ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.runtime.PlatformActivator.start() of bundle org.eclipse.core.runtime.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:975)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:421)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:366)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:999)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:577)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:488)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:273)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:444)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:186)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:104)
Caused by: java.io.IOException: An error occurred while locking file "/home/gm99/.eclipse/org.eclipse.platform_3.0.0/configuration/org.eclipse.core.runtime/.manager/.fileTableLock": "Value too large for defined data type". A probably reason is that the file system or Runtime Environment does not support file locking. You may want to choose a different location, or disable file locking (using the osgi.locking property), but this can cause data corruption.
	at org.eclipse.core.runtime.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:42)
	at org.eclipse.osgi.service.datalocation.FileManager.lock(FileManager.java:219)
	at org.eclipse.osgi.service.datalocation.FileManager.open(FileManager.java:420)
	at org.eclipse.core.internal.runtime.InternalPlatform.initializeRuntimeFileManager(InternalPlatform.java:390)
	at org.eclipse.core.internal.runtime.InternalPlatform.start(InternalPlatform.java:383)
	at org.eclipse.core.internal.runtime.PlatformActivator.startInternalPlatform(PlatformActivator.java:251)
	at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:64)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
	... 10 more
Root exception:
java.io.IOException: An error occurred while locking file "/home/gm99/.eclipse/org.eclipse.platform_3.0.0/configuration/org.eclipse.core.runtime/.manager/.fileTableLock": "Value too large for defined data type". A probably reason is that the file system or Runtime Environment does not support file locking. You may want to choose a different location, or disable file locking (using the osgi.locking property), but this can cause data corruption.
	at org.eclipse.core.runtime.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:42)
	at org.eclipse.osgi.service.datalocation.FileManager.lock(FileManager.java:219)
	at org.eclipse.osgi.service.datalocation.FileManager.open(FileManager.java:420)
	at org.eclipse.core.internal.runtime.InternalPlatform.initializeRuntimeFileManager(InternalPlatform.java:390)
	at org.eclipse.core.internal.runtime.InternalPlatform.start(InternalPlatform.java:383)
	at org.eclipse.core.internal.runtime.PlatformActivator.startInternalPlatform(PlatformActivator.java:251)
	at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:64)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:421)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:366)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:999)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:577)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:488)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:273)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:444)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:186)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:104)

!ENTRY initial@reference:file:/usr/lib/eclipse-3/plugins/org.eclipse.update.configurator_3.0.0/ 0 0 Jul 20, 2004 21:38:32.983
!MESSAGE FrameworkEvent.ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.update.internal.configurator.ConfigurationActivator.start() of bundle org.eclipse.update.configurator.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:975)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:421)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:366)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:999)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:577)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:488)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:273)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:444)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:186)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:104)
Caused by: java.lang.Exception: Cannot initialize the Update Configurator
	at org.eclipse.update.internal.configurator.ConfigurationActivator.initialize(ConfigurationActivator.java:93)
	at org.eclipse.update.internal.configurator.ConfigurationActivator.start(ConfigurationActivator.java:71)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
	... 10 more
Root exception:
java.lang.Exception: Cannot initialize the Update Configurator
	at org.eclipse.update.internal.configurator.ConfigurationActivator.initialize(ConfigurationActivator.java:93)
	at org.eclipse.update.internal.configurator.ConfigurationActivator.start(ConfigurationActivator.java:71)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:421)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:366)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:999)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:577)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:488)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:273)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:444)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:186)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:104)

!ENTRY org.eclipse.osgi Jul 20, 2004 21:38:32.998
!MESSAGE Startup error
!STACK 1
java.lang.IllegalStateException: Bundle initial@reference:file:/usr/lib/eclipse-3/plugins/org.eclipse.core.runtime_3.0.0/ [1] is not active.
	at org.eclipse.core.runtime.adaptor.EclipseStarter.ensureBundlesActive(EclipseStarter.java:303)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:227)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:127)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
	at org.eclipse.core.launcher.Main.run(Main.java:644)
	at org.eclipse.core.launcher.Main.main(Main.java:628)

It appears to be a file locking problem with sun-j2sdk 1.4.2


Reproducible: Always
Steps to Reproduce:
1. launch eclipse-3
2.
3.

Actual Results:  
eclipse crashes on startup

Expected Results:  
eclipse should startup normally

If you run eclipse with the following arguments it works fine:

# eclipse -vmargs -Dosgi.locking=none

But using such options is known to corrupt files.


System info:

Portage 2.0.50-r9 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.6)
=================================================================
System uname: 2.6.6 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz
Gentoo Base System version 1.4.16
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe -march=pentium4 -mmmx -msse2 -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe -march=pentium4 -mmmx -msse2 -mfpmath=sse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distcc sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa avi berkdb bonobo cdr crypt cups dga directfb divx4linux encode
esd evo fbcon foomaticdb gdbm gif gnome gnutls gpm gstreamer gtk gtk+ gtk2
gtkhtml guile imap imlib java javascript jikes jpeg kerberos krb4 ldap libg++
libwww mad mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam
pdflib perl png postgres ppds python quicktime readline samba scanner sdk sdl
slang spell sse ssl svga tcltk tcpd tiff truetype usb x86 xml2 xmms xv xvid zlib"
Comment 1 Grant Martin 2004-07-20 05:01:02 UTC
The line:
# eclipse -vmargs -Dosgi.locking=none
Is meant to be:
# eclipse-3 -vmargs -Dosgi.locking=none

And I forgot to mention i'm using reiserfs
Comment 2 Grant Martin 2004-07-20 17:24:08 UTC
I have tried to compile with FEATURES="-sandbox" and still have the same problem
Comment 3 Karl Trygve Kalleberg (RETIRED) gentoo-dev 2004-07-26 14:10:52 UTC
Are you running some strange kernel or some strange file system?

Exactly which kernel and which file system do you run this on? Is /home/gm99
on a network file system? If so, which?

Can this be reproduced with a different VM, suck as the dev-java/jrockit-jdk-bin?
Comment 4 Grant Martin 2004-07-27 22:53:29 UTC
Yes my home directory is on a network filesystem (NFS v3).  Is this a problem?

My Kernel is 2.6.6 gentoo development sources and the rest of my system is on a reiserfs file system

I will try that different VM when I get a chance, but have already tried both blackdown and sun vm.

Comment 5 Karl Trygve Kalleberg (RETIRED) gentoo-dev 2004-07-28 06:05:16 UTC
Unless you also have grsecurity enabled, which sometimes create strange
problems, I think this problem is related to NFS. 

If it is, I cannot do much to help you, since we don't have the source code
for the blackdown JVM:/

Please try a different JVM, and if that still fails, attempt this hack:
let ${HOME}/.eclipse be a symlink to /tmp/gm99/.eclipse (hopefully tmp is a local filesystem, or there wouldn't be much point to this).

If that works, I think we've pretty much nailed NFS as being the culprit.
I know file locking over NFS has been problematic for years, but I honestly
thought it was a (mostly) solved problem.
Comment 6 Karl Trygve Kalleberg (RETIRED) gentoo-dev 2004-07-31 15:08:35 UTC
I suspect there is something weird with your NFS setup. Are you running lockd?
Comment 7 Grant Martin 2004-08-06 01:26:29 UTC
Turns out that upgrading from sun jdk 1.4.2_02 to sun jdk 1.4.2_04 fixed the problem.  Didn't realise 1.4.2_03 was the minimum requirement.  Thanks for your help anyway.
Comment 8 Mikael 2004-09-10 15:08:38 UTC
i have the same problem.
my home dir is on the local harddrive.

using sun-j2sdk-1.4.2.
eclipse starts with the osgi.locking=none parameter