← Back to team overview

openjdk team mailing list archive

Bug#490617: [openjdk-6-jre-headless] workaround (that still activates class data sharing)

 

Package: openjdk-6-jre-headless
Version: 6b10dfsg-1

DISCLAIMER: this is merely a workaround for package users and not intended
as advice for the package maintainer.

the previously suggested patch (ie "|| test $? = 2") merely completes
installation though the shared archive creation failed.

by trial & error the following minimal memory limit was determined to allow
successful loading of all classes destined for the shared archive:
"-XX:PermSize=11m".

see attached patch for workaround as applied to postinst script (though in
the patch i rounded the memory limit up to "16m").

for further reference on class data sharing, see here [1].

[1] http://java.sun.com/j2se/1.5.0/docs/guide/vm/class-data-sharing.html

corey
-- 
undefined@xxxxxxxxx

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.24-1-686

Debian Release: lenny/sid
  990 testing         localhost 
   99 undefined       localhost 

--- Package information. ---
Depends                         (Version) | Installed
=========================================-+-================
openjdk-6-jre-lib         (>= 6b10dfsg-1) | 6b10dfsg-1
rhino                                     | 1.7R1-1
libaccess-bridge-java           (>= 1.22) | 1.23.0-1
ca-certificates-java                      | 20080712
java-common                     (>= 0.28) | 0.30
libcupsys2                                | 1.3.7-7
liblcms1                                  | 1.16-10
libc6                          (>= 2.7-1) | 2.7-10
libfreetype6                   (>= 2.3.5) | 2.3.5-1+lenny1
libgcc1                      (>= 1:4.1.1) | 1:4.3.1-2
zlib1g                       (>= 1:1.1.4) | 1:1.2.3.3.dfsg-12
--- /var/lib/dpkg/info/openjdk-6-jre-headless.postinst~	2008-07-13 01:05:00.000000000 -0500
+++ /var/lib/dpkg/info/openjdk-6-jre-headless.postinst	2008-07-13 01:00:35.000000000 -0500
@@ -68,7 +68,7 @@ configure)
     # activate class data sharing
     case i386 in i386|sparc)
 	rm -f $basedir/jre/lib/i386/client/classes.jsa
-	$basedir/bin/java -client -Xshare:dump > /dev/null
+	$basedir/bin/java -client -Xshare:dump -XX:PermSize=16m > /dev/null
     esac
 
     ;;