Causes several facilties of Eclipse to fail: Java class launch, Error Log.

Bug #1050404 reported by Hugues Cassé
112
This bug affects 34 people
Affects Status Importance Assigned to Milestone
eclipse (Ubuntu)
Invalid
Undecided
Unassigned
Precise
Invalid
Undecided
Unassigned
openjdk-7 (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
High
Unassigned
tzdata (Ubuntu)
Invalid
Undecided
Unassigned
Precise
Fix Released
High
Unassigned

Bug Description

Since my last system update, Eclipse has become unusable: it was perfectly working before this update.

  * error when I try to launch a Java class
nothing is launched

  * error to display the Log Form view

java.lang.NullPointerException
 at sun.util.calendar.ZoneInfoFile.getZoneIDs(ZoneInfoFile.java:785)
 at sun.util.calendar.ZoneInfo.getAvailableIDs(ZoneInfo.java:535)
 at java.util.TimeZone.getAvailableIDs(TimeZone.java:516)
 at com.ibm.icu.impl.JavaTimeZone.<clinit>(JavaTimeZone.java:37)
 at com.ibm.icu.util.TimeZone.getDefault(TimeZone.java:754)
 at com.ibm.icu.util.GregorianCalendar.<init>(GregorianCalendar.java:337)
 at com.ibm.icu.text.DateFormat$Field.<clinit>(DateFormat.java:1568)
 at com.ibm.icu.text.SimpleDateFormat.<clinit>(SimpleDateFormat.java:756)
 at org.eclipse.ui.internal.views.log.LogSession.setDate(LogSession.java:43)
 at org.eclipse.ui.internal.views.log.LogSession.processLogLine(LogSession.java:67)
 at org.eclipse.ui.internal.views.log.LogReader.parseLogFile(LogReader.java:94)
 at org.eclipse.ui.internal.views.log.LogView.readLogFile(LogView.java:811)
 at org.eclipse.ui.internal.views.log.LogView.createPartControl(LogView.java:171)
 at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
 at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
 at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
 at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:4317)
 at org.eclipse.ui.internal.WorkbenchPage$18.runWithException(WorkbenchPage.java:3359)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
 at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
 at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2609)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 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(EclipseStarter.java:344)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:616)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: eclipse (not installed)
ProcVersionSignature: Ubuntu 3.2.0-31.50-generic 3.2.28
Uname: Linux 3.2.0-31-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.0.1-0ubuntu13
Architecture: amd64
Date: Thu Sep 13 14:25:11 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
SourcePackage: eclipse
UpgradeStatus: Upgraded to precise on 2012-05-21 (114 days ago)

Revision history for this message
Hugues Cassé (hugues-casse) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in eclipse (Ubuntu):
status: New → Confirmed
Revision history for this message
Karl Trygve Kalleberg (karltk) wrote :
Download full text (3.8 KiB)

Same DistroRelease as above, linux-generic 3.2.0.30.32.

I have pretty much the same as reported, both with 7u7-2.3.2-1ubuntu0.12.04.1 and with 6b24-1.11.4-1ubuntu0.12.04.1.

This started after the following upgrades (from /var/dpkg/log):

2012-09-13 10:24:04 upgrade openjdk-7-jdk 7~u3-2.1.1~pre1-1ubuntu3 7u7-2.3.2-1ubuntu0.12.04.1
2012-09-04 11:26:10 upgrade openjdk-6-jdk 6b24-1.11.3-1ubuntu0.12.04.1 6b24-1.11.4-1ubuntu0.12.04.1

Example from Eclipse .metadata/.log in one of my workspaces:

eclipse.buildId=I20120608-1400
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=nb_NO
Command-line arguments: -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.ui.workbench 4 2 2012-09-14 12:01:40.224
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.equinox.p2.ui.sdk.scheduler" was unable to instantiate class "org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler".
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:188)
        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
        at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:273)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:52)
        at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:269)
        at org.eclipse.ui.internal.EarlyStartupRunnable.getExecutableExtension(EarlyStartupRunnable.java:117)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.ui.internal.Workbench$52.run(Workbench.java:2357)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ExceptionInInitializerError
        at com.ibm.icu.util.TimeZone.getDefault(TimeZone.java:754)
        at com.ibm.icu.util.Calendar.getInstanceInternal(Calendar.java:1626)
        at com.ibm.icu.util.Calendar.getInstance(Calendar.java:1590)
        at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler.<clinit>(AutomaticUpdateScheduler.java:50)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at java.lang.Class.newInstance0(Class.java:372)
        at java.lang.Class....

Read more...

Revision history for this message
Karl Trygve Kalleberg (karltk) wrote :

Not sure if this is a clue, buit given that it's the ZoneInfoFile that bombs out, I suspect it might be:

# grep open log | grep -v karltk | grep '/zi/'
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/Europe/Oslo", 0x7fe2ac8a5f50) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/ZoneInfoMappings", 0x7fe2ac8a5f10) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/GMT+01:00", 0x7fe2ac8a5f50) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/ZoneInfoMappings", 0x7fe2ac8a5f10) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/GMT+01:00", 0x7fe2ac8a5f20) = -1 ENOENT (No such file or directory)
[pid 16150] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/ZoneInfoMappings", 0x7fe232b43ab0) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/GMT", 0x7fe2ac8a09a0) = -1 ENOENT (No such file or directory)
[pid 16125] stat("/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/ZoneInfoMappings", 0x7fe2ac8a0950) = -1 ENOENT (No such file or directory)

The zone info files appear to be located elsewhere:

/usr/lib/jvm/java-7-openjdk-common/jre/lib/zi/Europe/Oslo
/usr/share/javazi/Europe/Oslo
/usr/share/zoneinfo/Europe/Oslo
/usr/share/zoneinfo/posix/Europe/Oslo
/usr/share/zoneinfo/right/Europe/Oslo

Revision history for this message
Karl Trygve Kalleberg (karltk) wrote :

Following up one the above:

# file /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/Europe/Oslo
/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi/Europe/Oslo: broken symbolic link to `../../../../../java-7-openjdk-common/jre/lib/zi/Europe/Oslo'

There are multiple levels of symlinks, and the symlinks inside /usr/share/javazi are just plain broken.

Revision history for this message
Matthias Klose (doko) wrote :

these should be the correct symlinks, I guess the update did something wrong with it.

$ ls -l /usr/lib/jvm/java-?-openjdk-amd64/jre/lib/zi
lrwxrwxrwx 1 root root 27 Jan 22 2012 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/zi -> ../../../../../share/javazi
lrwxrwxrwx 1 root root 27 Feb 25 2012 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/zi -> ../../../../../share/javazi

Revision history for this message
Sera (seraphim6x7) wrote :

This prevented Eclipse from running any Java projects or even showing the list of installed JRE's.
Thanks to the comments above I replaced '/usr/share/javazi' with a symlink to '/usr/lib/jvm/java-7-openjdk-common/jre/lib/zi' and Eclipse can run Java projects again.

Revision history for this message
Jake Cobb (error404) wrote :

I'm pretty sure the java-7-openjdk updates are responsible for this behavior:

Start-Date: 2012-09-12 16:46:50
Commandline: apt-get dist-upgrade
Upgrade: openjdk-7-doc:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), openjdk-7-jdk:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), openjdk-7-jre:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), openjdk-7-source:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), icedtea-7-jre-jamvm:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), openjdk-7-jre-lib:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1), openjdk-7-jre-headless:amd64 (7~u3-2.1.1~pre1-1ubuntu3, 7u7-2.3.2-1ubuntu0.12.04.1)
Remove: icedtea-7-jre-cacao:amd64 (7~u3-2.1.1~pre1-1ubuntu3)
End-Date: 2012-09-12 16:47:29

/usr/share/javazi is installed by tzdata-java and does not consist of symlinks. java-7-openjdk is not even my current update-alternatives selection, yet all of these broken symlinks attempt to point to it:

$ update-alternatives --display java
java - auto mode
  link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
  slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1051
  slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'.

$ readlink -f $(which java)
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java

Revision history for this message
Jake Cobb (error404) wrote :

I should have mentioned you can restore the files with:

$ sudo apt-get install --reinstall tzdata-java

Revision history for this message
Karl Trygve Kalleberg (karltk) wrote :

I can confirm that reinstalling tzdata-java fixes the problem for me too, and that both java-6-openjdk and java-7-openjdk are "healed".

Before the reinstall, the files (not directories) inside /usr/share/javazi/ were broken symlinks into ../../../../../java-7-openjdk-common/jre/lib/zi/.

After reinstalling tzdata-java, the files inside /usr/share/javazi are not symlinks anymore, but the actual timezone data files.

Thus, the "outer-level" symlinks in /usr/lib/jvm/java-?-openjdk-amd64/jre/lib/zi finally work again. Woohoo!

Matthias Klose (doko)
Changed in openjdk-7 (Ubuntu):
importance: Undecided → High
status: New → In Progress
Changed in openjdk-7 (Ubuntu Precise):
importance: Undecided → High
milestone: none → precise-updates
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in eclipse (Ubuntu Precise):
status: New → Confirmed
Matthias Klose (doko)
Changed in tzdata (Ubuntu):
status: New → Invalid
Changed in tzdata (Ubuntu Precise):
importance: Undecided → High
milestone: none → precise-updates
status: New → In Progress
Changed in eclipse (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openjdk-7 - 7u7-2.3.2a-0ubuntu1

---------------
openjdk-7 (7u7-2.3.2a-0ubuntu1) quantal; urgency=low

  * Repackage the source to drop the cacao tarball (and packaging files).
  * Depend again on system provided tzdata-java and restore the zi
    symlink on upgrade. LP: #1050404.
  * libgnome2-0, libgnomevfs2-0, libgconf2-4 are not prepared for multiarch.
    Don't depend on these so that openjdk-7 can be installed as a multiarch
    package.
 -- Matthias Klose <email address hidden> Sat, 15 Sep 2012 17:01:12 +0200

Changed in openjdk-7 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openjdk-7 - 7u7-2.3.2a-0ubuntu0.12.04.1

---------------
openjdk-7 (7u7-2.3.2a-0ubuntu0.12.04.1) precise-security; urgency=low

  * Depend on tzdata-java (>= 2012e-0ubuntu0.12.04.1) to force a
    re-installation of the package. LP: #1050404.
  * Build a transitional icedtea-7-jre-cacao package to ease upgrades.
 -- Matthias Klose <email address hidden> Wed, 19 Sep 2012 02:20:26 +0200

Changed in openjdk-7 (Ubuntu Precise):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzdata - 2012e-0ubuntu0.12.04.1

---------------
tzdata (2012e-0ubuntu0.12.04.1) precise-security; urgency=low

  * Re-upload to precise. The openjdk-7 7u7-2.3.2-1ubuntu0.12.04.1
    upload did remove the /usr/share/javazi directory.
    openjdk=7 7u7-2.3.2a-0ubuntu0.12.04.1 now depends on this
    version of the package to fore a reinstallation. LP: #1050404.
 -- Matthias Klose <email address hidden> Sat, 15 Sep 2012 17:16:34 +0200

Changed in tzdata (Ubuntu Precise):
status: In Progress → Fix Released
Revision history for this message
Steve Beattie (sbeattie) wrote :

I'm closing the eclipse task because the update to tzdata and openjdk-7 should have addressed the issue. Please re-open this bug or file a new one if that's not the case. Thanks!

Changed in eclipse (Ubuntu Precise):
status: Confirmed → Invalid
Revision history for this message
Chris Kerr (gingekerr-yahoo) wrote :

For me, Eclipse hangs (100% CPU) on startup at about 60% through the splash screen progress bar (status: 'Loading Workbench'). This still happens if I purge and reinstall eclipse and delete my ~/.eclipse directory

Revision history for this message
Chris Kerr (gingekerr-yahoo) wrote :

P.S. my openjdk-7-jre is version 7u9-2.3.3-ubuntu1~12.10.1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.