openjdk team mailing list archive
-
openjdk team
-
Mailing list archive
-
Message #06426
Bug#640476: openjdk-6-jre-lib: Breaks a mixed-version Java installation (needs tighter dependencies?)
Package: openjdk-6-jre-lib
Version: 6b23~pre9-1
Severity: normal
In my current installation (using pre9-1 of this package but pre8-1 of
everything else), Java programs using printf are broken. For example:
$ cat test.java
public class test {
public static void main(String [] args) {
System.out.printf("%s, world!\n", "Hello");
}
}
$ javac test.java
$ java test
Exception in thread "main" java.lang.InternalError
at java.util.Currency$1.run(Currency.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.Currency.<clinit>(Currency.java:177)
at java.text.DecimalFormatSymbols.initialize(DecimalFormatSymbols.java:559)
at java.text.DecimalFormatSymbols.<init>(DecimalFormatSymbols.java:94)
at java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:157)
at java.util.Formatter.setZero(Formatter.java:2212)
at java.util.Formatter.init(Formatter.java:1838)
at java.util.Formatter.<init>(Formatter.java:1868)
at java.io.PrintStream.format(PrintStream.java:936)
at java.io.PrintStream.printf(PrintStream.java:838)
at test.main(test.java:3)
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-6-openjdk/jre/lib/currency.data (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:137)
at java.io.FileInputStream.<init>(FileInputStream.java:96)
at java.util.Currency$1.run(Currency.java:183)
... 11 more
$
If I downgrade this package to 6b23~pre8-1, the problem vanishes:
$ sudo dpkg -i /var/cache/apt/archives/openjdk-6-jre-lib_6b23~pre8-2_all.deb
dpkg: warning: downgrading openjdk-6-jre-lib from 6b23~pre9-1 to 6b23~pre8-2.
(Reading database ... 309414 files and directories currently installed.)
Preparing to replace openjdk-6-jre-lib 6b23~pre9-1 (using .../openjdk-6-jre-lib_6b23~pre8-2_all.deb) ...
Unpacking replacement openjdk-6-jre-lib ...
Setting up openjdk-6-jre-lib (6b23~pre8-2) ...
$ javac test.java
$ java test
Hello, world!
$
I suspect if I upgraded the rest of my Java installation, it would cure the
problem as well, but I am unwilling to do so as it would require me to
uninstall the Java plugin (a temporary circumstance, I hope).
It looks to me like this package should not be upgraded without the rest of the
Java system, yet apt and dpkg are happy to do so (and, indeed, did). Perhaps
this package needs to declare a Breaks relationship with some older packages?
My package versions (after that downgrade):
$ dpkg -l openjdk\* | grep ^ii
ii openjdk-6-doc 6b23~pre9-1 OpenJDK Development Kit (JDK) documentation
ii openjdk-6-jdk 6b23~pre8-1 OpenJDK Development Kit (JDK)
ii openjdk-6-jre 6b23~pre8-1 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless 6b23~pre8-1 OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b23~pre8-2 OpenJDK Java runtime (architecture independent libraries)
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.4-ibid-1 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages openjdk-6-jre-lib depends on:
ii openjdk-6-jre-headless 6b23~pre8-1
openjdk-6-jre-lib recommends no packages.
openjdk-6-jre-lib suggests no packages.
-- no debconf information