From omajid at icedtea.classpath.org Thu Jul 1 06:23:28 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 01 Jul 2010 13:23:28 +0000 Subject: /hg/icedtea6: 4 new changesets Message-ID: changeset ffd5f9e8887d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ffd5f9e8887d author: Omair Majid date: Tue Jun 29 14:19:38 2010 -0400 Netx: make path sanitization consistent; use a blacklisting approach. 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/cache/CacheUtil.java (urlToPath): Call FileUtils.sanitizePath. (fixPath): Moved to... * netx/net/sourceforge/jnlp/util/FileUtils.java (sanitizePath): New function. Moved from CacheUtil.java (sanitizeFileName): Use a blacklisting approach rather than a whitelisting approach: should work better with non ascii filenames. changeset e7c3958eee03 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e7c3958eee03 author: Omair Majid date: Tue Jun 29 14:26:57 2010 -0400 Netx: make the SingleInstanceServer thread a daemon thread 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java (startListeningServer): Mark the thread as a daemon so the JVM can shutdown if there are no other non-daemon thread running. changeset fc215b8f9b18 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fc215b8f9b18 author: Omair Majid date: Tue Jun 29 15:48:10 2010 -0400 Netx: allow jnlp classloaders to share native libraries 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java nativeDirectories: New variable. Contains a list of directories that contain native libraries. (getInstance): Tell other classloaders about the native directory. (getNativeDir): Add the new native directory to nativeDirectories. (addNativeDirectory): New function. (getNativeDirectories): New function. (findLibrary): Look in all the native directories for the native library. changeset 7649271c60ab in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7649271c60ab author: Omair Majid date: Wed Jun 30 19:15:49 2010 -0400 Merge diffstat: 8 files changed, 281 insertions(+), 91 deletions(-) ChangeLog | 70 +++++ Makefile.am | 122 ++++++---- netx/net/sourceforge/jnlp/cache/CacheUtil.java | 17 - netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 56 +++- netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 11 netx/net/sourceforge/jnlp/util/FileUtils.java | 51 +++- patches/debug-dir.patch | 31 ++ patches/no-sync.patch | 14 + diffs (truncated from 661 to 500 lines): diff -r fa1c6854f1e6 -r 7649271c60ab ChangeLog --- a/ChangeLog Mon Jun 28 14:18:16 2010 +0100 +++ b/ChangeLog Wed Jun 30 19:15:49 2010 -0400 @@ -1,3 +1,73 @@ 2010-06-25 Andrew John Hughes + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + nativeDirectories: New variable. Contains a list of directories that + contain native libraries. + (getInstance): Tell other classloaders about the native directory. + (getNativeDir): Add the new native directory to nativeDirectories. + (addNativeDirectory): New function. + (getNativeDirectories): New function. + (findLibrary): Look in all the native directories for the native library. + +2010-06-30 Omair Majid + + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + (startListeningServer): Mark the thread as a daemon so the JVM can + shutdown if there are no other non-daemon thread running. + +2010-06-30 Omair Majid + + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + (urlToPath): Call FileUtils.sanitizePath. + (fixPath): Moved to... + * netx/net/sourceforge/jnlp/util/FileUtils.java + (sanitizePath): New function. Moved from CacheUtil.java + (sanitizeFileName): Use a blacklisting approach rather than a whitelisting + approach: should work better with non ascii filenames. + +2010-06-30 Andrew John Hughes + + PR icedtea/93 + * Makefile.am: Fix cleanup process. + (clean-local): Renamed from distclean-local. + Add additional dependent clean targets. + Don't remove build directories and stamps; + should be done by dependents. + (.PHONY): Updated. + (clean-ports): Inverse of ports.stamp. + (clean-overlay): Inverse of overlay.stamp. + (clean-native-ecj): Inverse of native-ecj.stamp. + (clean-icedtea): Just delete the build directory and stamp. + (clean-icedtea-debug): Inverse of icedtea-debug.stamp. + (clean-icedtea-against-icedtea): Inverse of icedtea-against-icedtea.stamp + (clean-icedtea-debug-against-icedtea): Inverse of icedtea-debug-against-icedtea.stamp + (clean-icedtea-ecj): Just delete the build directory and stamp. + (clean-icedtea-against-ecj): Inverse of icedtea-against-ecj.stamp. + (clean-IcedTeaPlugin): Delete empty build directories if srcdir != builddir. + (clean-pulse-java): Likewise. + (clean-add-cacao): Inverse of add-cacao.stamp. + (clean-add-cacao-debug): Inverse of add-cacao-debug.stamp. + (clean-add-zero): Inverse of add-zero.stamp. + (clean-add-zero-debug): Inverse of add-zero-debug.stamp. + (clean): Removed; already provided by autoconf to point to clean-local. + +2010-06-29 Andrew John Hughes + + * Makefile.am: Add new patch. + * patches/no-sync.patch: Don't pass --sync + to df; the file space check does not need + to be so accurate that we have to flush all + buffers to disc. + +2010-06-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_DEBUG_BUILD_TARGET): Don't add + debug suffix, OpenJDK makefile already does this. + * patches/debug-dir.patch: Fix OpenJDK + Makefile to just add the debug suffix and + not move it to ../$(OS)-$(ARCH)-debug. + 2010-06-25 Andrew John Hughes Remove VisualVM support, now maintained at diff -r fa1c6854f1e6 -r 7649271c60ab Makefile.am --- a/Makefile.am Mon Jun 28 14:18:16 2010 +0100 +++ b/Makefile.am Wed Jun 30 19:15:49 2010 -0400 @@ -92,8 +92,6 @@ ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/javax/management/StandardMBean.java \ $(NETX_BOOTSTRAP_CLASSES) -# FIXME (javac): Settings for javac go here - # Flags IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) @@ -155,12 +153,11 @@ else MEMORY_LIMIT = endif -ICEDTEA_DEBUG_BUILD_TARGET=ALT_OUTPUTDIR="$(DEBUG_BUILD_OUTPUT_DIR)" if WITH_CACAO ICEDTEA_BUILD_TARGET=jdk_only - ICEDTEA_DEBUG_BUILD_TARGET += jdk_fastdebug_only + ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only else - ICEDTEA_DEBUG_BUILD_TARGET += debug_build + ICEDTEA_DEBUG_BUILD_TARGET = debug_build endif # FIXME (bootstrap): Assumption is WITH_OPENJDK == no bootstrap @@ -289,7 +286,9 @@ ICEDTEA_PATCHES = \ patches/icedtea-jtreg-httpTest.patch \ patches/arm.patch \ patches/shark-debug-option.patch \ - patches/openjdk/6961732.patch + patches/openjdk/6961732.patch \ + patches/debug-dir.patch \ + patches/no-sync.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -518,27 +517,18 @@ all-local: icedtea-against-icedtea check-local: jtregcheck -#FIXME (clean): Should become clean-local. -distclean-local: clean-copy clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) \ - clean-netx clean-plugin clean-liveconnect - rm -rf stamps - rm -f rt-source-files.txt \ - extra-source-files.txt +clean-local: clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) \ + clean-netx clean-plugin clean-liveconnect clean-icedtea clean-icedtea-debug \ + clean-icedtea-ecj clean-cacao clean-ports clean-overlay clean-native-ecj \ + clean-icedtea-against-icedtea clean-icedtea-debug-against-icedtea \ + clean-icedtea-against-ecj + rm -f rt-source-files.txt extra-source-files.txt rm -rf bootstrap rm -rf lib rm -rf extra-lib rm -rf openjdk-ecj - rm -rf $(ECJ_BUILD_OUTPUT_DIR) rm -rf openjdk - rm -rf $(BUILD_OUTPUT_DIR) - -if BUILD_CACAO - rm -rf cacao -endif rm -f jni-common.o -if ADD_ZERO_BUILD - rm -rf zerovm -endif #FIXME (clean): Missing distclean-local for downloads only @@ -551,7 +541,10 @@ install: clean-bootstrap-directory-symlink-ecj icedtea icedtea-debug \ clean-icedtea icedtea-against-icedtea clean-icedtea-ecj \ clean-tools-jar clean-copy clean-rt $(ICEDTEAPLUGIN_CLEAN) hotspot \ - hotspot-helper clean-extra clean-jtreg clean-jtreg-reports + hotspot-helper clean-extra clean-jtreg clean-jtreg-reports \ + clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug + clean-icedtea-against-ecj clean-cacao clean-add-cacao clean-add-cacao-debug \ + clean-ports clean-overlay env: @echo 'unset JAVA_HOME' @@ -853,7 +846,17 @@ stamps/ports.stamp: stamps/replace-hotsp mkdir -p stamps touch stamps/ports.stamp -#FIXME (clean): Missing clean-ports +clean-ports: + for target in $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ + $(abs_top_srcdir)/ports/hotspot/tools \ + $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ + $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ + link=$$(echo $$target | sed 's/^.*ports/openjdk/'); \ + rm -rf $$link; \ + done + rm -f openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg + rm -f openjdk/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c + rm -f stamps/ports.stamp #FIXME (missing): Missing generated.stamp @@ -988,7 +991,8 @@ endif endif touch stamps/overlay.stamp -#FIXME (clean): Missing clean-overlay +clean-overlay: + rm -f stamps/overlay.stamp # OpenJDK ecj Source Preparation Targets # ====================================== @@ -1069,7 +1073,9 @@ stamps/native-ecj.stamp: fi ; \ touch stamps/native-ecj.stamp -# FIXME(clean): Missing clean-native-ecj +clean-native-ecj: + rm -f native-ecj + rm -rf stamps/native-ecj.stamp # bootstrap/ecj. stamps/bootstrap-directory-ecj.stamp: stamps/native-ecj.stamp @@ -1235,6 +1241,10 @@ endif mkdir -p stamps touch stamps/icedtea.stamp +clean-icedtea: + rm -rf $(BUILD_OUTPUT_DIR) + rm -f stamps/icedtea.stamp + stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/netx-dist.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ extra-lib/about.jar stamps/cacao.stamp $(PULSE_JAVA_TARGET) \ @@ -1308,25 +1318,25 @@ endif mkdir -p stamps touch stamps/icedtea-debug.stamp -clean-icedtea: stamps/extract.stamp - $(ARCH_PREFIX) $(MAKE) \ - $(ICEDTEA_ENV) \ - -C openjdk clobber - rm -f stamps/icedtea.stamp stamps/icedtea-debug.stamp +clean-icedtea-debug: + rm -rf $(DEBUG_BUILD_OUTPUT_DIR) + rm -f stamps/icedtea-debug.stamp stamps/icedtea-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp mkdir -p stamps touch stamps/icedtea-against-icedtea.stamp -#FIXME (clean): Missing clean-icedtea-against-icedtea +clean-icedtea-against-icedtea: clean-add-zero clean-add-cacao + rm -f stamps/icedtea-against-icedtea.stamp stamps/icedtea-debug-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp mkdir -p stamps touch stamps/icedtea-debug-against-icedtea.stamp -#FIXME (clean): Missing clean-icedtea-debug-against-icedtea +clean-icedtea-debug-against-icedtea: clean-add-zero-debug clean-add-cacao-debug + rm -f stamps/icedtea-debug-against-icedtea.stamp # OpenJDK ecj Targets # =================== @@ -1342,6 +1352,10 @@ stamps/icedtea-ecj.stamp: stamps/bootstr $(ECJ_BUILD_OUTPUT_DIR) mkdir -p stamps touch stamps/icedtea-ecj.stamp + +clean-icedtea-ecj: stamps/extract-ecj.stamp + rm -rf $(ECJ_BUILD_OUTPUT_DIR) + rm -f stamps/icedtea-ecj.stamp hotspot: if WITH_OPENJDK @@ -1364,19 +1378,14 @@ else @echo "Hotspot is served:" $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image endif -clean-icedtea-ecj: stamps/extract-ecj.stamp - rm -f stamps/icedtea-ecj.stamp - $(ARCH_PREFIX) $(MAKE) \ - $(ICEDTEA_ENV_ECJ) \ - -C openjdk-ecj/ clobber - stamps/icedtea-against-ecj.stamp: \ stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/icedtea-ecj.stamp mkdir -p stamps touch stamps/icedtea-against-ecj.stamp -#FIXME (clean): Missing clean-icedtea-against-ecj +clean-icedtea-against-ecj: + rm -f stamps/icedtea-against-ecj.stamp # Plugin @@ -1418,6 +1427,10 @@ clean-IcedTeaPlugin: clean-IcedTeaPlugin: rm -f $(PLUGIN_DIR)/*.o rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + rmdir $(abs_top_builddir)/plugin/icedteanp ; \ + rmdir $(abs_top_builddir)/plugin ; \ + fi endif stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) @@ -1580,6 +1593,9 @@ clean-pulse-java: [ -z "$(PULSE_JAVA_CLASS_DIR)" ] || rm -rf $(PULSE_JAVA_CLASS_DIR) rm -f stamps/pulse-java*.stamp rm -f pulse-java.jar + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + rmdir $(abs_top_builddir)/pulseaudio ; \ + fi endif # end of pulse-java @@ -1663,7 +1679,10 @@ endif endif touch $@ -#FIXME (clean): Missing clean-add-cacao +clean-add-cacao: + rm -rf $(BUILD_JRE_ARCH_DIR)/cacao + sed -i 's#-cacao KNOWN#-cacao ERROR#' jvm.cfg + rm -f stamps/add-cacao.stamp stamps/add-cacao-debug.stamp: stamps/icedtea-debug.stamp stamps/cacao.stamp if ADD_CACAO_BUILD @@ -1680,7 +1699,10 @@ endif endif touch $@ -#FIXME (clean): Missing clean-add-cacao-debug +clean-add-cacao-debug: + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/cacao + sed -i 's#-cacao KNOWN#-cacao ERROR#' jvm.cfg + rm -f stamps/add-cacao-debug.stamp # configure script arguments, quoted in single quotes CONFIGURE_ARGS = @CONFIGURE_ARGS@ @@ -1742,7 +1764,13 @@ endif endif touch $@ -#FIXME (clean): Missing clean-add-zero +clean-add-zero: + rm -rf $(BUILD_JRE_ARCH_DIR)/zero + rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm + sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg + sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg + rm -f stamps/add-zero.stamp stamps/add-zero-debug.stamp: stamps/icedtea-debug.stamp if ADD_ZERO_BUILD @@ -1772,7 +1800,13 @@ endif endif touch $@ -#FIXME (clean): Missing clean-add-zero-debug +clean-add-zero-debug: + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/zero + rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm + sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg + sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg + rm -f stamps/add-zero-debug.stamp # end additional VMs @@ -1941,8 +1975,6 @@ bootstrap-directory-symlink: stamps/boot cacao: stamps/cacao.stamp -clean: distclean-local - nbplatform: stamps/nbplatform.stamp download: stamps/download.stamp diff -r fa1c6854f1e6 -r 7649271c60ab netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Mon Jun 28 14:18:16 2010 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Wed Jun 30 19:15:49 2010 -0400 @@ -26,6 +26,7 @@ import javax.jnlp.*; import net.sourceforge.jnlp.*; import net.sourceforge.jnlp.runtime.*; +import net.sourceforge.jnlp.util.FileUtils; /** * Provides static methods to interact with the cache, download @@ -300,23 +301,9 @@ public class CacheUtil { path.append(File.separatorChar); path.append(location.getPath().replace('/', File.separatorChar)); - return new File(JNLPRuntime.getBaseDir(), fixPath(path.toString())); + return new File(JNLPRuntime.getBaseDir(), FileUtils.sanitizePath(path.toString())); } - /** - * Clean up a string by removing characters that can't appear in - * a local file name. - */ - private static String fixPath(String path) { - char badChars[] = { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; - - for (int i=0; i < badChars.length; i++) - if (badChars[i] != File.separatorChar) - if (-1 != path.indexOf(badChars[i])) - path = path.replace(badChars[i], 'X'); - - return path; - } /** * Waits until the resources are downloaded, while showing a diff -r fa1c6854f1e6 -r 7649271c60ab netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jun 28 14:18:16 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jun 30 19:15:49 2010 -0400 @@ -32,6 +32,7 @@ import java.security.Permissions; import java.security.Permissions; import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedList; @@ -82,6 +83,9 @@ public class JNLPClassLoader extends URL /** the directory for native code */ private File nativeDir = null; // if set, some native code exists + + /** a list of directories that contain native libraries */ + private List nativeDirectories = Collections.synchronizedList(new LinkedList()); /** security context */ private AccessControlContext acc = AccessController.getContext(); @@ -237,18 +241,22 @@ public class JNLPClassLoader extends URL // loader for this unique key. Check. JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); - if (extLoader != null) { + if (extLoader != null && extLoader != loader) { for (URL u : loader.getURLs()) extLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + extLoader.addNativeDirectory(nativeDirectory); loader = extLoader; } // loader is now current + ext. But we also need to think of // the baseLoader - if (baseLoader != null) { + if (baseLoader != null && baseLoader != loader) { for (URL u : loader.getURLs()) baseLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + baseLoader.addNativeDirectory(nativeDirectory); loader = baseLoader; } @@ -716,29 +724,47 @@ public class JNLPClassLoader extends URL if (!nativeDir.mkdirs()) return null; - else + else { + // add this new native directory to the search path + addNativeDirectory(nativeDir); return nativeDir; + } + } + + /** + * Adds the {@link File} to the search path of this {@link JNLPClassLoader} + * when trying to find a native library + */ + protected void addNativeDirectory(File nativeDirectory) { + nativeDirectories.add(nativeDirectory); + } + + /** + * Returns a list of all directories in the search path of the current classloader + * when it tires to find a native library. + * @return a list of directories in the search path for native libraries + */ + protected List getNativeDirectories() { + return nativeDirectories; } /** * Return the absolute path to the native library. */ protected String findLibrary(String lib) { - if (nativeDir == null) - return null; - String syslib = System.mapLibraryName(lib); - File target = new File(nativeDir, syslib); - if (target.exists()) - return target.toString(); - else { - String result = super.findLibrary(lib); - if (result != null) - return result; + for (File dir: getNativeDirectories()) { + File target = new File(dir, syslib); + if (target.exists()) + return target.toString(); + } - return findLibraryExt(lib); - } + String result = super.findLibrary(lib); + if (result != null) + return result; From bugzilla-daemon at icedtea.classpath.org Thu Jul 1 08:00:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 01 Jul 2010 15:00:36 +0000 Subject: [Bug 513] cacao+Icedtea6 on ARM build failure on armv7l with --enable-softfloat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=513 stefan at complang.tuwien.ac.at changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #1 from stefan at complang.tuwien.ac.at 2010-07-01 15:00 ------- I will have to go hunting for an ARM machine... -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 1 10:07:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 01 Jul 2010 17:07:59 +0000 Subject: [Bug 394] pre Epoch bug : java.lang.ExceptionInInitializerError on systems with time set before January 1, 1970 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 ------- Comment #18 from jon.vanalten at redhat.com 2010-07-01 17:07 ------- (In reply to comment #17) > It's not at all clear that one cannot solve the y2038 problem on > systems with a 32-bit time_t. > That's what Michael Schwern is trying to do here: > http://code.google.com/p/y2038/ > His code is available. Unfortunately unless I am missing something this example is not solving the y2038 problem for when a 32-bit system clock reaches overflow. See: http://code.google.com/p/y2038/wiki/HowItWorks It is simply allowing for representations of future times beyond 2038. Java already has this. > > The JDK should find some other anti-inlining technique. > > The code should be agnostic about the current time, as suggested. > -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Thu Jul 1 15:13:09 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 01 Jul 2010 22:13:09 +0000 Subject: /hg/icedtea6: Fix extraction cleanup. Message-ID: changeset e6ef1847ac70 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e6ef1847ac70 author: Andrew John Hughes date: Thu Jul 01 23:13:01 2010 +0100 Fix extraction cleanup. 2010-07-01 Andrew John Hughes * Makefile.am: (clean-local): Add clean-extract (in place of clean-cacao, a dependent), clean-extract-ecj, clean-generated and clean-replace-hotspot. Don't delete openjdk and openjdk-ecj here, now done in dependents. (extract): Depend on extract-cacao.stamp. (clean-extract): Depend on clean-extract-openjdk and clean-cacao. (clean-extract-openjdk): Remove openjdk directory and stamp. (extract-openjdk): Just extract OpenJDK, don't extract cacao and create generated. (replace-hotspot): Make sure stamps exists. (clean-replace-hotspot): No need for recursive delete. (generated): Copy generated directory from srcdir if needed. (clean-generated): Remove generated directory if necessary. (patch-fsg): Depend on generated rather than ports so it is included. (clean-icedtea-ecj): Remove bogus dependency. diffstat: 2 files changed, 53 insertions(+), 20 deletions(-) ChangeLog | 21 +++++++++++++++++++++ Makefile.am | 52 ++++++++++++++++++++++++++++++++-------------------- diffs (153 lines): diff -r 7649271c60ab -r e6ef1847ac70 ChangeLog --- a/ChangeLog Wed Jun 30 19:15:49 2010 -0400 +++ b/ChangeLog Thu Jul 01 23:13:01 2010 +0100 @@ -1,3 +1,24 @@ 2010-06-30 Omair Majid + + * Makefile.am: + (clean-local): Add clean-extract (in place + of clean-cacao, a dependent), clean-extract-ecj, + clean-generated and clean-replace-hotspot. + Don't delete openjdk and openjdk-ecj here, now + done in dependents. + (extract): Depend on extract-cacao.stamp. + (clean-extract): Depend on clean-extract-openjdk + and clean-cacao. + (clean-extract-openjdk): Remove openjdk directory and stamp. + (extract-openjdk): Just extract OpenJDK, don't + extract cacao and create generated. + (replace-hotspot): Make sure stamps exists. + (clean-replace-hotspot): No need for recursive delete. + (generated): Copy generated directory from srcdir if needed. + (clean-generated): Remove generated directory if necessary. + (patch-fsg): Depend on generated rather than ports so it is included. + (clean-icedtea-ecj): Remove bogus dependency. + 2010-06-30 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java diff -r 7649271c60ab -r e6ef1847ac70 Makefile.am --- a/Makefile.am Wed Jun 30 19:15:49 2010 -0400 +++ b/Makefile.am Thu Jul 01 23:13:01 2010 +0100 @@ -519,15 +519,13 @@ check-local: jtregcheck clean-local: clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) \ clean-netx clean-plugin clean-liveconnect clean-icedtea clean-icedtea-debug \ - clean-icedtea-ecj clean-cacao clean-ports clean-overlay clean-native-ecj \ + clean-icedtea-ecj clean-extract clean-ports clean-overlay clean-native-ecj \ clean-icedtea-against-icedtea clean-icedtea-debug-against-icedtea \ - clean-icedtea-against-ecj + clean-icedtea-against-ecj clean-extract-ecj clean-generated clean-replace-hotspot rm -f rt-source-files.txt extra-source-files.txt rm -rf bootstrap rm -rf lib rm -rf extra-lib - rm -rf openjdk-ecj - rm -rf openjdk rm -f jni-common.o #FIXME (clean): Missing distclean-local for downloads only @@ -544,7 +542,8 @@ install: hotspot-helper clean-extra clean-jtreg clean-jtreg-reports \ clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug clean-icedtea-against-ecj clean-cacao clean-add-cacao clean-add-cacao-debug \ - clean-ports clean-overlay + clean-ports clean-overlay clean-extract-ecj clean-extract clean-extract-openjdk \ + clean-replace-hotspot clean-generated env: @echo 'unset JAVA_HOME' @@ -756,12 +755,12 @@ clean-download: clean-drops clean-downlo rm -f stamps/download.stamp rm -f $(OPENJDK_SRC_ZIP) -#FIXME (meta): Split into multiple targets -stamps/extract.stamp: stamps/extract-openjdk.stamp +stamps/extract.stamp: stamps/extract-openjdk.stamp \ + stamps/extract-cacao.stamp mkdir -p stamps touch $@ -clean-extract: +clean-extract: clean-extract-openjdk clean-cacao rm -f stamps/extract.stamp stamps/extract-openjdk.stamp: stamps/download.stamp @@ -777,6 +776,14 @@ else sh $(abs_top_srcdir)/fsg.sh ; \ fi endif + mkdir -p stamps + touch stamps/extract-openjdk.stamp + +clean-extract-openjdk: + rm -rf openjdk + rm -f stamps/extract-openjdk.stamp + +stamps/extract-cacao.stamp: if BUILD_CACAO if !USE_SYSTEM_CACAO if USE_ALT_CACAO_SRC_DIR @@ -798,14 +805,8 @@ endif endif endif endif - set -e ; \ - if [ ! -e $(abs_top_builddir)/generated ]; then \ - cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ - find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ - -o -type d -exec chmod 750 '{}' ';'; \ - fi mkdir -p stamps - touch stamps/extract-openjdk.stamp + touch stamps/extract-cacao.stamp stamps/replace-hotspot.stamp: stamps/extract.stamp if WITH_ALT_HSBUILD @@ -820,10 +821,11 @@ if WITH_ALT_HSBUILD fi ; \ fi ; endif + mkdir -p stamps touch stamps/replace-hotspot.stamp clean-replace-hotspot: - rm -rf stamps/replace-hotspot.stamp + rm -f stamps/replace-hotspot.stamp # Copy ports sources into tree stamps/ports.stamp: stamps/replace-hotspot.stamp @@ -858,11 +860,21 @@ clean-ports: rm -f openjdk/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c rm -f stamps/ports.stamp -#FIXME (missing): Missing generated.stamp +stamps/generated.stamp: stamps/ports.stamp + set -e ; \ + if [ ! -e $(abs_top_builddir)/generated ]; then \ + cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ + find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ + -o -type d -exec chmod 750 '{}' ';'; \ + fi -#FIXME (clean): Missing clean-generated +clean-generated: + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + rm -rf $(abs_top_builddir)/generated ; \ + fi + rm -f stamps/generated.stamp -stamps/patch-fsg.stamp: stamps/ports.stamp +stamps/patch-fsg.stamp: stamps/generated.stamp mkdir -p stamps ; \ rm -f stamps/patch-fsg.stamp.tmp ; \ touch stamps/patch-fsg.stamp.tmp ; \ @@ -1353,7 +1365,7 @@ stamps/icedtea-ecj.stamp: stamps/bootstr mkdir -p stamps touch stamps/icedtea-ecj.stamp -clean-icedtea-ecj: stamps/extract-ecj.stamp +clean-icedtea-ecj: rm -rf $(ECJ_BUILD_OUTPUT_DIR) rm -f stamps/icedtea-ecj.stamp From andrew at icedtea.classpath.org Fri Jul 2 01:01:02 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 02 Jul 2010 08:01:02 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 15fb1bdc42b3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=15fb1bdc42b3 author: Andrew John Hughes date: Thu Jul 01 23:31:12 2010 +0100 Check directories exist before using rmdir. 2010-07-01 Andrew John Hughes * Makefile.am: (clean-IcedTeaPlugin): Check directory exists before using rmdir. (clean-pulse- java): Likewise. changeset aafcd75154a1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aafcd75154a1 author: Andrew John Hughes date: Thu Jul 01 23:41:42 2010 +0100 Handle cleaning of downloads via make distclean. 2010-07-01 Andrew John Hughes * Makefile.am: (distclean-local): Added. Removes downloads in addition to other cleaning targets. (.PHONY): Updated. (download-openjdk): Separate OpenJDK download into separate target. (clean-download- openjdk): Inversion of download-openjdk. (download): Metatarget for all downloads. (clean-download): Metatarget for all download cleaning. (clean-cacao): Remove extraction stamp. diffstat: 2 files changed, 40 insertions(+), 13 deletions(-) ChangeLog | 20 ++++++++++++++++++++ Makefile.am | 33 ++++++++++++++++++++------------- diffs (120 lines): diff -r e6ef1847ac70 -r aafcd75154a1 ChangeLog --- a/ChangeLog Thu Jul 01 23:13:01 2010 +0100 +++ b/ChangeLog Thu Jul 01 23:41:42 2010 +0100 @@ -1,3 +1,23 @@ 2010-07-01 Andrew John Hughes + + * Makefile.am: + (distclean-local): Added. Removes downloads + in addition to other cleaning targets. + (.PHONY): Updated. + (download-openjdk): Separate OpenJDK download + into separate target. + (clean-download-openjdk): Inversion of download-openjdk. + (download): Metatarget for all downloads. + (clean-download): Metatarget for all download cleaning. + (clean-cacao): Remove extraction stamp. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (clean-IcedTeaPlugin): Check directory exists before + using rmdir. + (clean-pulse-java): Likewise. + 2010-07-01 Andrew John Hughes * Makefile.am: diff -r e6ef1847ac70 -r aafcd75154a1 Makefile.am --- a/Makefile.am Thu Jul 01 23:13:01 2010 +0100 +++ b/Makefile.am Thu Jul 01 23:41:42 2010 +0100 @@ -528,7 +528,7 @@ clean-local: clean-jtreg clean-jtreg-rep rm -rf extra-lib rm -f jni-common.o -#FIXME (clean): Missing distclean-local for downloads only +distclean-local: clean-download clean-hgforest install: @@ -543,7 +543,7 @@ install: clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug clean-icedtea-against-ecj clean-cacao clean-add-cacao clean-add-cacao-debug \ clean-ports clean-overlay clean-extract-ecj clean-extract clean-extract-openjdk \ - clean-replace-hotspot clean-generated + clean-replace-hotspot clean-generated clean-download clean-hgforest clean-download-openjdk env: @echo 'unset JAVA_HOME' @@ -583,9 +583,6 @@ endif clean-hgforest: rm -f stamps/hgforest.stamp - -#FIXME (meta): Split into multiple targets -#FIXME (missing): Download drops targets stamps/download-jaxp-drop.stamp: mkdir -p drops @@ -704,8 +701,7 @@ clean-drops: clean-download-jaxp-drop cl fi rm -f stamps/download-drops.stamp -stamps/download.stamp: stamps/hgforest.stamp stamps/download-drops.stamp \ - stamps/download-cacao.stamp +stamps/download-openjdk.stamp: stamps/hgforest.stamp if USE_HG if WITH_HGREV $(HG) fclone -r $(HGREV) $(OPENJDK_HG_URL) openjdk; @@ -750,10 +746,16 @@ endif mkdir -p stamps touch stamps/download.stamp -#FIXME (meta): split into multiple targets -clean-download: clean-drops clean-download-cacao +clean-download-openjdk: + rm -f $(OPENJDK_SRC_ZIP) + rm -f stamps/download-openjdk.stamp + +stamps/download.stamp: stamps/download-drops.stamp stamps/download-cacao.stamp \ + stamps/download-openjdk.stamp + touch stamps/download.stamp + +clean-download: clean-drops clean-download-cacao clean-download-openjdk rm -f stamps/download.stamp - rm -f $(OPENJDK_SRC_ZIP) stamps/extract.stamp: stamps/extract-openjdk.stamp \ stamps/extract-cacao.stamp @@ -1440,8 +1442,10 @@ clean-IcedTeaPlugin: rm -f $(PLUGIN_DIR)/*.o rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - rmdir $(abs_top_builddir)/plugin/icedteanp ; \ - rmdir $(abs_top_builddir)/plugin ; \ + if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \ + rmdir $(abs_top_builddir)/plugin/icedteanp ; \ + rmdir $(abs_top_builddir)/plugin ; \ + fi ; \ fi endif @@ -1606,7 +1610,9 @@ clean-pulse-java: rm -f stamps/pulse-java*.stamp rm -f pulse-java.jar if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - rmdir $(abs_top_builddir)/pulseaudio ; \ + if [ -e $(abs_top_builddir)/pulseaudio ] ; then \ + rmdir $(abs_top_builddir)/pulseaudio ; \ + fi ; \ fi endif @@ -1673,6 +1679,7 @@ clean-cacao: clean-cacao: rm -rf cacao rm -f stamps/cacao.stamp + rm -f stamps/extract-cacao.stamp # targets for additional VMs From andrew at icedtea.classpath.org Fri Jul 2 02:36:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 02 Jul 2010 09:36:00 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 9ac98799e75d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9ac98799e75d author: Andrew John Hughes date: Fri Jul 02 10:31:36 2010 +0100 Don't delete alternate zip bundles, only those we download. 2010-07-01 Andrew John Hughes Don't delete alternate source zips. Only zips downloaded by the build should be deleted. * Makefile.am: (HOTSPOT_SRC_ZIP): Set as a constant value rather than setting to ALT_HOTSPOT_SRC_ZIP when available. (OPENJDK_SRC_ZIP): Likewise, though the value is still empty when using hg. (download-openjdk): Symlink the alternate OpenJDK and HotSpot source zips to the alternate versions. (clean-download-openjdk): Remvoe HOTSPOT_SRC_ZIP as well. changeset 12239904d147 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=12239904d147 author: Andrew John Hughes date: Fri Jul 02 10:35:35 2010 +0100 Delete empty tapset directory if srcdir != builddir. 2010-07-01 Andrew John Hughes * Makefile.am: (distclean-local): Delete empty tapset directory if srcdir != builddir. diffstat: 2 files changed, 32 insertions(+), 10 deletions(-) ChangeLog | 22 ++++++++++++++++++++++ Makefile.am | 20 ++++++++++---------- diffs (95 lines): diff -r aafcd75154a1 -r 12239904d147 ChangeLog --- a/ChangeLog Thu Jul 01 23:41:42 2010 +0100 +++ b/ChangeLog Fri Jul 02 10:35:35 2010 +0100 @@ -1,3 +1,25 @@ 2010-07-01 Andrew John Hughes + + * Makefile.am: + (distclean-local): Delete empty tapset + directory if srcdir != builddir. + +2010-07-01 Andrew John Hughes + + Don't delete alternate source zips. Only + zips downloaded by the build should be deleted. + * Makefile.am: + (HOTSPOT_SRC_ZIP): Set as a constant value + rather than setting to ALT_HOTSPOT_SRC_ZIP + when available. + (OPENJDK_SRC_ZIP): Likewise, though the value + is still empty when using hg. + (download-openjdk): Symlink the alternate + OpenJDK and HotSpot source zips to the + alternate versions. + (clean-download-openjdk): Remvoe + HOTSPOT_SRC_ZIP as well. + 2010-07-01 Andrew John Hughes * Makefile.am: diff -r aafcd75154a1 -r 12239904d147 Makefile.am --- a/Makefile.am Thu Jul 01 23:41:42 2010 +0100 +++ b/Makefile.am Fri Jul 02 10:35:35 2010 +0100 @@ -22,6 +22,8 @@ JAXP_DROP_SHA256SUM = d097627d4059d488c5 JAXP_DROP_SHA256SUM = d097627d4059d488c5a09d4e33cec275a193d4d8bc0fea8ef4f1337170904156 OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk6/jdk6 + +HOTSPOT_SRC_ZIP = hotspot.tar.gz # Build directories @@ -104,17 +106,7 @@ if USE_HG if USE_HG OPENJDK_SRC_ZIP = else -if USE_ALT_OPENJDK_SRC_ZIP - OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) -else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz -endif -endif - -if USE_ALT_HOTSPOT_SRC_ZIP - HOTSPOT_SRC_ZIP = $(ALT_HOTSPOT_SRC_ZIP) -else - HOTSPOT_SRC_ZIP = hotspot.tar.gz endif # FIXME (HotSpot): HotSpot changeset logic goes here @@ -529,6 +521,11 @@ clean-local: clean-jtreg clean-jtreg-rep rm -f jni-common.o distclean-local: clean-download clean-hgforest + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + if [ -e tapset ] ; then \ + rmdir tapset ; \ + fi ; \ + fi install: @@ -712,6 +709,7 @@ if OPENJDK_SRC_DIR_FOUND if OPENJDK_SRC_DIR_FOUND else if USE_ALT_OPENJDK_SRC_ZIP + ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP) else if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \ | $(MD5SUM) --check ; \ @@ -726,6 +724,7 @@ endif endif if WITH_ALT_HSBUILD if USE_ALT_HOTSPOT_SRC_ZIP + ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) else hotspot_md5sum="`$(AWK) 'version==$$1 {print $$4}' version=$(HSBUILD) \ $(abs_top_srcdir)/hotspot.map`" ; \ @@ -748,6 +747,7 @@ endif clean-download-openjdk: rm -f $(OPENJDK_SRC_ZIP) + rm -f $(HOTSPOT_SRC_ZIP) rm -f stamps/download-openjdk.stamp stamps/download.stamp: stamps/download-drops.stamp stamps/download-cacao.stamp \ From omajid at redhat.com Fri Jul 2 06:36:05 2010 From: omajid at redhat.com (Omair Majid) Date: Fri, 02 Jul 2010 09:36:05 -0400 Subject: [RFC] plugin: fix getApplets() Message-ID: <4C2DEB45.9020801@redhat.com> Hi, The attached patch fixes AppletContext.getApplets() in the plugin. The problem was that when the constructor PluginAppletViewer was called, panel was null. This null panel was then added to the list of all panels. Future calls to getApplets() will get to this null panel and throw a NullPointerException. The patch sets panel to the actual AppletPanel before adding it to the list of all panels. This fixes a bug with applets on sbm.no not working. Please see [1] for the reproducer and user feedback on the patch. Ok to commit? Cheers, Omair [1] https://bugzilla.redhat.com/show_bug.cgi?id=506730 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-plugin-set-applet-panel-before-using-it.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100702/78dc2c02/icedtea6-plugin-set-applet-panel-before-using-it.patch From andrew at icedtea.classpath.org Fri Jul 2 08:09:32 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 02 Jul 2010 15:09:32 +0000 Subject: /hg/icedtea6: Make sure download-openjdk creates the right stamp. Message-ID: changeset 40f04e0a5018 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=40f04e0a5018 author: Andrew John Hughes date: Fri Jul 02 16:09:15 2010 +0100 Make sure download-openjdk creates the right stamp. 2010-07-01 Andrew John Hughes * Makefile.am: (download-openjdk): Create download- openjdk.stamp, not download.stamp. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ Makefile.am | 2 +- diffs (25 lines): diff -r 12239904d147 -r 40f04e0a5018 ChangeLog --- a/ChangeLog Fri Jul 02 10:35:35 2010 +0100 +++ b/ChangeLog Fri Jul 02 16:09:15 2010 +0100 @@ -1,3 +1,9 @@ 2010-07-01 Andrew John Hughes + + * Makefile.am: + (download-openjdk): Create download-openjdk.stamp, + not download.stamp. + 2010-07-01 Andrew John Hughes * Makefile.am: diff -r 12239904d147 -r 40f04e0a5018 Makefile.am --- a/Makefile.am Fri Jul 02 10:35:35 2010 +0100 +++ b/Makefile.am Fri Jul 02 16:09:15 2010 +0100 @@ -743,7 +743,7 @@ endif endif endif mkdir -p stamps - touch stamps/download.stamp + touch stamps/download-openjdk.stamp clean-download-openjdk: rm -f $(OPENJDK_SRC_ZIP) From andrew at icedtea.classpath.org Fri Jul 2 09:27:01 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 02 Jul 2010 16:27:01 +0000 Subject: /hg/icedtea6: Make sure generated target creates generated.stamp. Message-ID: changeset 4b85abd38b4c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4b85abd38b4c author: Andrew John Hughes date: Fri Jul 02 17:26:42 2010 +0100 Make sure generated target creates generated.stamp. 2010-07-01 Andrew John Hughes * Makefile.am: (generated): Make sure generated.stamp is created. diffstat: 2 files changed, 8 insertions(+) ChangeLog | 6 ++++++ Makefile.am | 2 ++ diffs (25 lines): diff -r 40f04e0a5018 -r 4b85abd38b4c ChangeLog --- a/ChangeLog Fri Jul 02 16:09:15 2010 +0100 +++ b/ChangeLog Fri Jul 02 17:26:42 2010 +0100 @@ -1,3 +1,9 @@ 2010-07-01 Andrew John Hughes + + * Makefile.am: + (generated): Make sure generated.stamp is + created. + 2010-07-01 Andrew John Hughes * Makefile.am: diff -r 40f04e0a5018 -r 4b85abd38b4c Makefile.am --- a/Makefile.am Fri Jul 02 16:09:15 2010 +0100 +++ b/Makefile.am Fri Jul 02 17:26:42 2010 +0100 @@ -869,6 +869,8 @@ stamps/generated.stamp: stamps/ports.sta find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';'; \ fi + mkdir -p stamps + touch stamps/generated.stamp clean-generated: if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ From bugzilla-daemon at icedtea.classpath.org Sat Jul 3 03:05:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 03 Jul 2010 10:05:37 +0000 Subject: [Bug 515] New: cacao+Icedtea6 on ARM build failure on S390 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=515 Summary: cacao+Icedtea6 on ARM build failure on S390 Product: IcedTea Version: 6-hg Platform: all URL: https://buildd.debian.org/fetch.cgi?pkg=openjdk- 6&arch=s390&ver=6b20~pre1- 1&stamp=1277747156&file=log&as=raw OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: CACAO AssignedTo: unassigned at icedtea.classpath.org ReportedBy: doko at ubuntu.com CC: stefan at complang.tuwien.ac.at Making install in s390 make[6]: Entering directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0/src/vm/jit/s390' /bin/bash ../../../../libtool --mode=compile s390-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../src -I../../../.. -I../../../../src -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/hpi/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/hpi/export -I../../../../src -I../../../.. -I../../../../src -g -O2 -fno-strict-aliasing -D__S390__ -D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -std=c99 -pedantic -Wall -Wno-long-long -MT asmpart.lo -MD -MP -MF .deps/asmpart.Tpo -c -o asmpart.lo asmpart.S libtool: compile: s390-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../src -I../../../.. -I../../../../src "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/hpi/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/hpi/export" -I../../../../src -I../../../.. -I../../../../src -g -O2 -fno-strict-aliasing -D__S390__ -D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -std=c99 -pedantic -Wall -Wno-long-long -MT asmpart.lo -MD -MP -MF .deps/asmpart.Tpo -c asmpart.S -fPIC -DPIC -o .libs/asmpart.o mv -f .deps/asmpart.Tpo .deps/asmpart.Plo /bin/bash ../../../../libtool --tag=CC --mode=compile s390-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../src -I../../../.. -I../../../../src -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/hpi/export -I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/hpi/export -std=c99 -pedantic -Wall -Wno-long-long -D__S390__ -D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -g -O2 -fno-strict-aliasing -MT codegen.lo -MD -MP -MF .deps/codegen.Tpo -c -o codegen.lo codegen.c libtool: compile: s390-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../src -I../../../.. -I../../../../src "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/javavm/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/solaris/hpi/export" "-I/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/openjdk/jdk/src/share/hpi/export" -std=c99 -pedantic -Wall -Wno-long-long -D__S390__ -D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -g -O2 -fno-strict-aliasing -MT codegen.lo -MD -MP -MF .deps/codegen.Tpo -c codegen.c -fPIC -DPIC -o .libs/codegen.o In file included from codegen.c:57: ../../../../src/vm/jit/emit-common.hpp: In function 'emit_dmove': ../../../../src/vm/jit/emit-common.hpp:297: warning: implicit declaration of function 'M_DMOV' codegen.c: In function 'codegen_emit_prolog': codegen.c:188: error: expected identifier or '(' before '=' token codegen.c:193: error: expected identifier or '(' before '=' token codegen.c:198: error: expected expression before 's2' codegen.c:198: error: too few arguments to function 'emit_lmove' codegen.c:200: error: expected expression before 's2' codegen.c:200: error: too few arguments to function 'emit_imove' codegen.c:204: error: lvalue required as unary '&' operand codegen.c:204: error: lvalue required as unary '&' operand codegen.c:206: error: expected expression before ',' token codegen.c:224: error: expected identifier or '(' before '=' token codegen.c:226: error: expected expression before 's2' codegen.c:226: error: too few arguments to function 'emit_fmove' codegen.c:230: error: expected expression before ',' token codegen.c:232: error: expected expression before ',' token codegen.c:133: warning: unused variable 'code' codegen.c: In function 'codegen_emit_instruction': codegen.c:472: error: 'dd' undeclared (first use in this function) codegen.c:472: error: (Each undeclared identifier is reported only once codegen.c:472: error: for each function it appears in.) codegen.c:702: error: 'md' undeclared (first use in this function) codegen.c:1802: warning: implicit declaration of function 'list_first' codegen.c:305: warning: unused variable 'code' make[6]: *** [codegen.lo] Error 1 make[6]: Leaving directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0/src/vm/jit/s390' make[5]: *** [install-recursive] Error 1 make[5]: Leaving directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0/src/vm/jit' make[4]: *** [install-recursive] Error 1 make[4]: Leaving directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0/src/vm' make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0/src' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/build/buildd-openjdk-6_6b20~pre1-1-s390-aHCo2i/openjdk-6-6b20~pre1/build/cacao/cacao-1.1.0~pre0' make[1]: *** [stamps/cacao.stamp] Error 2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jul 4 13:04:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Jul 2010 20:04:05 +0000 Subject: [Bug 516] New: IcedTea6 1.8 segfaults on several applets Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=516 Summary: IcedTea6 1.8 segfaults on several applets Product: IcedTea Version: 6-1.8 Platform: x86_64 URL: http://www.brockeng.com/mechanism/Geneva.htm OS/Version: Linux Status: NEW Severity: major Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: mrmeval at gmail.com The applet at http://www.brockeng.com/mechanism/Geneva.htm causes a segfault and firefox dies. This is a paste bin of the a GDB output. http://pastebin.ca/1894547 Fedora Core 13 X86_64 Firefox Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100622 Fedora/3.6.4-1.fc13 Firefox/3.6.4 IcedTea IcedTea NPR Web Browser Plugin (using IcedTea6 1.8 (fedora-41.b18.fc13-x86_64)) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jul 4 13:08:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Jul 2010 20:08:57 +0000 Subject: [Bug 516] IcedTea6 1.8 segfaults on several applets Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=516 ------- Comment #1 from mrmeval at gmail.com 2010-07-04 20:08 ------- Created an attachment (id=384) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=384&action=view) GDB output of IcedTea crash GDB output of IcedTea crash -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Jul 4 14:05:58 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Jul 2010 21:05:58 +0000 Subject: [Bug 516] IcedTea6 1.8 segfaults on several applets Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=516 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dbhole at redhat.com |.org | Severity|major |normal Component|IcedTea6 |NPPlugin -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Sun Jul 4 16:01:05 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 04 Jul 2010 23:01:05 +0000 Subject: /hg/icedtea6: Add remaining missing clean-local dependencies so ... Message-ID: changeset c46acd86bc92 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c46acd86bc92 author: Andrew John Hughes date: Mon Jul 05 00:00:58 2010 +0100 Add remaining missing clean-local dependencies so that build tree is completely empty after make distclean. 2010-07-04 Andrew John Hughes * Makefile.am: (clean-local): Add missing dependencies. Use rmdir to remove bootstrap and lib to make sure they are empty. Use rmdir to remove the empty stamps directory. (clean-extract-openjdk): Depend on clean-patch- fsg. (clean-patch-fsg): Depend on clean-patch. (clean-extract-ecj): Depend on clean-patch-ecj. (rewriter): Give the build directory a different name to the source directory (rewriter.build). (clean-rewriter): New target to remove rewriter. (rewrite-rhino): Fix build directory path. (clean-rewrite-rhino): Inverse of rewrite-rhino. (rt): Only replace rt.jar if the bootstrap tree still exists. diffstat: 2 files changed, 55 insertions(+), 13 deletions(-) ChangeLog | 18 ++++++++++++++++++ Makefile.am | 50 +++++++++++++++++++++++++++++++++++++------------- diffs (145 lines): diff -r 4b85abd38b4c -r c46acd86bc92 ChangeLog --- a/ChangeLog Fri Jul 02 17:26:42 2010 +0100 +++ b/ChangeLog Mon Jul 05 00:00:58 2010 +0100 @@ -1,3 +1,21 @@ 2010-07-01 Andrew John Hughes + + * Makefile.am: + (clean-local): Add missing dependencies. + Use rmdir to remove bootstrap and lib to make + sure they are empty. Use rmdir to remove the + empty stamps directory. + (clean-extract-openjdk): Depend on clean-patch-fsg. + (clean-patch-fsg): Depend on clean-patch. + (clean-extract-ecj): Depend on clean-patch-ecj. + (rewriter): Give the build directory a different + name to the source directory (rewriter.build). + (clean-rewriter): New target to remove rewriter. + (rewrite-rhino): Fix build directory path. + (clean-rewrite-rhino): Inverse of rewrite-rhino. + (rt): Only replace rt.jar if the bootstrap tree + still exists. + 2010-07-01 Andrew John Hughes * Makefile.am: diff -r 4b85abd38b4c -r c46acd86bc92 Makefile.am --- a/Makefile.am Fri Jul 02 17:26:42 2010 +0100 +++ b/Makefile.am Mon Jul 05 00:00:58 2010 +0100 @@ -513,11 +513,19 @@ clean-local: clean-jtreg clean-jtreg-rep clean-netx clean-plugin clean-liveconnect clean-icedtea clean-icedtea-debug \ clean-icedtea-ecj clean-extract clean-ports clean-overlay clean-native-ecj \ clean-icedtea-against-icedtea clean-icedtea-debug-against-icedtea \ - clean-icedtea-against-ecj clean-extract-ecj clean-generated clean-replace-hotspot - rm -f rt-source-files.txt extra-source-files.txt - rm -rf bootstrap - rm -rf lib - rm -rf extra-lib + clean-icedtea-against-ecj clean-extract-ecj clean-generated clean-replace-hotspot \ + clean-rewriter clean-rewrite-rhino clean-extra clean-rt clean-bootstrap-directory \ + clean-bootstrap-directory-ecj clean-bootstrap-directory-symlink \ + clean-bootstrap-directory-symlink-ecj + if [ -e bootstrap ]; then \ + rmdir bootstrap ; \ + fi + if [ -e lib ]; then \ + rmdir lib ; \ + fi + if [ -e stamps ]; then \ + rmdir stamps ; \ + fi rm -f jni-common.o distclean-local: clean-download clean-hgforest @@ -540,7 +548,8 @@ install: clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug clean-icedtea-against-ecj clean-cacao clean-add-cacao clean-add-cacao-debug \ clean-ports clean-overlay clean-extract-ecj clean-extract clean-extract-openjdk \ - clean-replace-hotspot clean-generated clean-download clean-hgforest clean-download-openjdk + clean-replace-hotspot clean-generated clean-download clean-hgforest clean-download-openjdk \ + clean-rewriter clean-rewrite-rhino env: @echo 'unset JAVA_HOME' @@ -781,7 +790,7 @@ endif mkdir -p stamps touch stamps/extract-openjdk.stamp -clean-extract-openjdk: +clean-extract-openjdk: clean-patch-fsg rm -rf openjdk rm -f stamps/extract-openjdk.stamp @@ -909,7 +918,7 @@ stamps/patch-fsg.stamp: stamps/generated exit 2; \ fi ; -clean-patch-fsg: +clean-patch-fsg: clean-patch rm -f stamps/patch-fsg.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_FSG_PATCHES) ; \ @@ -1023,7 +1032,7 @@ stamps/extract-ecj.stamp: $(OPENJDK_TREE touch stamps/extract-ecj.stamp # FIXME (missing): Rename to clean-clone-ecj. -clean-extract-ecj: +clean-extract-ecj: clean-patch-ecj rm -f stamps/extract-ecj.stamp rm -rf openjdk-ecj @@ -1624,20 +1633,24 @@ endif stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if WITH_RHINO - mkdir -p $(abs_top_builddir)/rewriter && \ + mkdir -p $(abs_top_builddir)/rewriter.build && \ (cd $(abs_top_srcdir)/rewriter ; \ $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ + -d $(abs_top_builddir)/rewriter.build $(REWRITER_SRCS) \ ) endif mkdir -p stamps touch stamps/rewriter.stamp +clean-rewriter: + rm -rf rewriter.build + rm -f stamps/rewriter.stamp + stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) if WITH_RHINO mkdir -p rhino/rhino.{old,new} && \ (cd rhino/rhino.old ; $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ - $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \ + $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter.build \ com.redhat.rewriter.ClassRewriter \ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ org.mozilla sun.org.mozilla && \ @@ -1654,6 +1667,15 @@ endif endif mkdir -p stamps touch stamps/rewrite-rhino.stamp + +clean-rewrite-rhino: + rm -rf rhino/rhino.old + rm -rf rhino/rhino.new + rm -f rhino/rhino.jar + if [ -e rhino ] ; then \ + rmdir rhino ; \ + fi + rm -f stamps/rewrite-rhino.stamp # CACAO @@ -1968,7 +1990,9 @@ clean-rt: rm -f stamps/rt-class-files.stamp rm -f stamps/rt.stamp rm -f rt-source-files.txt - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ICEDTEA_RT) + if [ -e $(ICEDTEA_BOOT_DIR) ] ; then \ + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ICEDTEA_RT) ; \ + fi stamps/rt.stamp: stamps/rt-class-files.stamp mkdir -p stamps From andrew at icedtea.classpath.org Mon Jul 5 03:58:10 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 05 Jul 2010 10:58:10 +0000 Subject: /hg/icedtea6: Remove the stamps directory on distclean, not clean. Message-ID: changeset 0e8960d7a100 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0e8960d7a100 author: Andrew John Hughes date: Mon Jul 05 11:58:04 2010 +0100 Remove the stamps directory on distclean, not clean. 2010-07-05 Andrew John Hughes * Makefile.am: (clean-local): Don't remove the stamps directory here. (distclean-local): Remove it here. diffstat: 2 files changed, 9 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ Makefile.am | 6 +++--- diffs (36 lines): diff -r c46acd86bc92 -r 0e8960d7a100 ChangeLog --- a/ChangeLog Mon Jul 05 00:00:58 2010 +0100 +++ b/ChangeLog Mon Jul 05 11:58:04 2010 +0100 @@ -1,3 +1,9 @@ 2010-07-04 Andrew John Hughes + + * Makefile.am: + (clean-local): Don't remove the stamps directory here. + (distclean-local): Remove it here. + 2010-07-04 Andrew John Hughes * Makefile.am: diff -r c46acd86bc92 -r 0e8960d7a100 Makefile.am --- a/Makefile.am Mon Jul 05 00:00:58 2010 +0100 +++ b/Makefile.am Mon Jul 05 11:58:04 2010 +0100 @@ -523,9 +523,6 @@ clean-local: clean-jtreg clean-jtreg-rep if [ -e lib ]; then \ rmdir lib ; \ fi - if [ -e stamps ]; then \ - rmdir stamps ; \ - fi rm -f jni-common.o distclean-local: clean-download clean-hgforest @@ -533,6 +530,9 @@ distclean-local: clean-download clean-hg if [ -e tapset ] ; then \ rmdir tapset ; \ fi ; \ + fi + if [ -e stamps ]; then \ + rmdir stamps ; \ fi install: From bugzilla-daemon at icedtea.classpath.org Mon Jul 5 09:00:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 05 Jul 2010 16:00:32 +0000 Subject: [Bug 372] Netx should stop abusing LookAndFeel related fuctions to do layouts Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 ------- Comment #2 from omajid at redhat.com 2010-07-05 16:00 ------- Created an attachment (id=385) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=385&action=view) replace all uses of look and feel related functions -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Jul 5 09:31:43 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 05 Jul 2010 16:31:43 +0000 Subject: /hg/icedtea6: Only manipulate rt.jar's contents when LACKS_SUN_A... Message-ID: changeset 5c61be3119bb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5c61be3119bb author: Andrew John Hughes date: Mon Jul 05 17:31:35 2010 +0100 Only manipulate rt.jar's contents when LACKS_SUN_AWT_TOOLKIT is defined. Clarify variable names. 2010-07-05 Andrew John Hughes Revert rt.jar only for ecj tree. Don't do so (or build rt-class-files) for builds with OpenJDK. Make variable naming clearer. * Makefile.am: (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. (RUNTIME): Renamed from ICEDTEA_RT. (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. (ECJ_BOOT_DIR): Shortcut for bootstrap/ecj. (ICEDTEA_BOOT_DIR): Shortcut for bootstrap/icedtea. (rt-class-files): Only build replacement runtime classes when LACKS_SUN_AWT_TOOLKIT is set. (clean-rt): Only replace rt.jar when LACKS_SUN_AWT_TOOLKIT and overwrite in $(ECJ_BOOT_DIR) not $(BOOT_DIR). diffstat: 2 files changed, 106 insertions(+), 89 deletions(-) ChangeLog | 16 +++++ Makefile.am | 179 +++++++++++++++++++++++++++++------------------------------ diffs (471 lines): diff -r 0e8960d7a100 -r 5c61be3119bb ChangeLog --- a/ChangeLog Mon Jul 05 11:58:04 2010 +0100 +++ b/ChangeLog Mon Jul 05 17:31:35 2010 +0100 @@ -1,3 +1,19 @@ 2010-07-05 Andrew John Hughes + + Revert rt.jar only for ecj tree. Don't do + so (or build rt-class-files) for builds with + OpenJDK. Make variable naming clearer. + * Makefile.am: + (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. + (RUNTIME): Renamed from ICEDTEA_RT. + (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. + (ECJ_BOOT_DIR): Shortcut for bootstrap/ecj. + (ICEDTEA_BOOT_DIR): Shortcut for bootstrap/icedtea. + (rt-class-files): Only build replacement runtime classes + when LACKS_SUN_AWT_TOOLKIT is set. + (clean-rt): Only replace rt.jar when LACKS_SUN_AWT_TOOLKIT + and overwrite in $(ECJ_BOOT_DIR) not $(BOOT_DIR). + 2010-07-05 Andrew John Hughes * Makefile.am: diff -r 0e8960d7a100 -r 5c61be3119bb Makefile.am --- a/Makefile.am Mon Jul 05 11:58:04 2010 +0100 +++ b/Makefile.am Mon Jul 05 17:31:35 2010 +0100 @@ -33,12 +33,11 @@ ECJ_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DI ECJ_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-ecj ICEDTEA_CLS_DIR = $(BUILD_OUTPUT_DIR)/classes ICEDTEA_CLS_DIR_ECJ = $(ECJ_BUILD_OUTPUT_DIR)/classes -ICEDTEA_BOOT_DIR= \ - $(abs_top_builddir)/bootstrap/jdk1.6.0 -ICEDTEA_RT = \ - $(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar -ICEDTEA_ENDORSED_DIR = \ - $(ICEDTEA_BOOT_DIR)/lib/endorsed +BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar +ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed +ECJ_BOOT_DIR = $(abs_top_builddir)/bootstrap/ecj +ICEDTEA_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) BUILD_DEBUG_JRE_ARCH_DIR = $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) @@ -161,7 +160,7 @@ else else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp SYSTEM_JDK_DIR = $(SYSTEM_GCJ_DIR) - ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea + ICEDTEA_HOME = $(ICEDTEA_BOOT_DIR) INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-ecj.stamp endif @@ -381,19 +380,19 @@ PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKA PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ - ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ + ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.6.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ LANG="C" \ - PATH="$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$(OS_PATH):$$PATH" \ - ALT_BOOTDIR="$(ICEDTEA_BOOT_DIR)" \ + PATH="$(BOOT_DIR)/bin:$(OS_PATH):$$PATH" \ + ALT_BOOTDIR="$(BOOT_DIR)" \ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR)" \ - ICEDTEA_ENDORSED_DIR="$(ICEDTEA_ENDORSED_DIR)" \ - ENDORSED="-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ + ICEDTEA_ENDORSED_DIR="$(ENDORSED_DIR)" \ + ENDORSED="-Djava.endorsed.dirs=$(ENDORSED_DIR)" \ CLASSPATH="" \ LD_LIBRARY_PATH="" \ ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \ @@ -465,12 +464,12 @@ endif # OpenJDK ecj build environment. ICEDTEA_ENV_ECJ = $(ICEDTEA_ENV) \ ALT_OUTPUTDIR="$(ECJ_BUILD_OUTPUT_DIR)" \ - JAVA_TOOLS_DIR="$(ICEDTEA_BOOT_DIR)/bin" \ - ICEDTEA_RT="$(ICEDTEA_RT)" \ + JAVA_TOOLS_DIR="$(BOOT_DIR)/bin" \ + ICEDTEA_RT="$(RUNTIME)" \ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR_ECJ)" \ - BOOTCLASSPATH_CLS_RT="-bootclasspath $(ICEDTEA_CLS_DIR_ECJ):$(ICEDTEA_RT)" \ + BOOTCLASSPATH_CLS_RT="-bootclasspath $(ICEDTEA_CLS_DIR_ECJ):$(RUNTIME)" \ BOOTCLASSPATH_CLS="-bootclasspath $(ICEDTEA_CLS_DIR_ECJ)" \ - BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(ICEDTEA_RT)" \ + BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(RUNTIME)" \ GENSRCDIR="$(abs_top_builddir)/generated" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ @@ -1104,81 +1103,79 @@ clean-native-ecj: # bootstrap/ecj. stamps/bootstrap-directory-ecj.stamp: stamps/native-ecj.stamp - mkdir -p bootstrap/ecj/bin stamps/ - ln -sf $(JAVA) bootstrap/ecj/bin/java - ln -sf $(JAVAH) bootstrap/ecj/bin/javah - ln -sf $(RMIC) bootstrap/ecj/bin/rmic - ln -sf $(JAR) bootstrap/ecj/bin/jar - ln -sf ../../../javac bootstrap/ecj/bin/javac - ln -sf ../../../javap bootstrap/ecj/bin/javap - mkdir -p bootstrap/ecj/lib/endorsed && \ - ln -sf $(XALAN2_JAR) bootstrap/ecj/lib/endorsed/xalan-j2.jar && \ + mkdir -p $(ECJ_BOOT_DIR)/bin stamps/ + ln -sf $(JAVA) $(ECJ_BOOT_DIR)/bin/java + ln -sf $(JAVAH) $(ECJ_BOOT_DIR)/bin/javah + ln -sf $(RMIC) $(ECJ_BOOT_DIR)/bin/rmic + ln -sf $(JAR) $(ECJ_BOOT_DIR)/bin/jar + ln -sf $(abs_top_builddir)/javac $(ECJ_BOOT_DIR)/bin/javac + ln -sf $(abs_top_builddir)/javap $(ECJ_BOOT_DIR)/bin/javap + mkdir -p $(ECJ_BOOT_DIR)/lib/endorsed && \ + ln -sf $(XALAN2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2.jar && \ ln -sf $(XALAN2_SERIALIZER_JAR) \ - bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar && \ - ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar - mkdir -p bootstrap/ecj/jre/lib && \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - $(abs_top_builddir)/bootstrap/ecj/jre/lib/rt.jar && \ + $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2-serializer.jar && \ + ln -sf $(XERCES2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xerces-j2.jar + mkdir -p $(ECJ_BOOT_DIR)/jre/lib && \ + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/jre/lib/rt.jar && \ ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ - bootstrap/ecj/jre/lib/ && \ - if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ + $(ECJ_BOOT_DIR)/jre/lib/ && \ + if ! test -d $(ECJ_BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ then \ ln -sf ./$(JRE_ARCH_DIR) \ - bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ + $(ECJ_BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ fi; - mkdir -p bootstrap/ecj/include && \ + mkdir -p $(ECJ_BOOT_DIR)/include && \ for i in $(SYSTEM_JDK_DIR)/include/*; do \ test -r $$i | continue; \ i=`basename $$i`; \ - rm -f bootstrap/ecj/include/$$i; \ - ln -s $(SYSTEM_JDK_DIR)/include/$$i bootstrap/ecj/include/$$i; \ + rm -f $(ECJ_BOOT_DIR)/include/$$i; \ + ln -s $(SYSTEM_JDK_DIR)/include/$$i $(ECJ_BOOT_DIR)/include/$$i; \ done # For HotSpot - mkdir -p $(abs_top_builddir)/bootstrap/ecj/lib && \ - ln -sf $(abs_top_builddir)/bootstrap/ecj/jre/lib/rt.jar \ - $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar + mkdir -p $(abs_top_builddir)/$(ECJ_BOOT_DIR)/lib && \ + ln -sf $(ECJ_BOOT_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/lib/tools.jar mkdir -p stamps touch stamps/bootstrap-directory-ecj.stamp clean-bootstrap-directory-ecj: + rm -rf $(ECJ_BOOT_DIR) rm -f stamps/bootstrap-directory-ecj.stamp - rm -rf bootstrap/ecj # bootstrap/icedtea. stamps/bootstrap-directory.stamp: stamps/icedtea-against-ecj.stamp - rm -rf bootstrap/icedtea + rm -f $(ICEDTEA_BOOT_DIR) ln -s \ - $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/ bootstrap/icedtea - if ! test -d bootstrap/icedtea/include; then \ - ln -sf $(ECJ_BUILD_OUTPUT_DIR)/include bootstrap/icedtea/include; \ + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/ $(ICEDTEA_BOOT_DIR) + if ! test -d $(ICEDTEA_BOOT_DIR)/include; then \ + ln -sf $(ECJ_BUILD_OUTPUT_DIR)/include $(ICEDTEA_BOOT_DIR)/include; \ fi mkdir -p stamps touch stamps/bootstrap-directory.stamp clean-bootstrap-directory: + rm -rf $(ICEDTEA_BOOT_DIR) rm -f stamps/bootstrap-directory.stamp - rm -rf bootstrap/icedtea # bootstrap/jdk1.6.0 to bootstrap/ecj symlink. stamps/bootstrap-directory-symlink-ecj.stamp: \ stamps/bootstrap-directory-ecj.stamp - rm -f bootstrap/jdk1.6.0 - ln -sf ecj bootstrap/jdk1.6.0 + rm -f $(BOOT_DIR) + ln -sf $(ECJ_BOOT_DIR) $(BOOT_DIR) mkdir -p stamps touch stamps/bootstrap-directory-symlink-ecj.stamp clean-bootstrap-directory-symlink-ecj: + rm -f $(BOOT_DIR) rm -f stamps/bootstrap-directory-symlink-ecj.stamp - rm -f bootstrap/jdk1.6.0 # bootstrap/jdk1.6.0 to bootstrap/icedtea symlink. stamps/bootstrap-directory-symlink.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) mkdir -p bootstrap - rm -f bootstrap/jdk1.6.0 - ln -sf $(ICEDTEA_HOME) bootstrap/jdk1.6.0; \ - if ! bootstrap/jdk1.6.0/bin/java -version ; \ + rm -f $(BOOT_DIR) + ln -sf $(ICEDTEA_HOME) $(BOOT_DIR); \ + if ! $(BOOT_DIR)/bin/java -version ; \ then \ - echo "bootstrap/jdk1.6.0/bin/java" \ + echo "$(BOOT_DIR)/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi @@ -1186,8 +1183,8 @@ stamps/bootstrap-directory-symlink.stamp touch stamps/bootstrap-directory-symlink.stamp clean-bootstrap-directory-symlink: + rm -f $(BOOT_DIR) rm -f stamps/bootstrap-directory-symlink.stamp - rm -f bootstrap/jdk1.6.0 # OpenJDK Targets # =============== @@ -1476,9 +1473,9 @@ stamps/liveconnect.stamp: liveconnect-so stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp if test "x${LIVECONNECT_DIR}" != x; then \ mkdir -p $(abs_top_builddir)/liveconnect && \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/liveconnect \ - -classpath $(abs_top_builddir)/netx.build:$(ICEDTEA_RT) \ + -classpath $(abs_top_builddir)/netx.build:$(RUNTIME) \ -sourcepath $(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @liveconnect-source-files.txt ; \ @@ -1490,7 +1487,7 @@ stamps/liveconnect-dist.stamp: stamps/li if test "x${LIVECONNECT_DIR}" != x; then \ (cd $(abs_top_builddir)/liveconnect ; \ mkdir -p lib ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \ + $(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \ cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ @@ -1514,10 +1511,10 @@ netx-source-files.txt: stamps/netx.stamp: netx-source-files.txt stamps/rt-class-files.stamp mkdir -p $(abs_top_builddir)/netx.build - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/netx.build \ -sourcepath $(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ - -classpath $(ICEDTEA_RT) -bootclasspath \'\' \ + -classpath $(RUNTIME) -bootclasspath \'\' \ @netx-source-files.txt cp -r $(NETX_RESOURCE_DIR) $(abs_top_builddir)/netx.build/net/sourceforge/jnlp mkdir -p stamps @@ -1526,11 +1523,11 @@ stamps/netx-dist.stamp: stamps/netx.stam stamps/netx-dist.stamp: stamps/netx.stamp (cd $(abs_top_builddir)/netx.build ; \ mkdir -p lib ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar javax/jnlp net ; \ + $(BOOT_DIR)/bin/jar cf lib/classes.jar javax/jnlp net ; \ cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar uf $(abs_top_builddir)/netx.build/lib/classes.jar \ + $(BOOT_DIR)/bin/jar uf $(abs_top_builddir)/netx.build/lib/classes.jar \ `find . -type f -not -name '*.java'` ; \ $(ZIP) -qr $(abs_top_builddir)/netx.build/lib/src.zip javax net ) mkdir -p stamps @@ -1549,9 +1546,9 @@ stamps/extra-class-files.stamp: $(INITIA stamps/extra-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ extra-source-files.txt stamps/netx.stamp mkdir -p extra-lib - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ -sourcepath extra -cp netx.build \ - -bootclasspath $(ICEDTEA_RT) @extra-source-files.txt + -bootclasspath $(RUNTIME) @extra-source-files.txt cp -r $(NETX_EXTRA_DIR) extra-lib/net/sourceforge/jnlp/about mkdir -p stamps touch $@ @@ -1562,7 +1559,7 @@ clean-extra: rm -f extra-source-files.txt extra-lib/about.jar: stamps/extra-class-files.stamp - $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; + $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; # PulseAudio based mixer # (pulse-java) @@ -1571,7 +1568,7 @@ extra-lib/about.jar: stamps/extra-class- if ENABLE_PULSE_JAVA $(PULSE_JAVA_NATIVE_BUILDDIR)/%.o: $(PULSE_JAVA_NATIVE_SRCDIR)/%.c stamps/pulse-java-headers.stamp - $(CC) $(IT_CFLAGS) -fPIC -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include \ + $(CC) $(IT_CFLAGS) -fPIC -I$(BOOT_DIR)/include/linux -I$(BOOT_DIR)/include \ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $< $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS) @@ -1584,15 +1581,15 @@ stamps/pulse-java.stamp: stamps/pulse-ja stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_CLASS_DIR); - $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; + $(BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; mkdir -p stamps touch stamps/pulse-java-jar.stamp stamps/pulse-java-class.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) mkdir -p $(PULSE_JAVA_CLASS_DIR) (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ - -bootclasspath $(ICEDTEA_RT) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ + -bootclasspath $(RUNTIME) \ org/classpath/icedtea/pulseaudio/*.java \ ) cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) @@ -1602,15 +1599,15 @@ stamps/pulse-java-class.stamp: $(INITIAL stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.EventLoop ; \ - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.Stream ; \ - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.Operation; \ - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ mkdir -p stamps touch stamps/pulse-java-headers.stamp @@ -1635,7 +1632,7 @@ if WITH_RHINO if WITH_RHINO mkdir -p $(abs_top_builddir)/rewriter.build && \ (cd $(abs_top_srcdir)/rewriter ; \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/rewriter.build $(REWRITER_SRCS) \ ) endif @@ -1649,8 +1646,8 @@ stamps/rewrite-rhino.stamp: stamps/rewri stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) if WITH_RHINO mkdir -p rhino/rhino.{old,new} && \ - (cd rhino/rhino.old ; $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ - $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter.build \ + (cd rhino/rhino.old ; $(BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ + $(BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter.build \ com.redhat.rewriter.ClassRewriter \ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ org.mozilla sun.org.mozilla && \ @@ -1663,7 +1660,7 @@ if WITH_RHINO done \ ) && \ (cd rhino/rhino.new && \ - $(ICEDTEA_BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) + $(BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) endif mkdir -p stamps touch stamps/rewrite-rhino.stamp @@ -1691,7 +1688,7 @@ if !USE_SYSTEM_CACAO --prefix=$(abs_top_builddir)/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \ - --with-java-runtime-library-classes=$(ICEDTEA_RT) \ + --with-java-runtime-library-classes=$(RUNTIME) \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client @@ -1859,11 +1856,11 @@ stamps/plugin-tests.stamp: $(INITIAL_BOO stamps/plugin-tests.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) $(PLUGIN_TEST_SRCS) \ stamps/plugin.stamp mkdir -p plugin/tests/LiveConnect - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d plugin/tests/LiveConnect \ -classpath liveconnect/lib/classes.jar \ $(PLUGIN_TEST_SRCS) ; - $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ plugin/tests/LiveConnect/*.class ; cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ plugin/tests/LiveConnect ; @@ -1877,10 +1874,10 @@ stamps/jtreg.stamp: stamps/icedtea-again stamps/jtreg.stamp: stamps/icedtea-against-icedtea.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d test/jtreg/classes \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d test/jtreg/classes \ -encoding iso-8859-1 `find $(abs_top_srcdir)/test/jtreg/com -name '*.java'` (cd $(abs_top_srcdir)/test/jtreg; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ + $(BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ META-INF/MANIFEST.MF \ legal README JavaTest.cmdMgrs.lst JavaTest.toolMgrs.lst \ `find com -type f -a -not -name '*.java'` \ @@ -1895,7 +1892,7 @@ clean-jtreg: check-hotspot: stamps/jtreg.stamp mkdir -p test/hotspot/JTwork test/hotspot/JTreport - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/hotspot/JTwork -r:test/hotspot/JTreport \ -jdk:$(BUILD_OUTPUT_DIR)/j2sdk-image \ $(ICEDTEA_JTREG_OPTIONS) \ @@ -1904,7 +1901,7 @@ check-hotspot: stamps/jtreg.stamp check-langtools: stamps/jtreg.stamp mkdir -p test/langtools/JTwork test/langtools/JTreport - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/langtools/JTwork -r:test/langtools/JTreport \ $${ICEDTEA_JTREG_OTHERVM:--samevm} \ -jdk:$(BUILD_OUTPUT_DIR)/j2sdk-image \ @@ -1914,7 +1911,7 @@ check-langtools: stamps/jtreg.stamp check-jdk: stamps/jtreg.stamp mkdir -p test/jdk/JTwork test/jdk/JTreport - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/jdk/JTwork -r:test/jdk/JTreport \ $${ICEDTEA_JTREG_OTHERVM:--samevm} \ -jdk:$(BUILD_OUTPUT_DIR)/j2sdk-image \ @@ -1977,11 +1974,13 @@ rt-source-files.txt: $(OPENJDK_ECJ_TREE) done stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt +if LACKS_SUN_AWT_TOOLKIT mkdir -p lib/rt - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \ -sourcepath $(SOURCEPATH_DIRS) -bootclasspath \'\' \ -classpath $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ @rt-source-files.txt ; +endif mkdir -p stamps touch stamps/rt-class-files.stamp @@ -1990,18 +1989,20 @@ clean-rt: rm -f stamps/rt-class-files.stamp rm -f stamps/rt.stamp rm -f rt-source-files.txt - if [ -e $(ICEDTEA_BOOT_DIR) ] ; then \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ICEDTEA_RT) ; \ +if LACKS_SUN_AWT_TOOLKIT + if [ -e $(ECJ_BOOT_DIR) ] ; then \ + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/jre/lib/rt.jar ; \ fi +endif stamps/rt.stamp: stamps/rt-class-files.stamp mkdir -p stamps if LACKS_SUN_AWT_TOOLKIT - $(ICEDTEA_BOOT_DIR)/bin/jar uf $(ICEDTEA_RT) -C lib/rt com -C lib/rt java \ + $(BOOT_DIR)/bin/jar uf $(RUNTIME) -C lib/rt com -C lib/rt java \ -C lib/rt javax -C lib/rt sun if ENABLE_NIO2 if [ -e lib/rt/org/classpath ] ; then \ - $(ICEDTEA_BOOT_DIR)/bin/jar uf $(ICEDTEA_RT) -C lib/rt org/classpath ; \ + $(BOOT_DIR)/bin/jar uf $(RUNTIME) -C lib/rt org/classpath ; \ fi endif endif From ahughes at redhat.com Mon Jul 5 14:40:14 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 5 Jul 2010 22:40:14 +0100 Subject: Fwd: PulseAudio capture issue In-Reply-To: References: Message-ID: Forwarding this to the IcedTea discussion list distro-pkg-dev; the PulseAudio provider is (AFAIK) unique to IcedTea, so the tests with 'java-6-sun' (which I presume is the proprietary Oracle JDK) will be using a completely different provider. ---------- Forwarded message ---------- From: August Sodora Date: 5 July 2010 21:46 Subject: PulseAudio capture issue To: jdk6-dev at openjdk.java.net Hello all, I've been attempting to write a simple program to capture audio from the microphone and found a piece of sample code that seemed to demonstrate the basic idea but also possibly indicates a bug in the openjdk implementation of the pulse interface. Running the example with java-6-openjdk produces an exception when the TargetDataLine is closed but it runs successfully with java-6-sun. The exception is reproduced below: java.lang.IllegalStateException: Line cant be closed if it isnt open at org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.close(PulseAudioTargetDataLine.java:84) at javax.sound.sampled.AudioInputStream$TargetDataLineInputStream.close(AudioInputStream.java:484) at javax.sound.sampled.AudioInputStream.close(AudioInputStream.java:389) at java.io.SequenceInputStream.nextStream(SequenceInputStream.java:106) at java.io.SequenceInputStream.read(SequenceInputStream.java:210) at java.io.SequenceInputStream.read(SequenceInputStream.java:211) at java.io.InputStream.read(InputStream.java:102) at com.sun.media.sound.WaveFileWriter.writeWaveFile(WaveFileWriter.java:249) at com.sun.media.sound.WaveFileWriter.write(WaveFileWriter.java:147) at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1354) at AudioRecorder02$CaptureThread.run(AudioRecorder02.java:221) And the example source can be found at http://www.developer.com/java/other/article.php/2105421/Java-Sound-Capturing-Microphone-Data-into-an-Audio-File.htm#Complete Program Listings uname -a Linux ubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC 2010 x86_64 GNU/Linux Steps to reproduce: ??1. Copy the program listing into a file name AudioRecorder02.java ??2. javac AudioRecorder02.java ??3. sudo update-java-alternatives -s java-6-openjdk ??4. java AudioRecorder02 ??5. Select "Capture" followed by "Stop" ??6. The above exception will be produced If in step 3, one replaces java-6-openjdk with java-6-sun, the program runs successfully. I'd be interested in investigating this further if that would be useful. Augie -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 01:28:28 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 08:28:28 +0000 Subject: [Bug 502] OpenOffice Writer 3.1.1.4 Build 9319 crashes when using Save As Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=502 aph at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #4 from aph at redhat.com 2010-07-06 08:28 ------- From: Michael Meeks Okay - this looks like a fairly typical KDE integration bug, unrelated to Java whatsoever. Unfortunately there have been a -large- number of crashers and bugs in the OpenOffice.org KDE4 integration. To turn that off, simply: export VCL_USE_PLUGIN=gen or '=gtk' And your life may improve. This appears to be totally unrelated to Java - except of course, that Java owns the SEGV handler, and IcedTea seems to print a very pretty error message, that (I guess) may cause more such bugs to be mis-filed in your direction ;-) Quite possibly you want to do more checking to ensure that the code frames the SEGV comes from are in code you generated before printing JAVA all over it ;-) - otherwise you'll just get a bad name. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 02:38:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 09:38:49 +0000 Subject: [Bug 502] OpenOffice Writer 3.1.1.4 Build 9319 crashes when using Save As Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=502 ------- Comment #5 from erget2005 at gmail.com 2010-07-06 09:38 ------- Sorry, I'm still getting notified when something happens to the bug report (which is of course interesting for me as well). Was the last comment directed to me? If so, how can I do: > > export VCL_USE_PLUGIN=gen > > or '=gtk' > Just in case it was meant for me and not the real programmers :D -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Jaroslav.Tulach at Sun.COM Fri Jul 2 21:56:27 2010 From: Jaroslav.Tulach at Sun.COM (Jaroslav Tulach) Date: Sat, 03 Jul 2010 06:56:27 +0200 Subject: OpenJDK not ready for virtualized environments Message-ID: <0L4Y00D23TPL6870@fe-emea-10.sun.com> My message to gmane.comp.java.openjdk.distro-packaging.devel never appeared. Trying email as a last resort... Subject: OpenJDK not ready for virtualized environments By: Jaroslav Tulach Date: Mon, 14 Jun 2010 18:07:25 +0200 Hello guys, I have troubles using OpenJDK under mine VirtualBox. See: http://wiki.apidesign.org/wiki/Virtualization#Too_Big_Initial_Limit After a discussion at #openjdk it looks like like a result of changing the defaults in amount of heap size and perm gen size. I believe the change is wrong. It shall rather check the # of available memory and if lower than 1GB stick with old defaults. -jt From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 06:44:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 13:44:59 +0000 Subject: [Bug 502] OpenOffice Writer 3.1.1.4 Build 9319 crashes when using Save As Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=502 ------- Comment #6 from asu at redhat.com 2010-07-06 13:44 ------- Hello Daniel, It's a suggestion that you could try and add the line to your .bash_profile Open up ~/.bash_profile in your favourite text editor. Then append either one of the following lines and see how that works out. export VCL_USE_PLUGIN=gen export VCL_USE_PLUGIN=gtk then logout then log back in. --Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From fweimer at bfk.de Tue Jul 6 06:55:32 2010 From: fweimer at bfk.de (Florian Weimer) Date: Tue, 06 Jul 2010 13:55:32 +0000 Subject: OpenJDK not ready for virtualized environments In-Reply-To: <0L4Y00D23TPL6870@fe-emea-10.sun.com> (Jaroslav Tulach's message of "Sat\, 03 Jul 2010 06\:56\:27 +0200") References: <0L4Y00D23TPL6870@fe-emea-10.sun.com> Message-ID: <827hl84svf.fsf@mid.bfk.de> * Jaroslav Tulach: > After a discussion at #openjdk it looks like like a result of changing the > defaults in amount of heap size and perm gen size. I believe the change is > wrong. It shall rather check the # of available memory and if lower than 1GB > stick with old defaults. Actually, the correct fix would be to reserve the address space initially (so that you get one contiguous chunk), and allocate backing store only as needed. On Linux, you can do this by specifying PROT_NONE to mmap() and use mprotect() later. (MAP_NORESERVE is different, and difficult to get right because the garbage collector must be prepared to deal with SIGSEGV when the used portion of the heap expands during GC.) -- Florian Weimer BFK edv-consulting GmbH http://www.bfk.de/ Kriegsstra?e 100 tel: +49-721-96201-1 D-76133 Karlsruhe fax: +49-721-96201-99 From aph at redhat.com Tue Jul 6 07:05:34 2010 From: aph at redhat.com (Andrew Haley) Date: Tue, 06 Jul 2010 15:05:34 +0100 Subject: OpenJDK not ready for virtualized environments In-Reply-To: <0L4Y00D23TPL6870@fe-emea-10.sun.com> References: <0L4Y00D23TPL6870@fe-emea-10.sun.com> Message-ID: <4C33382E.1050908@redhat.com> On 07/03/2010 05:56 AM, Jaroslav Tulach wrote: > My message to gmane.comp.java.openjdk.distro-packaging.devel never appeared. > Trying email as a last resort... > > Subject: OpenJDK not ready for virtualized environments > By: Jaroslav Tulach > Date: Mon, 14 Jun 2010 18:07:25 +0200 > > Hello guys, > I have troubles using OpenJDK under mine VirtualBox. See: > http://wiki.apidesign.org/wiki/Virtualization#Too_Big_Initial_Limit > > After a discussion at #openjdk it looks like like a result of changing the > defaults in amount of heap size and perm gen size. I believe the change is > wrong. It shall rather check the # of available memory and if lower than 1GB > stick with old defaults. The heap and stack sizes are really only a guess, and on most GNU/Linux environments won't cause any problem. All that asking for a large heap will do is pre-allocate the address space in the page tables: it doesn't use the memory until it's actually needed. I'm wondering if there's something odd about the vm.overcommit_memory setting in the system you're been using. Andrew. From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 07:18:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 14:18:35 +0000 Subject: [Bug 418] JVM Crash (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=418 ------- Comment #1 from asu at redhat.com 2010-07-06 14:18 ------- Hello Christoph, Could you please provide some information on how to reproduce this? Also the actual program to test this with. Thanks, Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 07:31:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 14:31:46 +0000 Subject: [Bug 418] JVM Crash (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=418 ------- Comment #2 from cmr at financial.com 2010-07-06 14:31 ------- I am sorry i can not give you any Details. What i can say for sure is that nearly all crashes we had lately in different programms happend with -Xincgc or -XX:+UseConcMarkSweepGC and high memory usage. The problem also occurs with the latest RHEL/CentOS Version # JRE version: 6.0-b16 # Java VM: OpenJDK 64-Bit Server VM (14.0-b16 mixed mode linux-amd64 ) # Distribution: Custom build (Thu May 13 08:22:34 EDT 2010) # Problematic frame: # J java.nio.charset.Charset.lookup(Ljava/lang/String;)Ljava/nio/charset/Charset; -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Tue Jul 6 08:28:50 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 06 Jul 2010 11:28:50 -0400 Subject: [RFC] netx: stop using Look and Feel related methods (PR372) Message-ID: <4C334BB2.50504@redhat.com> Hi, Netx (incorrectly) uses Look and Feel related hooks and methods to create the security-related dialogs it shows to the user [1]. While most of the time it has no consequences, a few JNLP applications that modify the Look and Feel demonstrate incorrect behaviour [2]. The attached patch uses the standard Swing methods to create and display GUIs. It is a somewhat large patch, even though most of it is fairly mundane - creating JDialogs, setting a JPanel in the center depending on the type of dialog and then adding the appropriate controls to the JPanel. I have tried to avoid changing anything that goes inside the JPanel - it should behave exactly as before. I have done some testing and it seems to work just as well as before, but I would appreciate it if others could look it over and try it out too. Cheers, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 [2] https://substance.dev.java.net/webstart/test.jnlp -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-jnlp-no-using-look-and-feel-for-functionality.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100706/eeed74fa/icedtea6-jnlp-no-using-look-and-feel-for-functionality.patch From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 08:58:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 15:58:04 +0000 Subject: [Bug 517] New: PulseAudio capture issue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 Summary: PulseAudio capture issue Product: IcedTea Version: 6-1.8 Platform: all URL: http://www.developer.com/java/other/article.php/2105421/ Java-Sound-Capturing-Microphone-Data-into-an-Audio- File.htm#Complete%20Program%20Listings OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: PulseAudio AssignedTo: unassigned at icedtea.classpath.org ReportedBy: jon.vanalten at redhat.com Reported via mailing list: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009518.html Code that functions using com.sun.media.sound provider generates exceptions using pulse backend. Example given in URL above. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Tue Jul 6 09:00:06 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Tue, 6 Jul 2010 12:00:06 -0400 (EDT) Subject: PulseAudio capture issue In-Reply-To: <1575157983.2057921278431949598.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <197962173.2058191278432006902.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Confirmed. $java -version java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8) (fedora-39.b18.fc12-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) If com.sun.media.sound provider is specified in sound.properties, this example works fine. If org.classpath.icedtea.pulseaudio provider is used, exceptions abound. Fails at different points, giving different exceptions, depending on the output (WAV/AU/etc) chosen. I went ahead and opened a bug against this. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 cheers, jon ----- "Andrew John Hughes" wrote: > Forwarding this to the IcedTea discussion list distro-pkg-dev; the > PulseAudio provider is (AFAIK) unique to IcedTea, so the tests with > 'java-6-sun' (which I presume is the proprietary Oracle JDK) will be > using a completely different provider. > > ---------- Forwarded message ---------- > From: August Sodora > Date: 5 July 2010 21:46 > Subject: PulseAudio capture issue > To: jdk6-dev at openjdk.java.net > > > Hello all, > I've been attempting to write a simple program to capture audio from > the microphone and found a piece of sample code that seemed to > demonstrate the basic idea but also possibly indicates a bug in the > openjdk implementation of the pulse interface. Running the example > with java-6-openjdk produces an exception when the TargetDataLine is > closed but it runs successfully with java-6-sun. The exception is > reproduced below: > java.lang.IllegalStateException: Line cant be closed if it isnt open > at > org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.close(PulseAudioTargetDataLine.java:84) > at > javax.sound.sampled.AudioInputStream$TargetDataLineInputStream.close(AudioInputStream.java:484) > at > javax.sound.sampled.AudioInputStream.close(AudioInputStream.java:389) > at > java.io.SequenceInputStream.nextStream(SequenceInputStream.java:106) > at java.io.SequenceInputStream.read(SequenceInputStream.java:210) > at java.io.SequenceInputStream.read(SequenceInputStream.java:211) > at java.io.InputStream.read(InputStream.java:102) > at > com.sun.media.sound.WaveFileWriter.writeWaveFile(WaveFileWriter.java:249) > at com.sun.media.sound.WaveFileWriter.write(WaveFileWriter.java:147) > at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1354) > at AudioRecorder02$CaptureThread.run(AudioRecorder02.java:221) > And the example source can be found at > http://www.developer.com/java/other/article.php/2105421/Java-Sound-Capturing-Microphone-Data-into-an-Audio-File.htm#Complete > Program Listings > uname -a > Linux ubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC > 2010 x86_64 GNU/Linux > Steps to reproduce: > ??1. Copy the program listing into a file name AudioRecorder02.java > ??2. javac AudioRecorder02.java > ??3. sudo update-java-alternatives -s java-6-openjdk > ??4. java AudioRecorder02 > ??5. Select "Capture" followed by "Stop" > ??6. The above exception will be produced > If in step 3, one replaces java-6-openjdk with java-6-sun, the > program > runs successfully. > I'd be interested in investigating this further if that would be > useful. > Augie > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mwong at redhat.com Tue Jul 6 09:05:54 2010 From: mwong at redhat.com (Man Wong) Date: Tue, 6 Jul 2010 12:05:54 -0400 (EDT) Subject: [RFC] netx: added encoding support for UTF-16 and UTF-32 In-Reply-To: <2135625148.359661278432197063.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <1496708829.360101278432354570.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Hi, This patch adds UTF-16 and UTF-32 encoding support for netx, allowing jnlp files saved under those encoding to launch in netx [1]. Previously, when a jnlp file with UTF-16 or UTF-32 encoding is passed in, netx will throw an exception even though the jnlp file was a valid file. It would be greatly appreciated if someone can look over the code, make sure it is ok and see if additional comments are needed to make the code easier to understand. Thanks, Man Lung Wong [1] http://icedtea.classpath.org/~mwong/webstart/HelloWorld/Test.jnlp (a simple Hello World applet I created to test this patch) -------------- next part -------------- A non-text attachment was scrubbed... Name: netx_encoding_support.patch Type: text/x-patch Size: 3540 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100706/019e7fb0/netx_encoding_support.patch From andrew at icedtea.classpath.org Tue Jul 6 10:46:50 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 06 Jul 2010 17:46:50 +0000 Subject: /hg/icedtea6: Simplify naming of the pulse-java build directory ... Message-ID: changeset aecac87c5af7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aecac87c5af7 author: Andrew John Hughes date: Tue Jul 06 18:46:18 2010 +0100 Simplify naming of the pulse-java build directory and include the jar file in the pulse java build tree. 2010-07-06 Andrew John Hughes * Makefile.am: (PULSE_JAVA_BUILDDIR): Use a different name from the source directory to avoid confusion. (clean-local): jni-common.o is not in the top-level directory. (icedtea): Locate pulse-java.jar in build directory not top-level directory. (icedtea-debug): Likewise. (pulse-java-jar): Likewise. (clean-pulse- java): Likewise. Given clean-pulse-java only exists when PULSE_JAVA_NATIVE_BUILDDIR and PULSE_JAVA_CLASS_DIR are set, there is no need to test them. diffstat: 2 files changed, 26 insertions(+), 15 deletions(-) ChangeLog | 16 ++++++++++++++++ Makefile.am | 25 ++++++++++--------------- diffs (96 lines): diff -r 5c61be3119bb -r aecac87c5af7 ChangeLog --- a/ChangeLog Mon Jul 05 17:31:35 2010 +0100 +++ b/ChangeLog Tue Jul 06 18:46:18 2010 +0100 @@ -1,3 +1,19 @@ 2010-07-05 Andrew John Hughes + + * Makefile.am: + (PULSE_JAVA_BUILDDIR): Use a different name from + the source directory to avoid confusion. + (clean-local): jni-common.o is not in the top-level + directory. + (icedtea): Locate pulse-java.jar in build directory + not top-level directory. + (icedtea-debug): Likewise. + (pulse-java-jar): Likewise. + (clean-pulse-java): Likewise. Given clean-pulse-java + only exists when PULSE_JAVA_NATIVE_BUILDDIR and + PULSE_JAVA_CLASS_DIR are set, there is no need to test + them. + 2010-07-05 Andrew John Hughes Revert rt.jar only for ecj tree. Don't do diff -r 5c61be3119bb -r aecac87c5af7 Makefile.am --- a/Makefile.am Mon Jul 05 17:31:35 2010 +0100 +++ b/Makefile.am Tue Jul 06 18:46:18 2010 +0100 @@ -125,7 +125,7 @@ PULSE_JAVA_DIR = $(abs_top_srcdir)/pulse PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio +PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native PULSE_JAVA_NATIVE_OBJECTS = \ $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) @@ -522,7 +522,6 @@ clean-local: clean-jtreg clean-jtreg-rep if [ -e lib ]; then \ rmdir lib ; \ fi - rm -f jni-common.o distclean-local: clean-download clean-hgforest if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ @@ -1214,9 +1213,9 @@ if ENABLE_PULSE_JAVA $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) - cp -pPRf pulse-java.jar \ + cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext - cp -pPRf pulse-java.jar \ + cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ $(ZIP) -qur $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) @@ -1290,9 +1289,9 @@ if ENABLE_PULSE_JAVA $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) - cp -pPRf pulse-java.jar \ + cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext - cp -pPRf pulse-java.jar \ + cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/ext (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ $(ZIP) -qur $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) @@ -1581,7 +1580,7 @@ stamps/pulse-java.stamp: stamps/pulse-ja stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_CLASS_DIR); - $(BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; + $(BOOT_DIR)/bin/jar cf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; mkdir -p stamps touch stamps/pulse-java-jar.stamp @@ -1613,15 +1612,11 @@ stamps/pulse-java-headers.stamp: stamps/ touch stamps/pulse-java-headers.stamp clean-pulse-java: - [ -z "$(PULSE_JAVA_NATIVE_BUILDDIR)" ] || rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) - [ -z "$(PULSE_JAVA_CLASS_DIR)" ] || rm -rf $(PULSE_JAVA_CLASS_DIR) + rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) + rm -rf $(PULSE_JAVA_CLASS_DIR) + rm -f $(PULSE_JAVA_BUILDDIR)/pulse-java.jar + rmdir $(PULSE_JAVA_BUILDDIR) rm -f stamps/pulse-java*.stamp - rm -f pulse-java.jar - if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - if [ -e $(abs_top_builddir)/pulseaudio ] ; then \ - rmdir $(abs_top_builddir)/pulseaudio ; \ - fi ; \ - fi endif # end of pulse-java From ahughes at redhat.com Tue Jul 6 12:17:56 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 6 Jul 2010 20:17:56 +0100 Subject: Request to backport 6438179 (fix XToolkit.isTraySupported) In-Reply-To: <4C3369EB.5080809@redhat.com> References: <4C3369EB.5080809@redhat.com> Message-ID: On 6 July 2010 18:37, Omair Majid wrote: > Hi, > > I am interested in backporting the fix for 6438179 > "XToolkit.isTraySupported() result has nothing to do with the system tray" > from OpenJDK7 to OpenJDK6. This fix implements the System Tray Protocol > support in OpenJDK. > > The fix was implemented in OpenJDK7 in b21 - I can not find a changeset > version for this fix as this was before the mercurial repositories were > published. I have tried backporting this fix manually and I am attaching the > patch. > > Does this look like something OK to go into OpenJDK6? > > Thanks, > Omair > Have you added this to IcedTea already? Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at redhat.com Tue Jul 6 12:22:32 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 06 Jul 2010 15:22:32 -0400 Subject: Request to backport 6438179 (fix XToolkit.isTraySupported) In-Reply-To: References: <4C3369EB.5080809@redhat.com> Message-ID: <4C338278.3030106@redhat.com> On 07/06/2010 03:17 PM, Andrew John Hughes wrote: > On 6 July 2010 18:37, Omair Majid wrote: >> Hi, >> >> I am interested in backporting the fix for 6438179 >> "XToolkit.isTraySupported() result has nothing to do with the system tray" >> from OpenJDK7 to OpenJDK6. This fix implements the System Tray Protocol >> support in OpenJDK. >> >> The fix was implemented in OpenJDK7 in b21 - I can not find a changeset >> version for this fix as this was before the mercurial repositories were >> published. I have tried backporting this fix manually and I am attaching the >> patch. >> >> Does this look like something OK to go into OpenJDK6? >> >> Thanks, >> Omair >> > > Have you added this to IcedTea already? > > Thanks, Nope. I did some quick testing and then posted this question. I was hoping some experts would take a quick look and point out anything that I might have missed. If everyone thinks it's ok, then we can push to OpenJDK6 (and to IcedTea6 too - until we pick it up from OpenJDK6). Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Tue Jul 6 15:59:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Jul 2010 22:59:59 +0000 Subject: [Bug 518] New: NPString.utf8characters not guaranteed to be nul-terminated Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=518 Summary: NPString.utf8characters not guaranteed to be nul- terminated Product: IcedTea Version: unspecified Platform: all OS/Version: All Status: NEW Severity: normal Priority: P2 Component: GCJWebPlugin AssignedTo: unassigned at icedtea.classpath.org ReportedBy: steven.bergom at atego.com Any NPString object returned when communicating with the browser cannot be assumed to be null-terminated at the appropriate place. Working on the char* in NPString.utf8characters with the standard string-handling functions (eg g_strsplit, g_strlen, g_strdup) will result in unintended consequences. For example, in plugin_get_documentbase() on lines 1030-1033 the document location is written to the variable href by a call to browser_functions.getproperty(). In the next section the return value is split via a call to g_strsplit(). If the string -- href.utf8characters -- contains junk rather than being null-terminated then it will report "http://foo/bar.htmlgarbage" instead of "html://foo/bar.html" as the document base. I discovered this when testing the plugin in WebKit-1.1.90 on both Linux-x86 and Linux-ARM. In the latter case there was an extra forward slash in the garbage resulting in the plugin handler unable to form a correct URL to download the applet Jar. The x86 target just happened to not have a forward slash but still had some extra garbage resulting in an incorrect document base. The solution is to make a safe, local copy of NPString.utf8characters that can be freed before return from the function. This gchar** parts = g_strsplit (NPVARIANT_TO_STRING(href).UTF8Characters, "/", -1); should become gchar* safeNPString; safeNPString = (gchar*)g_malloc0(NPVARIANT_TO_STRING(*location).UTF8Length + 1); g_strlcpy(safeNPString, NPVARIANT_TO_STRING(*location).UTF8Characters, NPVARIANT_TO_STRING(*location).UTF8Length+1); gchar** parts = g_strsplit (safeNPString, "/", -1); g_free(safeNPString); This needs to be done in all places where an NPString object is returned from the browser. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 7 00:17:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Jul 2010 07:17:51 +0000 Subject: [Bug 502] OpenOffice Writer 3.1.1.4 Build 9319 crashes when using Save As Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=502 ------- Comment #7 from erget2005 at gmail.com 2010-07-07 07:17 ------- Hi Andrew, Cool, alright. I'll give it a try. Thanks! -Daniel -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 7 05:28:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Jul 2010 12:28:22 +0000 Subject: [Bug 513] cacao+Icedtea6 on ARM build failure on armv7l with --enable-softfloat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=513 ------- Comment #2 from stefan at complang.tuwien.ac.at 2010-07-07 12:28 ------- OTOH, a softfloat build of CACAO 0.99.4 on the same machine yields: LOG: [0x40018450] md_signal_handler_sigill: Unknown illegal instruction 0xed2d0101 at 0x40ad32bc LOG: [0x40018450] Aborting... So at least it's not much worse now than before ;) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 7 06:14:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Jul 2010 13:14:16 +0000 Subject: [Bug 498] Shark sigsegv in new exception handler code regression Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=498 ------- Comment #1 from gbenson at redhat.com 2010-07-07 13:14 ------- Created an attachment (id=386) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=386&action=view) Untested fix Try this? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 7 07:32:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Jul 2010 14:32:48 +0000 Subject: [Bug 517] PulseAudio capture issue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|jon.vanalten at redhat.com |.org | Status|NEW |ASSIGNED ------- Comment #1 from jon.vanalten at redhat.com 2010-07-07 14:32 ------- Created an attachment (id=387) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=387&action=view) Fixes unnecessary exception throwing. The attached patch resolves the issues exposed by this example, among others. open() calls on an open line still throw an exception, as per DataLine interface API. close() calls on an closed line should not throw an exception, but rather become no-ops. read() or write() calls on a closed line should not throw an exception, but rather should return 0 bytes read or written. This is supported by API documentation as well: "However, if the data line is closed, stopped, drained, or flushed before the requested amount has been , the method no longer blocks, but returns the number of bytes thus far." drain() calls on a closed line are explicitly allowed by the API: "This method always returns when the data line is closed." flush() on an open line is not mentioned in the API, but throwing an exception seemed unnecessary so I changed it so that the stream was flushed only if the line was open. I've also changed the checks for open to use the isOpen() public API method rather than the protected variable. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Wed Jul 7 07:37:53 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Wed, 7 Jul 2010 10:37:53 -0400 (EDT) Subject: RFC: Fix for exceptions thrown in PulseAudio backend (WAS: Re: PulseAudio capture issue) In-Reply-To: <968381175.2196641278513358945.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <792366148.2196991278513473621.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, I've attached a patch that addresses the problems from this example, along with a few other tweaks. A more detailed description is on the bugzilla. Comments? OK to commit? thanks, jon ----- "jon vanalten" wrote: > Confirmed. > > $java -version > java version "1.6.0_18" > OpenJDK Runtime Environment (IcedTea6 1.8) > (fedora-39.b18.fc12-x86_64) > OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) > > If com.sun.media.sound provider is specified in sound.properties, this > example works fine. If org.classpath.icedtea.pulseaudio provider is > used, exceptions abound. Fails at different points, giving different > exceptions, depending on the output (WAV/AU/etc) chosen. > > I went ahead and opened a bug against this. > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 > > cheers, > > jon > > ----- "Andrew John Hughes" wrote: > > > Forwarding this to the IcedTea discussion list distro-pkg-dev; the > > PulseAudio provider is (AFAIK) unique to IcedTea, so the tests with > > 'java-6-sun' (which I presume is the proprietary Oracle JDK) will > be > > using a completely different provider. > > > > ---------- Forwarded message ---------- > > From: August Sodora > > Date: 5 July 2010 21:46 > > Subject: PulseAudio capture issue > > To: jdk6-dev at openjdk.java.net > > > > > > Hello all, > > I've been attempting to write a simple program to capture audio > from > > the microphone and found a piece of sample code that seemed to > > demonstrate the basic idea but also possibly indicates a bug in the > > openjdk implementation of the pulse interface. Running the example > > with java-6-openjdk produces an exception when the TargetDataLine > is > > closed but it runs successfully with java-6-sun. The exception is > > reproduced below: > > java.lang.IllegalStateException: Line cant be closed if it isnt > open > > at > > > org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.close(PulseAudioTargetDataLine.java:84) > > at > > > javax.sound.sampled.AudioInputStream$TargetDataLineInputStream.close(AudioInputStream.java:484) > > at > > > javax.sound.sampled.AudioInputStream.close(AudioInputStream.java:389) > > at > > > java.io.SequenceInputStream.nextStream(SequenceInputStream.java:106) > > at java.io.SequenceInputStream.read(SequenceInputStream.java:210) > > at java.io.SequenceInputStream.read(SequenceInputStream.java:211) > > at java.io.InputStream.read(InputStream.java:102) > > at > > > com.sun.media.sound.WaveFileWriter.writeWaveFile(WaveFileWriter.java:249) > > at > com.sun.media.sound.WaveFileWriter.write(WaveFileWriter.java:147) > > at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1354) > > at AudioRecorder02$CaptureThread.run(AudioRecorder02.java:221) > > And the example source can be found at > > > http://www.developer.com/java/other/article.php/2105421/Java-Sound-Capturing-Microphone-Data-into-an-Audio-File.htm#Complete > > Program Listings > > uname -a > > Linux ubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 > UTC > > 2010 x86_64 GNU/Linux > > Steps to reproduce: > > ??1. Copy the program listing into a file name AudioRecorder02.java > > ??2. javac AudioRecorder02.java > > ??3. sudo update-java-alternatives -s java-6-openjdk > > ??4. java AudioRecorder02 > > ??5. Select "Capture" followed by "Stop" > > ??6. The above exception will be produced > > If in step 3, one replaces java-6-openjdk with java-6-sun, the > > program > > runs successfully. > > I'd be interested in investigating this further if that would be > > useful. > > Augie > > > > > > -- > > Andrew :-) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > Support Free Java! > > Contribute to GNU Classpath and the OpenJDK > > http://www.gnu.org/software/classpath > > http://openjdk.java.net > > > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 -------------- next part -------------- A non-text attachment was scrubbed... Name: pulsefix.patch Type: text/x-patch Size: 8867 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100707/5a8b10fb/pulsefix.patch From omajid at redhat.com Wed Jul 7 10:06:10 2010 From: omajid at redhat.com (Omair Majid) Date: Wed, 07 Jul 2010 13:06:10 -0400 Subject: [RFC] plugin: bug 460 Message-ID: <4C34B402.5000109@redhat.com> Hi, The attached patch adds the missing class netscape.security.ForbiddenTargetException, which is all that is required for certain applets to work. It fixes bug 460 [1]. Ok to commit? Cheers, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=460 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-plugin-forbiddentargetexception.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100707/6265093b/icedtea6-plugin-forbiddentargetexception.patch From andrew at icedtea.classpath.org Wed Jul 7 14:36:06 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 07 Jul 2010 21:36:06 +0000 Subject: /hg/icedtea6-hg: 29 new changesets Message-ID: changeset 507d3308f9c9 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=507d3308f9c9 author: Andrew John Hughes date: Tue Jun 22 18:15:40 2010 +0100 Fix use of non-existent ICEDTEA_DEBUG_BUILD_DIR. 2010-06-22 Andrew John Hughes * Makefile.am: Replace ICEDTEA_DEBUG_BUILD_DIR with DEBUG_BUILD_OUTPUT_DIR. changeset 038bfe38cab1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=038bfe38cab1 author: Andrew John Hughes date: Tue Jun 22 19:10:30 2010 +0100 Remove linking of non-existent platform_zero.in 2010-06-22 Andrew John Hughes * Makefile.am: (ports.stamp): Remove unneeded linking of platform_zero (no longer exists). changeset da2ba8396450 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=da2ba8396450 author: Andrew John Hughes date: Tue Jun 22 19:14:32 2010 +0100 S6961732: FontMetrics.getLeading() may be negative in freetype-based OpenJDK builds 2010-06-22 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/6961732.patch: Backport of 6961732: FontMetrics.getLeading() may be negative in freetype-based OpenJDK builds changeset a4bc545c483a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a4bc545c483a author: doko at ubuntu.com date: Thu Jun 24 00:56:40 2010 +0200 Update CACAO to 1.1.0pre (mostly backports from icedtea7). Builds, not yet tested otherwise. 2010-06-24 Andrew John Hughes Matthias Klose * patches/cacao/no-strict-aliasing.patch: Remove, applied upstream. * patches/icedtea-cacao-no-mmap-first-page.patch: Likewise. * patches/icedtea-cacao.patch: Remove, replaced by ... * patches/cacao/launcher.patch: New. * patches/cacao/memory.patch: Increase the memory used in the langtools build when using CACAO. * patches/cacao/arm-arch-defines.patch: Update. * patches/cacao/6714758.patch: Add JVM_FindClassFromBootLoader introduced by 6714758 and modified in 6864003. http://server.complang.tuwien.ac.at/cgi- bin/bugzilla/show_bug.cgi?id=137 * patches/icedtea-cacao-ignore-tests.patch: Remove, replaced by ... * patches/cacao/ignore-tests.patch: New. * patches/cacao/jsig.patch: Update. * patches/cacao/package-version.diff: Drop 'preX' from the cacao package version. * patches/cacao/version.patch: Update * Makefile.am (ICEDTEA_PATCHES): Add/remove patches. Use Mercurial snapshot of CACAO 1.1.0pre. changeset c09ec1d01ca3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c09ec1d01ca3 author: Omair Majid date: Thu Jun 24 09:40:43 2010 -0400 netx: handle JNLP files which use native libraries but do not indiate it 2010-06-24 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. * netx/net/sourceforge/jnlp/JNLPClassLoader.java (activateJars): Always call activateNative. (activateNative): Search for native code anywhere in the jar. changeset 5ecaa9185c34 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=5ecaa9185c34 author: doko at ubuntu.com date: Thu Jun 24 16:02:09 2010 +0200 Fix build --with-addition-vms=cacao 2010-06-24 Matthias Klose * Makefile.am (stamps/add-cacao.stamp, stamps/add-cacao- debug.stamp): Update libjsig.so installation location. changeset f40f87b95dc0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=f40f87b95dc0 author: Andrew John Hughes date: Thu Jun 24 18:44:12 2010 +0100 Fix broken CACAO build and remove redundant patches. 2010-06-24 Andrew John Hughes * patches/cacao/6714758.patch: Removed, 6714758 is not in OpenJDK6. * patches/cacao/package-version.diff: Removed; we shouldn't be altering the CACAO version and it builds without this fix. * patches/cacao/version.patch: Dropped; only needed for 7. * patches/icedtea-cacao-ignore-jdi-tests.patch: Moved to... * Makefile.am: Drop unneeded patches. Remove non-existent nio2 reference. Fix path to ignore-jdi-tests.patch. (CACAO_BASE_URL): Shorten to just the base. (CACAO_SRC_ZIP): Use version from IcedTea7. (download-cacao): Added from IcedTea7. (clean-download-cacao): Likewise. (download): Depend on download-cacao. Remove CACAO downloading. (clean-download): Depend on clean-download- cacao. Remove CACAO cleaning. * patches/cacao/ignore-jdi-tests.patch: ...here. changeset 1c22941d9896 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=1c22941d9896 author: Andrew John Hughes date: Thu Jun 24 21:30:07 2010 +0100 Bump changeset to a CACAO build using -O2 and include a fix for a version parsing bug. 2010-06-24 Andrew John Hughes * Makefile.am: Add new patch and update: (CACAO_VERSION): Bump to changeset which increases optimisation to -O2 not -O0. (CACAO_SHA256SUM): Updated for above. * patches/cacao/version-parsing.patch: Fix parsing of the minor version due to the update from 1.1.0pre to 1.1.0pre1 in the new changeset. changeset 2abd775a9d46 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2abd775a9d46 author: doko at ubuntu.com date: Fri Jun 25 12:24:35 2010 +0200 2010-06-25 Matthias Klose Fix shark build failures, update for latest HotSpot taken from http://icedtea.classpath.org/hg/shark/hotspot/rev/3236ce90f188 * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: Update. * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp: Update. * ports/hotspot/src/share/vm/shark/sharkConstant.cpp: Update. changeset fa1c6854f1e6 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fa1c6854f1e6 author: Andrew John Hughes date: Mon Jun 28 14:18:16 2010 +0100 Drop VisualVM, now maintained independently of IcedTea. 2010-06-25 Andrew John Hughes Remove VisualVM support, now maintained at http://icedtea.classpath.org/hg/visualvm * Makefile.am: Remove VisualVM targets, references and aliases. (NETBEANS_PROFILER_URL): Removed. (NETBEANS_PROFILER_SRC_ZIP): Likewise. (NETBEANS_PROFILER_MD5SUM): Likewise. (VISUALVM_URL): Likewise. (VISUALVM_SRC_ZIP): Likewise. (VISUALVM_MD5SUM): Likewise. (EXTRA_DIST): Remove visualvm.desktop. (distclean-local): Remove visualvm and netbeans deletion. (.PHONY): Remove clean-visualvm and clean-nbplatform targets. (download): Don't download VisualVM. (clean-download): Don't remove the VisualVM and NetBeans zips. (extract): Don't extract VisualVM and NetBeans. (icedtea): Don't depend on visualvm.stamp and remove post-install measures. (icedtea-debug): Likewise. (nbplatform): Removed. (visualvm): Removed. * acinclude.m4: Remove VisualVM-related macros. (FIND_NETBEANS): Removed. * configure.ac: Remove --with-netbeans-home and --enable-visualvm options. Don't invoke VisualVM macros. * visualvm.desktop: Removed. changeset b434625f3fd8 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b434625f3fd8 author: Andrew John Hughes date: Wed Jun 30 00:47:55 2010 +0100 Fix debug build by ensuring specified output directory is used as intended. 2010-06-28 Andrew John Hughes * Makefile.am: (ICEDTEA_DEBUG_BUILD_TARGET): Don't add debug suffix, OpenJDK makefile already does this. * patches/debug-dir.patch: Fix OpenJDK Makefile to just add the debug suffix and not move it to ../$(OS)-$(ARCH)-debug. changeset 4fbf7302ddbe in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4fbf7302ddbe author: Andrew John Hughes date: Wed Jun 30 00:53:06 2010 +0100 Avoid passing --sync to df in the OpenJDK sanity check. 2010-06-29 Andrew John Hughes * Makefile.am: Add new patch. * patches/no-sync.patch: Don't pass --sync to df; the file space check does not need to be so accurate that we have to flush all buffers to disc. changeset 616766de2cfe in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=616766de2cfe author: Andrew John Hughes date: Wed Jun 30 22:03:22 2010 +0100 PR icedtea/93: Provide a proper clean target not aliased to distclean that calls all dependent clean targets. 2010-06-30 Andrew John Hughes PR icedtea/93 * Makefile.am: Fix cleanup process. (clean-local): Renamed from distclean-local. Add additional dependent clean targets. Don't remove build directories and stamps; should be done by dependents. (.PHONY): Updated. (clean-ports): Inverse of ports.stamp. (clean-overlay): Inverse of overlay.stamp. (clean-native-ecj): Inverse of native-ecj.stamp. (clean-icedtea): Just delete the build directory and stamp. (clean-icedtea-debug): Inverse of icedtea-debug.stamp. (clean-icedtea-against-icedtea): Inverse of icedtea-against-icedtea.stamp (clean-icedtea- debug-against-icedtea): Inverse of icedtea-debug-against- icedtea.stamp (clean-icedtea-ecj): Just delete the build directory and stamp. (clean-icedtea-against-ecj): Inverse of icedtea-against-ecj.stamp. (clean-IcedTeaPlugin): Delete empty build directories if srcdir != builddir. (clean-pulse- java): Likewise. (clean-add-cacao): Inverse of add- cacao.stamp. (clean-add-cacao-debug): Inverse of add-cacao- debug.stamp. (clean-add-zero): Inverse of add-zero.stamp. (clean-add-zero-debug): Inverse of add-zero-debug.stamp. (clean): Removed; already provided by autoconf to point to clean- local. changeset ffd5f9e8887d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ffd5f9e8887d author: Omair Majid date: Tue Jun 29 14:19:38 2010 -0400 Netx: make path sanitization consistent; use a blacklisting approach. 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/cache/CacheUtil.java (urlToPath): Call FileUtils.sanitizePath. (fixPath): Moved to... * netx/net/sourceforge/jnlp/util/FileUtils.java (sanitizePath): New function. Moved from CacheUtil.java (sanitizeFileName): Use a blacklisting approach rather than a whitelisting approach: should work better with non ascii filenames. changeset e7c3958eee03 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e7c3958eee03 author: Omair Majid date: Tue Jun 29 14:26:57 2010 -0400 Netx: make the SingleInstanceServer thread a daemon thread 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java (startListeningServer): Mark the thread as a daemon so the JVM can shutdown if there are no other non-daemon thread running. changeset fc215b8f9b18 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fc215b8f9b18 author: Omair Majid date: Tue Jun 29 15:48:10 2010 -0400 Netx: allow jnlp classloaders to share native libraries 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java nativeDirectories: New variable. Contains a list of directories that contain native libraries. (getInstance): Tell other classloaders about the native directory. (getNativeDir): Add the new native directory to nativeDirectories. (addNativeDirectory): New function. (getNativeDirectories): New function. (findLibrary): Look in all the native directories for the native library. changeset 7649271c60ab in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7649271c60ab author: Omair Majid date: Wed Jun 30 19:15:49 2010 -0400 Merge changeset e6ef1847ac70 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e6ef1847ac70 author: Andrew John Hughes date: Thu Jul 01 23:13:01 2010 +0100 Fix extraction cleanup. 2010-07-01 Andrew John Hughes * Makefile.am: (clean-local): Add clean-extract (in place of clean-cacao, a dependent), clean-extract-ecj, clean-generated and clean-replace-hotspot. Don't delete openjdk and openjdk-ecj here, now done in dependents. (extract): Depend on extract-cacao.stamp. (clean-extract): Depend on clean-extract-openjdk and clean-cacao. (clean-extract-openjdk): Remove openjdk directory and stamp. (extract-openjdk): Just extract OpenJDK, don't extract cacao and create generated. (replace-hotspot): Make sure stamps exists. (clean-replace-hotspot): No need for recursive delete. (generated): Copy generated directory from srcdir if needed. (clean-generated): Remove generated directory if necessary. (patch-fsg): Depend on generated rather than ports so it is included. (clean-icedtea-ecj): Remove bogus dependency. changeset 15fb1bdc42b3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=15fb1bdc42b3 author: Andrew John Hughes date: Thu Jul 01 23:31:12 2010 +0100 Check directories exist before using rmdir. 2010-07-01 Andrew John Hughes * Makefile.am: (clean-IcedTeaPlugin): Check directory exists before using rmdir. (clean-pulse- java): Likewise. changeset aafcd75154a1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=aafcd75154a1 author: Andrew John Hughes date: Thu Jul 01 23:41:42 2010 +0100 Handle cleaning of downloads via make distclean. 2010-07-01 Andrew John Hughes * Makefile.am: (distclean-local): Added. Removes downloads in addition to other cleaning targets. (.PHONY): Updated. (download-openjdk): Separate OpenJDK download into separate target. (clean-download- openjdk): Inversion of download-openjdk. (download): Metatarget for all downloads. (clean-download): Metatarget for all download cleaning. (clean-cacao): Remove extraction stamp. changeset 9ac98799e75d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=9ac98799e75d author: Andrew John Hughes date: Fri Jul 02 10:31:36 2010 +0100 Don't delete alternate zip bundles, only those we download. 2010-07-01 Andrew John Hughes Don't delete alternate source zips. Only zips downloaded by the build should be deleted. * Makefile.am: (HOTSPOT_SRC_ZIP): Set as a constant value rather than setting to ALT_HOTSPOT_SRC_ZIP when available. (OPENJDK_SRC_ZIP): Likewise, though the value is still empty when using hg. (download-openjdk): Symlink the alternate OpenJDK and HotSpot source zips to the alternate versions. (clean-download-openjdk): Remvoe HOTSPOT_SRC_ZIP as well. changeset 12239904d147 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=12239904d147 author: Andrew John Hughes date: Fri Jul 02 10:35:35 2010 +0100 Delete empty tapset directory if srcdir != builddir. 2010-07-01 Andrew John Hughes * Makefile.am: (distclean-local): Delete empty tapset directory if srcdir != builddir. changeset 40f04e0a5018 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=40f04e0a5018 author: Andrew John Hughes date: Fri Jul 02 16:09:15 2010 +0100 Make sure download-openjdk creates the right stamp. 2010-07-01 Andrew John Hughes * Makefile.am: (download-openjdk): Create download- openjdk.stamp, not download.stamp. changeset 4b85abd38b4c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4b85abd38b4c author: Andrew John Hughes date: Fri Jul 02 17:26:42 2010 +0100 Make sure generated target creates generated.stamp. 2010-07-01 Andrew John Hughes * Makefile.am: (generated): Make sure generated.stamp is created. changeset c46acd86bc92 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c46acd86bc92 author: Andrew John Hughes date: Mon Jul 05 00:00:58 2010 +0100 Add remaining missing clean-local dependencies so that build tree is completely empty after make distclean. 2010-07-04 Andrew John Hughes * Makefile.am: (clean-local): Add missing dependencies. Use rmdir to remove bootstrap and lib to make sure they are empty. Use rmdir to remove the empty stamps directory. (clean-extract-openjdk): Depend on clean-patch- fsg. (clean-patch-fsg): Depend on clean-patch. (clean-extract-ecj): Depend on clean-patch-ecj. (rewriter): Give the build directory a different name to the source directory (rewriter.build). (clean-rewriter): New target to remove rewriter. (rewrite-rhino): Fix build directory path. (clean-rewrite-rhino): Inverse of rewrite-rhino. (rt): Only replace rt.jar if the bootstrap tree still exists. changeset 0e8960d7a100 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0e8960d7a100 author: Andrew John Hughes date: Mon Jul 05 11:58:04 2010 +0100 Remove the stamps directory on distclean, not clean. 2010-07-05 Andrew John Hughes * Makefile.am: (clean-local): Don't remove the stamps directory here. (distclean-local): Remove it here. changeset 5c61be3119bb in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=5c61be3119bb author: Andrew John Hughes date: Mon Jul 05 17:31:35 2010 +0100 Only manipulate rt.jar's contents when LACKS_SUN_AWT_TOOLKIT is defined. Clarify variable names. 2010-07-05 Andrew John Hughes Revert rt.jar only for ecj tree. Don't do so (or build rt-class-files) for builds with OpenJDK. Make variable naming clearer. * Makefile.am: (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. (RUNTIME): Renamed from ICEDTEA_RT. (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. (ECJ_BOOT_DIR): Shortcut for bootstrap/ecj. (ICEDTEA_BOOT_DIR): Shortcut for bootstrap/icedtea. (rt-class-files): Only build replacement runtime classes when LACKS_SUN_AWT_TOOLKIT is set. (clean-rt): Only replace rt.jar when LACKS_SUN_AWT_TOOLKIT and overwrite in $(ECJ_BOOT_DIR) not $(BOOT_DIR). changeset aecac87c5af7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=aecac87c5af7 author: Andrew John Hughes date: Tue Jul 06 18:46:18 2010 +0100 Simplify naming of the pulse-java build directory and include the jar file in the pulse java build tree. 2010-07-06 Andrew John Hughes * Makefile.am: (PULSE_JAVA_BUILDDIR): Use a different name from the source directory to avoid confusion. (clean-local): jni-common.o is not in the top-level directory. (icedtea): Locate pulse-java.jar in build directory not top-level directory. (icedtea-debug): Likewise. (pulse-java-jar): Likewise. (clean-pulse- java): Likewise. Given clean-pulse-java only exists when PULSE_JAVA_NATIVE_BUILDDIR and PULSE_JAVA_CLASS_DIR are set, there is no need to test them. changeset 09bbaad21267 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=09bbaad21267 author: Andrew John Hughes date: Wed Jul 07 22:35:59 2010 +0100 S6961732: Remove patch; applied upstream. 2010-07-07 Andrew John Hughes * patches/openjdk/6961732.patch: Dropped, applied upstream. * Makefile.am: Remove above patch. diffstat: 28 files changed, 2435 insertions(+), 2178 deletions(-) ChangeLog | 349 ++ Makefile.am | 701 ++-- acinclude.m4 | 32 configure.ac | 31 netx/net/sourceforge/jnlp/SecurityDesc.java | 9 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 17 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 93 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 11 netx/net/sourceforge/jnlp/util/FileUtils.java | 51 patches/cacao/arm-arch-defines.patch | 14 patches/cacao/ignore-jdi-tests.patch | 1496 ++++++++++ patches/cacao/ignore-tests.patch | 11 patches/cacao/jsig.patch | 18 patches/cacao/launcher.patch | 50 patches/cacao/memory.patch | 18 patches/cacao/nio2.patch | 41 patches/cacao/no-strict-aliasing.patch | 22 patches/cacao/version-parsing.patch | 11 patches/debug-dir.patch | 31 patches/icedtea-cacao-ignore-jdi-tests.patch | 1496 ---------- patches/icedtea-cacao-ignore-tests.patch | 10 patches/icedtea-cacao-no-mmap-first-page.patch | 23 patches/icedtea-cacao.patch | 50 patches/no-sync.patch | 14 ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp | 1 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 2 ports/hotspot/src/share/vm/shark/sharkConstant.cpp | 2 visualvm.desktop | 9 diffs (truncated from 5542 to 500 lines): diff -r 946a062e9027 -r 09bbaad21267 ChangeLog --- a/ChangeLog Tue Jun 22 16:55:55 2010 +0100 +++ b/ChangeLog Wed Jul 07 22:35:59 2010 +0100 @@ -1,3 +1,352 @@ 2010-06-22 Andrew John Hughes + + * patches/openjdk/6961732.patch: + Dropped, applied upstream. + * Makefile.am: Remove above patch. + +2010-07-06 Andrew John Hughes + + * Makefile.am: + (PULSE_JAVA_BUILDDIR): Use a different name from + the source directory to avoid confusion. + (clean-local): jni-common.o is not in the top-level + directory. + (icedtea): Locate pulse-java.jar in build directory + not top-level directory. + (icedtea-debug): Likewise. + (pulse-java-jar): Likewise. + (clean-pulse-java): Likewise. Given clean-pulse-java + only exists when PULSE_JAVA_NATIVE_BUILDDIR and + PULSE_JAVA_CLASS_DIR are set, there is no need to test + them. + +2010-07-05 Andrew John Hughes + + Revert rt.jar only for ecj tree. Don't do + so (or build rt-class-files) for builds with + OpenJDK. Make variable naming clearer. + * Makefile.am: + (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. + (RUNTIME): Renamed from ICEDTEA_RT. + (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. + (ECJ_BOOT_DIR): Shortcut for bootstrap/ecj. + (ICEDTEA_BOOT_DIR): Shortcut for bootstrap/icedtea. + (rt-class-files): Only build replacement runtime classes + when LACKS_SUN_AWT_TOOLKIT is set. + (clean-rt): Only replace rt.jar when LACKS_SUN_AWT_TOOLKIT + and overwrite in $(ECJ_BOOT_DIR) not $(BOOT_DIR). + +2010-07-05 Andrew John Hughes + + * Makefile.am: + (clean-local): Don't remove the stamps directory here. + (distclean-local): Remove it here. + +2010-07-04 Andrew John Hughes + + * Makefile.am: + (clean-local): Add missing dependencies. + Use rmdir to remove bootstrap and lib to make + sure they are empty. Use rmdir to remove the + empty stamps directory. + (clean-extract-openjdk): Depend on clean-patch-fsg. + (clean-patch-fsg): Depend on clean-patch. + (clean-extract-ecj): Depend on clean-patch-ecj. + (rewriter): Give the build directory a different + name to the source directory (rewriter.build). + (clean-rewriter): New target to remove rewriter. + (rewrite-rhino): Fix build directory path. + (clean-rewrite-rhino): Inverse of rewrite-rhino. + (rt): Only replace rt.jar if the bootstrap tree + still exists. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (generated): Make sure generated.stamp is + created. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (download-openjdk): Create download-openjdk.stamp, + not download.stamp. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (distclean-local): Delete empty tapset + directory if srcdir != builddir. + +2010-07-01 Andrew John Hughes + + Don't delete alternate source zips. Only + zips downloaded by the build should be deleted. + * Makefile.am: + (HOTSPOT_SRC_ZIP): Set as a constant value + rather than setting to ALT_HOTSPOT_SRC_ZIP + when available. + (OPENJDK_SRC_ZIP): Likewise, though the value + is still empty when using hg. + (download-openjdk): Symlink the alternate + OpenJDK and HotSpot source zips to the + alternate versions. + (clean-download-openjdk): Remvoe + HOTSPOT_SRC_ZIP as well. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (distclean-local): Added. Removes downloads + in addition to other cleaning targets. + (.PHONY): Updated. + (download-openjdk): Separate OpenJDK download + into separate target. + (clean-download-openjdk): Inversion of download-openjdk. + (download): Metatarget for all downloads. + (clean-download): Metatarget for all download cleaning. + (clean-cacao): Remove extraction stamp. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (clean-IcedTeaPlugin): Check directory exists before + using rmdir. + (clean-pulse-java): Likewise. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (clean-local): Add clean-extract (in place + of clean-cacao, a dependent), clean-extract-ecj, + clean-generated and clean-replace-hotspot. + Don't delete openjdk and openjdk-ecj here, now + done in dependents. + (extract): Depend on extract-cacao.stamp. + (clean-extract): Depend on clean-extract-openjdk + and clean-cacao. + (clean-extract-openjdk): Remove openjdk directory and stamp. + (extract-openjdk): Just extract OpenJDK, don't + extract cacao and create generated. + (replace-hotspot): Make sure stamps exists. + (clean-replace-hotspot): No need for recursive delete. + (generated): Copy generated directory from srcdir if needed. + (clean-generated): Remove generated directory if necessary. + (patch-fsg): Depend on generated rather than ports so it is included. + (clean-icedtea-ecj): Remove bogus dependency. + +2010-06-30 Omair Majid + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + nativeDirectories: New variable. Contains a list of directories that + contain native libraries. + (getInstance): Tell other classloaders about the native directory. + (getNativeDir): Add the new native directory to nativeDirectories. + (addNativeDirectory): New function. + (getNativeDirectories): New function. + (findLibrary): Look in all the native directories for the native library. + +2010-06-30 Omair Majid + + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + (startListeningServer): Mark the thread as a daemon so the JVM can + shutdown if there are no other non-daemon thread running. + +2010-06-30 Omair Majid + + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + (urlToPath): Call FileUtils.sanitizePath. + (fixPath): Moved to... + * netx/net/sourceforge/jnlp/util/FileUtils.java + (sanitizePath): New function. Moved from CacheUtil.java + (sanitizeFileName): Use a blacklisting approach rather than a whitelisting + approach: should work better with non ascii filenames. + +2010-06-30 Andrew John Hughes + + PR icedtea/93 + * Makefile.am: Fix cleanup process. + (clean-local): Renamed from distclean-local. + Add additional dependent clean targets. + Don't remove build directories and stamps; + should be done by dependents. + (.PHONY): Updated. + (clean-ports): Inverse of ports.stamp. + (clean-overlay): Inverse of overlay.stamp. + (clean-native-ecj): Inverse of native-ecj.stamp. + (clean-icedtea): Just delete the build directory and stamp. + (clean-icedtea-debug): Inverse of icedtea-debug.stamp. + (clean-icedtea-against-icedtea): Inverse of icedtea-against-icedtea.stamp + (clean-icedtea-debug-against-icedtea): Inverse of icedtea-debug-against-icedtea.stamp + (clean-icedtea-ecj): Just delete the build directory and stamp. + (clean-icedtea-against-ecj): Inverse of icedtea-against-ecj.stamp. + (clean-IcedTeaPlugin): Delete empty build directories if srcdir != builddir. + (clean-pulse-java): Likewise. + (clean-add-cacao): Inverse of add-cacao.stamp. + (clean-add-cacao-debug): Inverse of add-cacao-debug.stamp. + (clean-add-zero): Inverse of add-zero.stamp. + (clean-add-zero-debug): Inverse of add-zero-debug.stamp. + (clean): Removed; already provided by autoconf to point to clean-local. + +2010-06-29 Andrew John Hughes + + * Makefile.am: Add new patch. + * patches/no-sync.patch: Don't pass --sync + to df; the file space check does not need + to be so accurate that we have to flush all + buffers to disc. + +2010-06-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_DEBUG_BUILD_TARGET): Don't add + debug suffix, OpenJDK makefile already does this. + * patches/debug-dir.patch: Fix OpenJDK + Makefile to just add the debug suffix and + not move it to ../$(OS)-$(ARCH)-debug. + +2010-06-25 Andrew John Hughes + + Remove VisualVM support, now maintained at + http://icedtea.classpath.org/hg/visualvm + * Makefile.am: + Remove VisualVM targets, references and aliases. + (NETBEANS_PROFILER_URL): Removed. + (NETBEANS_PROFILER_SRC_ZIP): Likewise. + (NETBEANS_PROFILER_MD5SUM): Likewise. + (VISUALVM_URL): Likewise. + (VISUALVM_SRC_ZIP): Likewise. + (VISUALVM_MD5SUM): Likewise. + (EXTRA_DIST): Remove visualvm.desktop. + (distclean-local): Remove visualvm and netbeans deletion. + (.PHONY): Remove clean-visualvm and clean-nbplatform targets. + (download): Don't download VisualVM. + (clean-download): Don't remove the VisualVM and NetBeans zips. + (extract): Don't extract VisualVM and NetBeans. + (icedtea): Don't depend on visualvm.stamp and remove post-install + measures. + (icedtea-debug): Likewise. + (nbplatform): Removed. + (visualvm): Removed. + * acinclude.m4: + Remove VisualVM-related macros. + (FIND_NETBEANS): Removed. + * configure.ac: + Remove --with-netbeans-home and + --enable-visualvm options. Don't invoke + VisualVM macros. + * visualvm.desktop: Removed. + +2010-06-25 Matthias Klose + + Fix shark build failures, update for latest HotSpot taken from + http://icedtea.classpath.org/hg/shark/hotspot/rev/3236ce90f188 + * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: Update. + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp: Update. + * ports/hotspot/src/share/vm/shark/sharkConstant.cpp: Update. + +2010-06-24 Andrew John Hughes + + * Makefile.am: + Add new patch and update: + (CACAO_VERSION): Bump to changeset which + increases optimisation to -O2 not -O0. + (CACAO_SHA256SUM): Updated for above. + * patches/cacao/version-parsing.patch: + Fix parsing of the minor version due to + the update from 1.1.0pre to 1.1.0pre1 in + the new changeset. + +2010-06-24 Andrew John Hughes + + * patches/cacao/6714758.patch: + Removed, 6714758 is not in OpenJDK6. + * patches/cacao/package-version.diff: + Removed; we shouldn't be altering the CACAO + version and it builds without this fix. + * patches/cacao/version.patch: + Dropped; only needed for 7. + * patches/icedtea-cacao-ignore-jdi-tests.patch: + Moved to... + * Makefile.am: + Drop unneeded patches. Remove non-existent nio2 + reference. Fix path to ignore-jdi-tests.patch. + (CACAO_BASE_URL): Shorten to just the base. + (CACAO_SRC_ZIP): Use version from IcedTea7. + (download-cacao): Added from IcedTea7. + (clean-download-cacao): Likewise. + (download): Depend on download-cacao. + Remove CACAO downloading. + (clean-download): Depend on clean-download-cacao. + Remove CACAO cleaning. + * patches/cacao/ignore-jdi-tests.patch: ...here. + +2010-06-24 Matthias Klose + + * Makefile.am (stamps/add-cacao.stamp, stamps/add-cacao-debug.stamp): + Update libjsig.so installation location. + +2010-06-24 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. + * netx/net/sourceforge/jnlp/JNLPClassLoader.java + (activateJars): Always call activateNative. + (activateNative): Search for native code anywhere in the jar. + +2010-06-24 Andrew John Hughes + Matthias Klose + + * patches/cacao/no-strict-aliasing.patch: Remove, applied upstream. + * patches/icedtea-cacao-no-mmap-first-page.patch: Likewise. + * patches/icedtea-cacao.patch: Remove, replaced by ... + * patches/cacao/launcher.patch: New. + * patches/cacao/memory.patch: Increase the memory used in the langtools + build when using CACAO. + * patches/cacao/arm-arch-defines.patch: Update. + * patches/cacao/6714758.patch: Add JVM_FindClassFromBootLoader + introduced by 6714758 and modified in 6864003. + http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=137 + * patches/icedtea-cacao-ignore-tests.patch: Remove, replaced by ... + * patches/cacao/ignore-tests.patch: New. + * patches/cacao/jsig.patch: Update. + * patches/cacao/package-version.diff: Drop 'preX' from the cacao + package version. + * patches/cacao/version.patch: Update + * Makefile.am (ICEDTEA_PATCHES): Add/remove patches. + Use Mercurial snapshot of CACAO 1.1.0pre. + +2010-05-11 Andrew John Hughes + + Fix issues with the CACAO build so it at + least builds again (though it still fails to + bootstrap). + * Makefile.am: Add new patches. + * patches/cacao/6714758.patch: + Add JVM_FindClassFromBootLoader introduced by + 6714758 and modified in 6864003. + http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=137 + * patches/cacao/jsig.patch: + Place fake libjsig.so in correct location for HotSpot 17+. + +2010-06-22 Andrew John Hughes + + * Makefile.am: Add new patch. + * patches/openjdk/6961732.patch: + Backport of 6961732: FontMetrics.getLeading() + may be negative in freetype-based OpenJDK builds + +2010-06-22 Andrew John Hughes + + * Makefile.am: + (ports.stamp): Remove unneeded linking of + platform_zero (no longer exists). + +2010-06-22 Andrew John Hughes + + * Makefile.am: + Replace ICEDTEA_DEBUG_BUILD_DIR with + DEBUG_BUILD_OUTPUT_DIR. + 2010-06-22 Andrew John Hughes * Makefile.am: diff -r 946a062e9027 -r 09bbaad21267 Makefile.am --- a/Makefile.am Tue Jun 22 16:55:55 2010 +0100 +++ b/Makefile.am Wed Jul 07 22:35:59 2010 +0100 @@ -5,18 +5,11 @@ OPENJDK_VERSION = b20 OPENJDK_VERSION = b20 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ -CACAO_VERSION = 0.99.4 -CACAO_MD5SUM = c5e6525c5212ddbb6026e4a7cde37ca6 -CACAO_BASE_URL = http://www.complang.tuwien.ac.at -CACAO_URL = $(CACAO_BASE_URL)/cacaojvm/download/cacao-$(CACAO_VERSION)/ - -NETBEANS_PROFILER_MD5SUM = 40dd3183b345737ca22162d164c2d5a2 -NETBEANS_PROFILER_URL = https://visualvm.dev.java.net/files/documents/7163/149581/ -NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release68.tar.gz - -VISUALVM_MD5SUM = f1e2525ddcd5fdf97bcf891d715c08ff -VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/146746/ -VISUALVM_SRC_ZIP = visualvm_122-src.tar.gz +CACAO_VERSION = dd4532afd08a +CACAO_SHA256SUM = fc876403aeb46c6c16693cfc75ba0a2e581f7a98ddd02ac7f2bf4fc5c20765b4 +CACAO_BASE_URL = http://mips.complang.tuwien.ac.at +CACAO_URL = $(CACAO_BASE_URL)/hg/cacao/archive/$(CACAO_VERSION).tar.bz2 +CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 JAXWS_DROP_URL = https://jax-ws.dev.java.net/files/documents/4202/150724 JAXWS_DROP_ZIP = jdk6-jaxws-b20.zip @@ -30,6 +23,8 @@ JAXP_DROP_SHA256SUM = d097627d4059d488c5 OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk6/jdk6 +HOTSPOT_SRC_ZIP = hotspot.tar.gz + # Build directories BUILD_DIR = openjdk.build @@ -38,12 +33,11 @@ ECJ_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DI ECJ_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-ecj ICEDTEA_CLS_DIR = $(BUILD_OUTPUT_DIR)/classes ICEDTEA_CLS_DIR_ECJ = $(ECJ_BUILD_OUTPUT_DIR)/classes -ICEDTEA_BOOT_DIR= \ - $(abs_top_builddir)/bootstrap/jdk1.6.0 -ICEDTEA_RT = \ - $(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar -ICEDTEA_ENDORSED_DIR = \ - $(ICEDTEA_BOOT_DIR)/lib/endorsed +BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar +ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed +ECJ_BOOT_DIR = $(abs_top_builddir)/bootstrap/ecj +ICEDTEA_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) BUILD_DEBUG_JRE_ARCH_DIR = $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) @@ -99,8 +93,6 @@ ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/javax/management/StandardMBean.java \ $(NETX_BOOTSTRAP_CLASSES) -# FIXME (javac): Settings for javac go here - # Flags IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) @@ -113,27 +105,7 @@ if USE_HG if USE_HG OPENJDK_SRC_ZIP = else -if USE_ALT_OPENJDK_SRC_ZIP - OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) -else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz -endif -endif - -if USE_ALT_HOTSPOT_SRC_ZIP - HOTSPOT_SRC_ZIP = $(ALT_HOTSPOT_SRC_ZIP) -else - HOTSPOT_SRC_ZIP = hotspot.tar.gz -endif - -if USE_ALT_CACAO_SRC_ZIP - CACAO_SRC_ZIP = $(ALT_CACAO_SRC_ZIP) -else -if USE_ALT_CACAO_SRC_DIR - CACAO_SRC_ZIP = "not needed" -else - CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -endif endif # FIXME (HotSpot): HotSpot changeset logic goes here @@ -148,18 +120,12 @@ ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/Ice stamps/liveconnect-dist.stamp endif -if WITH_VISUALVM -NB_PLATFORM= $(shell ls /usr/share/netbeans | grep platform | tail -n1) -else -NB_PLATFORM= -endif - if ENABLE_PULSE_JAVA # include the makefile in pulseaudio subdir PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio +PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native PULSE_JAVA_NATIVE_OBJECTS = \ $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) @@ -178,12 +144,11 @@ else MEMORY_LIMIT = endif -ICEDTEA_DEBUG_BUILD_TARGET=ALT_OUTPUTDIR="$(ICEDTEA_DEBUG_BUILD_DIR)" if WITH_CACAO - ICEDTEA_BUILD_TARGET=j2se_only - ICEDTEA_DEBUG_BUILD_TARGET += j2se_fastdebug_only + ICEDTEA_BUILD_TARGET=jdk_only + ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only else - ICEDTEA_DEBUG_BUILD_TARGET += debug_build + ICEDTEA_DEBUG_BUILD_TARGET = debug_build endif # FIXME (bootstrap): Assumption is WITH_OPENJDK == no bootstrap @@ -195,7 +160,7 @@ else else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp SYSTEM_JDK_DIR = $(SYSTEM_GCJ_DIR) - ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea + ICEDTEA_HOME = $(ICEDTEA_BOOT_DIR) INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-ecj.stamp endif @@ -311,7 +276,9 @@ ICEDTEA_PATCHES = \ patches/extensions/netx-umask.patch \ patches/icedtea-jtreg-httpTest.patch \ patches/arm.patch \ - patches/shark-debug-option.patch + patches/shark-debug-option.patch \ + patches/debug-dir.patch \ + patches/no-sync.patch From bugzilla-daemon at icedtea.classpath.org Thu Jul 8 04:12:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Jul 2010 11:12:38 +0000 Subject: [Bug 455] stack on java's web page Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=455 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from asu at redhat.com 2010-07-08 11:12 ------- I am able to go to java's web page with no problems (on both the homepage and the java test page. No instructions given on how to reproduce, if this is still happening to you with the latest version, feel free to reopen this bug. Closing as works for me. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 8 04:27:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Jul 2010 11:27:52 +0000 Subject: [Bug 498] Shark sigsegv in new exception handler code regression Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=498 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #386 is|0 |1 obsolete| | ------- Comment #2 from xerxes at zafena.se 2010-07-08 11:27 ------- Created an attachment (id=388) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=388&action=view) Tested fix By using the Tested fix (with a small corrected typo, missing () after builder ) made the testcase pass on ia32 and ARM. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 8 06:27:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Jul 2010 13:27:38 +0000 Subject: [Bug 394] pre Epoch bug : java.lang.ExceptionInInitializerError on systems with time set before January 1, 1970 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 ------- Comment #19 from jon.vanalten at redhat.com 2010-07-08 13:27 ------- It turns out that these methods which contain the (currentTimeMillis > 0) checks are probably some rather old legacy code which has over time become obsoleted. There is now sun bug #6967533 filed for removing them completely. See the thread including http://mail.openjdk.java.net/pipermail/core-libs-dev/2010-July/004558.html for discussion. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Thu Jul 8 06:59:29 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 08 Jul 2010 09:59:29 -0400 Subject: [RFC] netx: only create one instance of JNLPClassLoader for entire application Message-ID: <4C35D9C1.20608@redhat.com> Hi, The attached patch modifies the JNLPClassLoader so only one instance of the loader is created per application. This patch also makes the classloader keep track of each JNLP file and the resources it loads. For applets, it only keeps track of the main applet JNLP (the PluginBridge) and uses that. Any comments? Cheers, Omair -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-jnlp-single-classloader-updated.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100708/2f189f94/icedtea6-jnlp-single-classloader-updated.patch From bugzilla-daemon at icedtea.classpath.org Thu Jul 8 07:06:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Jul 2010 14:06:26 +0000 Subject: [Bug 380] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=380 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #3 from asu at redhat.com 2010-07-08 14:06 ------- Closing as invalid because of lack of info on how to reproduce and it is also a old version of icedtea. -Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 8 07:55:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Jul 2010 14:55:12 +0000 Subject: [Bug 410] Applet resource loading fails Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=410 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from asu at redhat.com 2010-07-08 14:55 ------- I am getting the same result as Jon, but with icedtea6-1.8. Closing as worksforme, as no additional input from reporter about their test with a card reader. Feel free to reopen this if you are experiencing this issue with the latest version of openjdk -Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Thu Jul 8 07:56:47 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 08 Jul 2010 14:56:47 +0000 Subject: /hg/gfx-test: Changed Makefile so it properly creates ./build an... Message-ID: changeset 748e145c2613 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=748e145c2613 author: Pavel Tisnovsky date: Thu Jul 08 16:54:51 2010 +0200 Changed Makefile so it properly creates ./build and ./output directories during build. diffstat: 1 file changed, 9 insertions(+), 3 deletions(-) Makefile | 12 +++++++++--- diffs (40 lines): diff -r 73045f8d6b30 -r 748e145c2613 Makefile --- a/Makefile Thu Jul 08 12:35:51 2010 +0000 +++ b/Makefile Thu Jul 08 16:54:51 2010 +0200 @@ -33,11 +33,19 @@ TESTSUITES = $(shell ls -1 src/org/gfxte all: build runtests compareresults -build: gfxtest.jar +build: $(CLASSES)/stamp $(OUTPUT)/stamp gfxtest.jar test_framework: $(FRAMEWORK_CLASSES) test_suites: $(TESTSUITE_CLASSES) + +$(CLASSES)/stamp: + mkdir -p $(CLASSES) + touch $(CLASSES)/stamp + +$(OUTPUT)/stamp: + mkdir -p $(OUTPUT) + touch $(OUTPUT)/stamp $(CLASSES)/$(FRAMEWORK_DIR)/%.class: $(SOURCEPATH)/$(FRAMEWORK_DIR)/%.java $(JAVAC) -d $(CLASSES) -sourcepath src/ $< @@ -52,7 +60,6 @@ runtests: gfxtest.jar $(TESTSUITES) # multiple targets - one for each test suite $(TESTSUITES): gfxtest.jar - mkdir -p $(OUTPUT) $(JAVA) -cp gfxtest.jar $(TEST_PACKAGE).$@ $(RUN_OPTIONS) compareresults: @@ -65,7 +72,6 @@ clean: clean: rm -rf $(CLASSES) rm -f gfxtest.jar - mkdir -p $(CLASSES) clean-results: rm -rf $(OUTPUT) From andrew at icedtea.classpath.org Thu Jul 8 09:26:11 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 08 Jul 2010 16:26:11 +0000 Subject: /hg/icedtea6: Don't depend on clean-patch targets for cleaning o... Message-ID: changeset 8432ceda94a2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8432ceda94a2 author: Andrew John Hughes date: Thu Jul 08 17:25:57 2010 +0100 Don't depend on clean-patch targets for cleaning openjdk/openjdk- ecj, just delete the stamps. 2010-07-08 Andrew John Hughes * Makefile.am: (clean-extract-ecj): Don't depend on clean-patch-ecj, just delete the stamp. (clean- extract-openjdk): Likewise for clean-patch and clean-patch- fsg. diffstat: 2 files changed, 14 insertions(+), 3 deletions(-) ChangeLog | 8 ++++++++ Makefile.am | 9 ++++++--- diffs (44 lines): diff -r aecac87c5af7 -r 8432ceda94a2 ChangeLog --- a/ChangeLog Tue Jul 06 18:46:18 2010 +0100 +++ b/ChangeLog Thu Jul 08 17:25:57 2010 +0100 @@ -1,3 +1,11 @@ 2010-07-06 Andrew John Hughes + + * Makefile.am: + (clean-extract-ecj): Don't depend on clean-patch-ecj, + just delete the stamp. + (clean-extract-openjdk): Likewise for clean-patch and + clean-patch-fsg. + 2010-07-06 Andrew John Hughes * Makefile.am: diff -r aecac87c5af7 -r 8432ceda94a2 Makefile.am --- a/Makefile.am Tue Jul 06 18:46:18 2010 +0100 +++ b/Makefile.am Thu Jul 08 17:25:57 2010 +0100 @@ -788,9 +788,11 @@ endif mkdir -p stamps touch stamps/extract-openjdk.stamp -clean-extract-openjdk: clean-patch-fsg +clean-extract-openjdk: rm -rf openjdk rm -f stamps/extract-openjdk.stamp + rm -f stamps/patch-fsg.stamp + rm -f stamps/patch.stamp stamps/extract-cacao.stamp: if BUILD_CACAO @@ -1030,9 +1032,10 @@ stamps/extract-ecj.stamp: $(OPENJDK_TREE touch stamps/extract-ecj.stamp # FIXME (missing): Rename to clean-clone-ecj. -clean-extract-ecj: clean-patch-ecj +clean-extract-ecj: + rm -rf openjdk-ecj rm -f stamps/extract-ecj.stamp - rm -rf openjdk-ecj + rm -f stamps/patch-ecj.stamp # Patch OpenJDK for ecj. From dbhole at redhat.com Thu Jul 8 10:50:15 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 13:50:15 -0400 Subject: [RFC] plugin: bug 460 In-Reply-To: <4C34B402.5000109@redhat.com> References: <4C34B402.5000109@redhat.com> Message-ID: <20100708175015.GB6677@redhat.com> * Omair Majid [2010-07-07 13:06]: > Hi, > > The attached patch adds the missing class > netscape.security.ForbiddenTargetException, which is all that is > required for certain applets to work. It fixes bug 460 [1]. > Ok to commit? > > Cheers, > Omair > Looks good. Please commit. > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=460 > diff -r 7649271c60ab plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Wed Jul 07 13:00:27 2010 -0400 > @@ -0,0 +1,52 @@ > +/* ForbiddenTargetException.java > + Copyright (C) 2010 Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. An independent module is a module which is not derived from > +or based on this library. If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. */ > + > +package netscape.security; > + > +public class ForbiddenTargetException extends RuntimeException{ > + > + private static final long serialVersionUID = 1271219852541058396L; > + > + public ForbiddenTargetException() { > + super(); > + } > + > + public ForbiddenTargetException(String s) { > + super(s); > + } > + > +} From dbhole at redhat.com Thu Jul 8 10:52:55 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 13:52:55 -0400 Subject: [RFC] plugin: fix getApplets() In-Reply-To: <4C2DEB45.9020801@redhat.com> References: <4C2DEB45.9020801@redhat.com> Message-ID: <20100708175255.GC6677@redhat.com> * Omair Majid [2010-07-02 09:37]: > Hi, > > The attached patch fixes AppletContext.getApplets() in the plugin. > > The problem was that when the constructor PluginAppletViewer was > called, panel was null. This null panel was then added to the list > of all panels. Future calls to getApplets() will get to this null > panel and throw a NullPointerException. The patch sets panel to the > actual AppletPanel before adding it to the list of all panels. > > This fixes a bug with applets on sbm.no not working. Please see [1] > for the reproducer and user feedback on the patch. Ok to commit? > > Cheers, > Omair > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=506730 Looks good! Please go ahead and commit. > diff -r 7649271c60ab plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jul 01 15:38:57 2010 -0400 > @@ -393,8 +393,7 @@ > if (oldFrame != null && handle == oldFrame.handle) > return; > > - PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor); > - newFrame.panel = panel; > + PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor, panel); > > if (oldFrame != null) { > applets.remove(oldFrame.identifier); > @@ -425,13 +424,14 @@ > */ > private PluginAppletViewer(long handle, final int identifier, > PrintStream statusMsgStream, double heightFactor, > - double widthFactor) { > + double widthFactor, AppletViewerPanel appletPanel) { > > super(handle, true); > this.statusMsgStream = statusMsgStream; > this.identifier = identifier; > this.proposedHeightFactor = heightFactor; > this.proposedWidthFactor = widthFactor; > + this.panel = appletPanel; > > if (!appletPanels.contains(panel)) > appletPanels.addElement(panel); From dbhole at redhat.com Thu Jul 8 10:56:35 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 13:56:35 -0400 Subject: [RFC] netx: only create one instance of JNLPClassLoader for entire application In-Reply-To: <4C35D9C1.20608@redhat.com> References: <4C35D9C1.20608@redhat.com> Message-ID: <20100708175634.GD6677@redhat.com> * Omair Majid [2010-07-08 09:59]: > Hi, > > The attached patch modifies the JNLPClassLoader so only one instance > of the loader is created per application. This patch also makes the > classloader keep track of each JNLP file and the resources it loads. > For applets, it only keeps track of the main applet JNLP (the > PluginBridge) and uses that. > > Any comments? > > Cheers, > Omair We already use a single classloader (by merging extension loader paths into the base loader)... What bug required this change? Deepak > diff -r 7649271c60ab netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Mon Jul 05 15:27:26 2010 -0400 > @@ -287,7 +287,7 @@ > } > > /** > - * Returns the location of the parent file if it exists, null otherwise > + * Returns the unique key associated with this jnlp file > */ > public String getUniqueKey() { > return uniqueKey; > diff -r 7649271c60ab netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jul 05 15:27:26 2010 -0400 > @@ -32,7 +32,6 @@ > import java.security.Permissions; > import java.security.PrivilegedAction; > import java.util.ArrayList; > -import java.util.Collections; > import java.util.Enumeration; > import java.util.HashMap; > import java.util.LinkedList; > @@ -78,27 +77,24 @@ > /** shortcut for resources */ > private static String R(String key) { return JNLPRuntime.getMessage(key); } > > - /** map from JNLPFile url to shared classloader */ > - private static Map urlToLoader = new HashMap(); // never garbage collected! > + /** > + * map from a unique key (per application) to the classloader for that application > + * Note: never garbage collected > + */ > + private static Map keyToLoader = new HashMap(); > > /** the directory for native code */ > private File nativeDir = null; // if set, some native code exists > > - /** a list of directories that contain native libraries */ > - private List nativeDirectories = Collections.synchronizedList(new LinkedList()); > - > /** security context */ > private AccessControlContext acc = AccessController.getContext(); > > /** the permissions for the cached jar files */ > - private List resourcePermissions; > + private List resourcePermissions; > > /** the app */ > private ApplicationInstance app = null; // here for faster lookup in security manager > > - /** list of this, local and global loaders this loader uses */ > - private JNLPClassLoader loaders[] = null; // ..[0]==this > - > /** whether to strictly adhere to the spec or not */ > private boolean strict = true; > > @@ -106,28 +102,25 @@ > private ResourceTracker tracker = new ResourceTracker(true); // prefetch > > /** the update policy for resources */ > - private UpdatePolicy updatePolicy; > + private Map policy= new HashMap(); > > /** the JNLP file */ > - private JNLPFile file; > + private JNLPFile mainJnlp; > > - /** the resources section */ > - private ResourcesDesc resources; > + /** extension JNLP files loaded by the main jnlp file */ > + private List extensionJnlps = new ArrayList(); > + > + /** maps resource urls to the jnlp fiel that declares the resource */ > + private Map urlToJnlp = new HashMap(); > > /** the security section */ > - private SecurityDesc security; > + private Map security = new HashMap(); > > /** Permissions granted by the user during runtime. */ > private ArrayList runtimePermissions = new ArrayList(); > > /** all jars not yet part of classloader or active */ > - private List available = new ArrayList(); > - > - /** all of the jar files that were verified */ > - private ArrayList verifiedJars = null; > - > - /** all of the jar files that were not verified */ > - private ArrayList unverifiedJars = null; > + private List available = new ArrayList(); > > /** the jarsigner tool to verify our jars */ > private JarSigner js = null; > @@ -138,7 +131,7 @@ > private ArrayList jarIndexes = new ArrayList(); > > /** File entries in the jar files available to this classloader */ > - private TreeSet jarEntries = new TreeSet(); > + private TreeSet jarEntries = new TreeSet(); > > /** > * Create a new JNLPClassLoader from the specified file. > @@ -151,32 +144,36 @@ > if (JNLPRuntime.isDebug()) > System.out.println("New classloader: "+file.getFileLocation()); > > - this.file = file; > - this.updatePolicy = policy; > - this.resources = file.getResources(); > - > - // initialize extensions > - initializeExtensions(); > - > - // initialize permissions > - initializePermissions(); > - > - initializeResources(); > - > - setSecurity(); > + loadJNLPFile(file, policy, false); > > } > > - private void setSecurity() { > + private void loadJNLPFile(JNLPFile file, UpdatePolicy policy, boolean isExtension) throws LaunchException { > + > + if (isExtension) { > + this.extensionJnlps.add(file); > + } else { > + this.mainJnlp = file; > + } > + this.policy.put(file, policy); > + > + initializeExtensions(file); > + initializePermissions(file); > + initializeResources(file); > + > + setSecurity(file); > + } > + > + private void setSecurity(JNLPFile file) { > > URL codebase = null; > > - if (file.getCodeBase() != null) { > - codebase = file.getCodeBase(); > + if (mainJnlp.getCodeBase() != null) { > + codebase = mainJnlp.getCodeBase(); > } else { > //Fixme: codebase should be the codebase of the Main Jar not > //the location. Although, it still works in the current state. > - codebase = file.getResources().getMainJAR().getLocation(); > + codebase = mainJnlp.getResources().getMainJAR().getLocation(); > } > > /** > @@ -184,15 +181,15 @@ > * null since there is no jnlp file to specify permissions. We > * determine security settings here, after trying to verify jars. > */ > - if (file instanceof PluginBridge) { > + if (mainJnlp instanceof PluginBridge) { > if (signing == true) { > - this.security = new SecurityDesc(file, > + this.security.put(mainJnlp, new SecurityDesc(mainJnlp, > SecurityDesc.ALL_PERMISSIONS, > - codebase.getHost()); > + codebase.getHost())); > } else { > - this.security = new SecurityDesc(file, > + this.security.put(mainJnlp, new SecurityDesc(mainJnlp, > SecurityDesc.SANDBOX_PERMISSIONS, > - codebase.getHost()); > + codebase.getHost())); > } > } else { //regular jnlp file > > @@ -205,92 +202,50 @@ > * use a sandbox instead. > */ > if (signing == true) { > - this.security = file.getSecurity(); > + this.security.put(file, file.getSecurity()); > } else { > - this.security = new SecurityDesc(file, > + this.security.put(file, new SecurityDesc(mainJnlp, > SecurityDesc.SANDBOX_PERMISSIONS, > - codebase.getHost()); > + codebase.getHost())); > } > } > } > - > + > /** > * Returns a JNLP classloader for the specified JNLP file. > * > * @param file the file to load classes for > * @param policy the update policy to use when downloading resources > */ > - public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy) throws LaunchException { > + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy) > + throws LaunchException { > JNLPClassLoader baseLoader = null; > JNLPClassLoader loader = null; > String uniqueKey = file.getUniqueKey(); > > if (uniqueKey != null) > - baseLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); > + baseLoader = (JNLPClassLoader) keyToLoader.get(uniqueKey); > > - try { > - > - // If base loader is null, or the baseloader's file and this > - // file is different, initialize a new loader > - if (baseLoader == null || > - !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation())) { > + try { > > - loader = new JNLPClassLoader(file, policy); > + // If base loader is null, or the baseloader's file and this > + // file is different, initialize a new loader > + if (baseLoader == null > + || !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation())) { > > - // New loader init may have caused extentions to create a > - // loader for this unique key. Check. > - JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); > + loader = new JNLPClassLoader(file, policy); > + } else { > + // if key is same and locations match, this is the loader we want > + loader = baseLoader; > + } > > - if (extLoader != null && extLoader != loader) { > - for (URL u : loader.getURLs()) > - extLoader.addURL(u); > - for (File nativeDirectory: loader.getNativeDirectories()) > - extLoader.addNativeDirectory(nativeDirectory); > + } catch (LaunchException e) { > + throw e; > + } > > - loader = extLoader; > - } > - > - // loader is now current + ext. But we also need to think of > - // the baseLoader > - if (baseLoader != null && baseLoader != loader) { > - for (URL u : loader.getURLs()) > - baseLoader.addURL(u); > - for (File nativeDirectory: loader.getNativeDirectories()) > - baseLoader.addNativeDirectory(nativeDirectory); > - > - loader = baseLoader; > - } > - > - } else { > - // if key is same and locations match, this is the loader we want > - loader = baseLoader; > - } > - > - } catch (LaunchException e) { > - throw e; > - } > - > - // loaders are mapped to a unique key. Only extensions and parent > + // loaders are mapped to a unique key. Only extensions and parent > // share a key, so it is safe to always share based on it > - urlToLoader.put(uniqueKey, loader); > - > - return loader; > - } > - > - /** > - * Returns a JNLP classloader for the JNLP file at the specified > - * location. > - * > - * @param location the file's location > - * @param version the file's version > - * @param policy the update policy to use when downloading resources > - */ > - public static JNLPClassLoader getInstance(URL location, String uniqueKey, Version version, UpdatePolicy policy) > - throws IOException, ParseException, LaunchException { > - JNLPClassLoader loader = (JNLPClassLoader) urlToLoader.get(uniqueKey); > - > - if (loader == null || !location.equals(loader.getJNLPFile().getFileLocation())) > - loader = getInstance(new JNLPFile(location, uniqueKey, version, false, policy), policy); > + keyToLoader.put(uniqueKey, loader); > > return loader; > } > @@ -298,36 +253,30 @@ > /** > * Load the extensions specified in the JNLP file. > */ > - void initializeExtensions() { > - ExtensionDesc[] ext = resources.getExtensions(); > + void initializeExtensions(JNLPFile originalFile) { > > - List loaderList = new ArrayList(); > + ExtensionDesc[] ext = originalFile.getResources().getExtensions(); > + for (int i = 0; i < ext.length; i++) { > + try { > + UpdatePolicy currentUpdatePolicy = policy.get(originalFile); > + String uniqueKey = this.getJNLPFile().getUniqueKey(); > + JNLPFile extensionJnlp = new JNLPFile(ext[i].getLocation(), uniqueKey, ext[i] > + .getVersion(), false, currentUpdatePolicy); > + loadJNLPFile(extensionJnlp, currentUpdatePolicy, true); > + } catch (Exception ex) { > + ex.printStackTrace(); > + } > + } > > - loaderList.add(this); > - > - //if (ext != null) { > - for (int i=0; i < ext.length; i++) { > - try { > - String uniqueKey = this.getJNLPFile().getUniqueKey(); > - JNLPClassLoader loader = getInstance(ext[i].getLocation(), uniqueKey, ext[i].getVersion(), updatePolicy); > - loaderList.add(loader); > - } > - catch (Exception ex) { > - ex.printStackTrace(); > - } > - } > - //} > - > - loaders = (JNLPClassLoader[]) loaderList.toArray(new JNLPClassLoader[ loaderList.size()]); > } > > /** > * Make permission objects for the classpath. > */ > - void initializePermissions() { > - resourcePermissions = new ArrayList(); > + void initializePermissions(JNLPFile file) { > + resourcePermissions = new ArrayList(); > > - JARDesc jars[] = resources.getJARs(); > + JARDesc jars[] = file.getResources().getJARs(); > for (int i=0; i < jars.length; i++) { > Permission p = CacheUtil.getReadPermission(jars[i].getLocation(), > jars[i].getVersion()); > @@ -347,8 +296,8 @@ > * Load all of the JARs used in this JNLP file into the > * ResourceTracker for downloading. > */ > - void initializeResources() throws LaunchException { > - JARDesc jars[] = resources.getJARs(); > + void initializeResources(JNLPFile file) throws LaunchException { > + JARDesc jars[] = file.getResources().getJARs(); > if (jars == null || jars.length == 0) > return; > /* > @@ -357,12 +306,12 @@ > R("LCInit"), R("LFatalVerification"), "No jars!"); > } > */ > - List initialJars = new ArrayList(); > + List initialJars = new ArrayList(); > > for (int i=0; i < jars.length; i++) { > > + addUrlToJnlpFileMapping(jars[i].getLocation().toString(), file); > available.add(jars[i]); > - > if (jars[i].isEager()) > initialJars.add(jars[i]); // regardless of part > > @@ -397,7 +346,7 @@ > > //user does not trust this publisher > if (!js.getAlreadyTrustPublisher()) { > - checkTrustWithUser(js); > + checkTrustWithUser(js, file); > } else { > /** > * If the user trusts this publisher (i.e. the publisher's certificate > @@ -415,7 +364,7 @@ > activateJars(initialJars); > } > > - private void checkTrustWithUser(JarSigner js) throws LaunchException { > + private void checkTrustWithUser(JarSigner js, JNLPFile file) throws LaunchException { > if (!js.getRootInCacerts()) { //root cert is not in cacerts > boolean b = SecurityWarningDialog.showCertWarningDialog( > SecurityWarningDialog.AccessType.UNVERIFIED, file, js); > @@ -443,7 +392,7 @@ > * loaded from the codebase are not cached. > */ > public void enableCodeBase() { > - addURL( file.getCodeBase() ); // nothing happens if called more that once? > + addURL( mainJnlp.getCodeBase() ); // nothing happens if called more that once? > } > > /** > @@ -472,7 +421,7 @@ > * Returns the JNLP file the classloader was created from. > */ > public JNLPFile getJNLPFile() { > - return file; > + return mainJnlp; > } > > /** > @@ -485,20 +434,26 @@ > // access w/o security dialog once we actually check certificates. > > // copy security permissions from SecurityDesc element > - if (security != null) { > + if (security.size() != 0) { > // Security desc. is used only to track security settings for the > // application. However, an application may comprise of multiple > // jars, and as such, security must be evaluated on a per jar basis. > - > + > + JNLPFile file = getJnlpFileForUrl(cs.getLocation().toString()); > + > + if (JNLPRuntime.isDebug()) { > + System.out.println("Reading security settings for " + cs.getLocation().toString() + " using " + file.getSourceLocation()); > + } > + > // set default perms > - PermissionCollection permissions = security.getSandBoxPermissions(); > + PermissionCollection permissions = security.get(file).getSandBoxPermissions(); > > // If more than default is needed, evaluate based on codesource > - if (security.getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || > - security.getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) { > + if (security.get(file).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || > + security.get(file).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) { > > if (cs.getCodeSigners() != null) { > - permissions = security.getPermissions(); > + permissions = security.get(file).getPermissions(); > } > } > > @@ -509,7 +464,7 @@ > > // add in permission to read the cached JAR files > for (int i=0; i < resourcePermissions.size(); i++) > - result.add((Permission) resourcePermissions.get(i)); > + result.add(resourcePermissions.get(i)); > > // add in the permissions that the user granted. > for (int i=0; i < runtimePermissions.size(); i++) > @@ -527,12 +482,12 @@ > * to be loaded at the same time as the JARs specified (ie, are > * in the same part). > */ > - protected void fillInPartJars(List jars) { > + protected void fillInPartJars(List jars) { > for (int i=0; i < jars.size(); i++) { > - String part = ((JARDesc) jars.get(i)).getPart(); > + String part = jars.get(i).getPart(); > > for (int a=0; a < available.size(); a++) { > - JARDesc jar = (JARDesc) available.get(a); > + JARDesc jar = available.get(a); > > if (part != null && part.equals(jar.getPart())) > if (!jars.contains(jar)) > @@ -549,24 +504,25 @@ > * > * @param jars the list of jars to load > */ > - protected void activateJars(final List jars) { > - PrivilegedAction activate = new PrivilegedAction() { > + protected void activateJars(final List jars) { > + PrivilegedAction activate = new PrivilegedAction() { > > public Object run() { > // transfer the Jars > waitForJars(jars); > > for (int i=0; i < jars.size(); i++) { > - JARDesc jar = (JARDesc) jars.get(i); > + JARDesc jar = jars.get(i); > > available.remove(jar); > - > // add jar > File localFile = tracker.getCacheFile(jar.getLocation()); > try { > URL location = jar.getLocation(); // non-cacheable, use source location > if (localFile != null) { > location = localFile.toURL(); // cached file > + JNLPFile fileForJar = getJnlpFileForUrl(jar.getLocation().toString()); > + addUrlToJnlpFileMapping(location.toString(), fileForJar); > > // This is really not the best way.. but we need some way for > // PluginAppletViewer::getCachedImageRef() to check if the image > @@ -610,10 +566,12 @@ > signer.verifyJar(extractedJarLocation); > > if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + checkTrustWithUser(signer, fileForJar); > } > > try { > + addUrlToJnlpFileMapping(new URL("file://" + extractedJarLocation).toString(), > + getJnlpFileForUrl(jar.getLocation().toString())); > addURL(new URL("file://" + extractedJarLocation)); > } catch (MalformedURLException mfue) { > if (JNLPRuntime.isDebug()) > @@ -724,64 +682,25 @@ > > if (!nativeDir.mkdirs()) > return null; > - else { > - // add this new native directory to the search path > - addNativeDirectory(nativeDir); > + else > return nativeDir; > - } > - } > - > - /** > - * Adds the {@link File} to the search path of this {@link JNLPClassLoader} > - * when trying to find a native library > - */ > - protected void addNativeDirectory(File nativeDirectory) { > - nativeDirectories.add(nativeDirectory); > - } > - > - /** > - * Returns a list of all directories in the search path of the current classloader > - * when it tires to find a native library. > - * @return a list of directories in the search path for native libraries > - */ > - protected List getNativeDirectories() { > - return nativeDirectories; > } > > /** > * Return the absolute path to the native library. > */ > protected String findLibrary(String lib) { > + if (nativeDir == null) > + return null; > + > String syslib = System.mapLibraryName(lib); > > - for (File dir: getNativeDirectories()) { > - File target = new File(dir, syslib); > - if (target.exists()) > - return target.toString(); > + File target = new File(nativeDir, syslib); > + if (target.exists()) > + return target.toString(); > + else { > + return super.findLibrary(lib); > } > - > - String result = super.findLibrary(lib); > - if (result != null) > - return result; > - > - return findLibraryExt(lib); > - } > - > - /** > - * Try to find the library path from another peer classloader. > - */ > - protected String findLibraryExt(String lib) { > - for (int i=0; i < loaders.length; i++) { > - String result = null; > - > - if (loaders[i] != this) > - result = loaders[i].findLibrary(lib); > - > - if (result != null) > - return result; > - } > - > - return null; > } > > /** > @@ -790,16 +709,16 @@ > * > * @param jars the jars > */ > - private void waitForJars(List jars) { > + private void waitForJars(List jars) { > URL urls[] = new URL[jars.size()]; > > for (int i=0; i < jars.size(); i++) { > - JARDesc jar = (JARDesc) jars.get(i); > + JARDesc jar = jars.get(i); > > urls[i] = jar.getLocation(); > } > > - CacheUtil.waitForResources(app, tracker, urls, file.getTitle()); > + CacheUtil.waitForResources(app, tracker, urls, mainJnlp.getTitle()); > } > > /** > @@ -817,20 +736,8 @@ > /** > * Find the loaded class in this loader or any of its extension loaders. > */ > - protected Class findLoadedClassAll(String name) { > - for (int i=0; i < loaders.length; i++) { > - Class result = null; > - > - if (loaders[i] == this) > - result = super.findLoadedClass(name); > - else > - result = loaders[i].findLoadedClassAll(name); > - > - if (result != null) > - return result; > - } > - > - return null; > + protected Class findLoadedClassAll(String name) { > + return super.findLoadedClass(name); > } > > /** > @@ -838,9 +745,9 @@ > * classloader, or one of the classloaders for the JNLP file's > * extensions. > */ > - public Class loadClass(String name) throws ClassNotFoundException { > + public Class loadClass(String name) throws ClassNotFoundException { > > - Class result = findLoadedClassAll(name); > + Class result = findLoadedClassAll(name); > > // try parent classloader > if (result == null) { > @@ -874,7 +781,7 @@ > for (String jarName: jarList) { > JARDesc desc; > try { > - desc = new JARDesc(new URL(file.getCodeBase(), jarName), > + desc = new JARDesc(new URL(mainJnlp.getCodeBase(), jarName), > null, null, false, true, false, true); > } catch (MalformedURLException mfe) { > throw new ClassNotFoundException(name); > @@ -889,7 +796,7 @@ > > URL remoteURL; > try { > - remoteURL = new URL(file.getCodeBase() + jarName); > + remoteURL = new URL(mainJnlp.getCodeBase() + jarName); > } catch (MalformedURLException mfe) { > throw new ClassNotFoundException(name); > } > @@ -916,32 +823,13 @@ > return result; > } > > - /** > - * Find the class in this loader or any of its extension loaders. > - */ > - protected Class findClass(String name) throws ClassNotFoundException { > - for (int i=0; i < loaders.length; i++) { > - try { > - if (loaders[i] == this) > - return super.findClass(name); > - else > - return loaders[i].findClass(name); > - } > - catch(ClassNotFoundException ex) { } > - catch(ClassFormatError cfe) {} > - } > - > - throw new ClassNotFoundException(name); > - } > > /** > * Search for the class by incrementally adding resources to the > * classloader and its extension classloaders until the resource > * is found. > */ > - private Class loadClassExt(String name) throws ClassNotFoundException { > - // make recursive > - addAvailable(); > + private Class loadClassExt(String name) throws ClassNotFoundException { > > // find it > try { > @@ -970,33 +858,19 @@ > * class loaders. > */ > public URL getResource(String name) { > - URL result = super.getResource(name); > - > - for (int i=1; i < loaders.length; i++) > - if (result == null) > - result = loaders[i].getResource(name); > - > - return result; > + return super.getResource(name); > } > > /** > * Finds the resource in this, the parent, or the extension > * class loaders. > */ > - public Enumeration findResources(String name) throws IOException { > - Vector resources = new Vector(); > + public Enumeration findResources(String name) throws IOException { > + Vector resources = new Vector(); > > - for (int i=0; i < loaders.length; i++) { > - Enumeration e; > - > - if (loaders[i] == this) > - e = super.findResources(name); > - else > - e = loaders[i].findResources(name); > - > - while (e.hasMoreElements()) > - resources.add(e.nextElement()); > - } > + Enumeration e = super.findResources(name); > + while (e.hasMoreElements()) > + resources.add(e.nextElement()); > > return resources.elements(); > } > @@ -1012,19 +886,6 @@ > } > > /** > - * Adds whatever resources have already been downloaded in the > - * background. > - */ > - protected void addAvailable() { > - // go through available, check tracker for it and all of its > - // part brothers being available immediately, add them. > - > - for (int i=1; i < loaders.length; i++) { > - loaders[i].addAvailable(); > - } > - } > - > - /** > * Adds the next unused resource to the classloader. That > * resource and all those in the same part will be downloaded > * and added to the classloader before returning. If there are > @@ -1034,58 +895,46 @@ > */ > protected JNLPClassLoader addNextResource() { > if (available.size() == 0) { > - for (int i=1; i < loaders.length; i++) { > - JNLPClassLoader result = loaders[i].addNextResource(); > - > - if (result != null) > - return result; > - } > return null; > } > > // add jar > - List jars = new ArrayList(); > + List jars = new ArrayList(); > jars.add(available.get(0)); > > fillInPartJars(jars); > - > - > activateJars(jars); > > return this; > } > > - // this part compatibility with previous classloader > - /** > - * @deprecated > - */ > - public String getExtensionName() { > - String result = file.getInformation().getTitle(); > - > - if (result == null) > - result = file.getInformation().getDescription(); > - if (result == null && file.getFileLocation() != null) > - result = file.getFileLocation().toString(); > - if (result == null && file.getCodeBase() != null) > - result = file.getCodeBase().toString(); > - > - return result; > - } > - > - /** > - * @deprecated > - */ > - public String getExtensionHREF() { > - return file.getFileLocation().toString(); > - } > - > public boolean getSigning() { > return signing; > } > > - protected SecurityDesc getSecurity() { > + private Map getSecurity() { > return security; > } > + > + private void addUrlToJnlpFileMapping(String url, JNLPFile theFile) { > + if (JNLPRuntime.isDebug()) { > + System.out.println("Adding mapping: " + url + " -> " + theFile.toString()); > + } > + urlToJnlp.put(url, theFile); > + } > + > + private JNLPFile getJnlpFileForUrl(String url) { > + if (JNLPRuntime.isDebug()) { > + System.out.println("Getting mapping for : " + url); > + } > + > + if (mainJnlp.isApplet()) { > + return mainJnlp; > + } > + > + return urlToJnlp.get(url); > + } > + > } > > From dbhole at redhat.com Thu Jul 8 11:01:26 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 14:01:26 -0400 Subject: [RFC] netx: added encoding support for UTF-16 and UTF-32 In-Reply-To: <1496708829.360101278432354570.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <2135625148.359661278432197063.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <1496708829.360101278432354570.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <20100708180125.GE6677@redhat.com> * Man Wong [2010-07-06 12:06]: > Hi, > > This patch adds UTF-16 and UTF-32 encoding support for netx, allowing jnlp files saved under those encoding to launch in netx [1]. Previously, when a jnlp file with UTF-16 or UTF-32 encoding is passed in, netx will throw an exception even though the jnlp file was a valid file. It would be greatly appreciated if someone can look over the code, make sure it is ok and see if additional comments are needed to make the code easier to understand. > > Thanks, > Man Lung Wong > > [1] http://icedtea.classpath.org/~mwong/webstart/HelloWorld/Test.jnlp (a simple Hello World applet I created to test this patch) InputStreamReader has a getEncoding() method[1]. Can that not be used instead of defining our own? 1: http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/io/InputStreamReader.html#getEncoding%28%29 Deepak > diff -r 5c61be3119bb netx/net/sourceforge/jnlp/Parser.java > --- a/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:31:35 2010 +0100 > +++ b/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:41:10 2010 -0400 > @@ -1168,12 +1168,16 @@ > Node document = new Node(TinyParser.parseXML(input)); > Node jnlpNode = getChildNode(document, "jnlp"); // skip comments > */ > + > + //A BufferedInputStream is used to allow marking and reseting > + //of a stream. > + BufferedInputStream bs = new BufferedInputStream(input); > > /* NANO */ > final XMLElement xml = new XMLElement(); > final PipedInputStream pin = new PipedInputStream(); > - final PipedOutputStream pout = new PipedOutputStream(pin); > - final InputStreamReader isr = new InputStreamReader(input); > + final PipedOutputStream pout = new PipedOutputStream(pin); > + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); > // Clean the jnlp xml file of all comments before passing > // it to the parser. > new Thread( > @@ -1196,7 +1200,69 @@ > throw new ParseException(R("PBadXML"), ex); > } > } > + > + /** > + * Returns the name of the encoding used in this InputStream. > + * > + * @param input the InputStream > + * @return a String representation of encoding > + */ > + private static String getEncoding(InputStream input) throws IOException{ > + //Fixme: This only recognizes UTF-8, UTF-16, and > + //UTF-32, which is enough to parse the prolog portion of xml to > + //find out the exact encoding (if it exists). The reason being > + //there could be other encodings, such as ISO 8859 which is 8-bits > + //but it supports latin characters. > + //So what needs to be done is to parse the prolog and retrieve > + //the exact encoding from it. > > + int[] s = new int[4]; > + String encoding = "UTF-8"; > + > + //Determine what the first four bytes are and store > + //them into an int array. > + input.mark(4); > + for (int i = 0; i < 4; i++) { > + s[i] = input.read(); > + } > + input.reset(); > + > + //Set the encoding base on what the first four bytes of the > + //inputstream turn out to be (following the information from > + //www.w3.org/TR/REC-xml/#sec-guessing). > + if (s[0] == 255) { > + if (s[1] == 254) { > + if (s[2] != 0 || s[3] != 0) { > + encoding = "UnicodeLittle"; > + } else { > + encoding = "X-UTF-32LE-BOM"; > + } > + } > + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || > + s[3] != 0)) { > + encoding = "UTF-16"; > + > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && > + s[3] == 255) { > + encoding = "X-UTF-32BE-BOM"; > + > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && > + s[3] == 60) { > + encoding = "UTF-32BE"; > + > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && > + s[3] == 0) { > + encoding = "UTF-32LE"; > + > + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && > + s[3] == 63) { > + encoding = "UTF-16BE"; > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && > + s[3] == 0) { > + encoding = "UTF-16LE"; > + } > + > + return encoding; > + } > } > > - From omajid at redhat.com Thu Jul 8 11:18:16 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 08 Jul 2010 14:18:16 -0400 Subject: [RFC] netx: only create one instance of JNLPClassLoader for entire application In-Reply-To: <20100708175634.GD6677@redhat.com> References: <4C35D9C1.20608@redhat.com> <20100708175634.GD6677@redhat.com> Message-ID: <4C361668.8000905@redhat.com> On 07/08/2010 01:56 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-08 09:59]: >> Hi, >> >> The attached patch modifies the JNLPClassLoader so only one instance >> of the loader is created per application. This patch also makes the >> classloader keep track of each JNLP file and the resources it loads. >> For applets, it only keeps track of the main applet JNLP (the >> PluginBridge) and uses that. >> >> Any comments? >> >> Cheers, >> Omair > > We already use a single classloader (by merging extension loader paths > into the base loader)... > > What bug required this change? > We merge the paths, but lose all the other information. Consider this: anyplace where the current code does a file.foo(), we dont know which JNLPFile file actually is. Also, this updated version (which knows about the main application JNLP and the extension JNLPs) will make it easier to implement the new cache for netx that I have been planning. During the application's startup, when the Jars are being downloaded and verified, we can ensure that all of the application's jars are treated the same way and we present a consistent cache to the application. In the current implementation sincle multiple classloaders are created, each JNLPClassLoader considres the jars individually for updates and caching. Still, because of how this patch affects the ClassLoader, I would appreciate it people could test it out for a bit before it commit it. Thanks, Omair From mwong at redhat.com Thu Jul 8 11:30:45 2010 From: mwong at redhat.com (Man Wong) Date: Thu, 8 Jul 2010 14:30:45 -0400 (EDT) Subject: [RFC] netx: added encoding support for UTF-16 and UTF-32 In-Reply-To: <1501134201.544171278613569183.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <748888023.544591278613845620.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> ----- "Deepak Bhole" wrote: > * Man Wong [2010-07-06 12:06]: > > Hi, > > > > This patch adds UTF-16 and UTF-32 encoding support for netx, > allowing jnlp files saved under those encoding to launch in netx [1]. > Previously, when a jnlp file with UTF-16 or UTF-32 encoding is passed > in, netx will throw an exception even though the jnlp file was a valid > file. It would be greatly appreciated if someone can look over the > code, make sure it is ok and see if additional comments are needed to > make the code easier to understand. > > > > Thanks, > > Man Lung Wong > > > > [1] > http://icedtea.classpath.org/~mwong/webstart/HelloWorld/Test.jnlp (a > simple Hello World applet I created to test this patch) > > InputStreamReader has a getEncoding() method[1]. Can that not be used > instead of defining our own? > > 1: > http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/io/InputStreamReader.html#getEncoding%28%29 > > Deepak > Their getEncoding() method just gets the encoding base on what the charset that was passed in to initialize InputStreamReader. And that is the part that the getEncoding() method I defined returns, the charset to be passed in to initialize InputStreamReader. If we don't pass in any charset, like before, it will default to UTF-8, which was the cause of the problem. Is there anything else? Thanks, Man Lung Wong > > diff -r 5c61be3119bb netx/net/sourceforge/jnlp/Parser.java > > --- a/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:31:35 2010 > +0100 > > +++ b/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:41:10 2010 > -0400 > > @@ -1168,12 +1168,16 @@ > > Node document = new Node(TinyParser.parseXML(input)); > > Node jnlpNode = getChildNode(document, "jnlp"); // skip > comments > > */ > > + > > + //A BufferedInputStream is used to allow marking and > reseting > > + //of a stream. > > + BufferedInputStream bs = new > BufferedInputStream(input); > > > > /* NANO */ > > final XMLElement xml = new XMLElement(); > > final PipedInputStream pin = new PipedInputStream(); > > - final PipedOutputStream pout = new > PipedOutputStream(pin); > > - final InputStreamReader isr = new > InputStreamReader(input); > > + final PipedOutputStream pout = new > PipedOutputStream(pin); > > + final InputStreamReader isr = new InputStreamReader(bs, > getEncoding(bs)); > > // Clean the jnlp xml file of all comments before > passing > > // it to the parser. > > new Thread( > > @@ -1196,7 +1200,69 @@ > > throw new ParseException(R("PBadXML"), ex); > > } > > } > > + > > + /** > > + * Returns the name of the encoding used in this InputStream. > > + * > > + * @param input the InputStream > > + * @return a String representation of encoding > > + */ > > + private static String getEncoding(InputStream input) throws > IOException{ > > + //Fixme: This only recognizes UTF-8, UTF-16, and > > + //UTF-32, which is enough to parse the prolog portion of > xml to > > + //find out the exact encoding (if it exists). The reason > being > > + //there could be other encodings, such as ISO 8859 which is > 8-bits > > + //but it supports latin characters. > > + //So what needs to be done is to parse the prolog and > retrieve > > + //the exact encoding from it. > > > > + int[] s = new int[4]; > > + String encoding = "UTF-8"; > > + > > + //Determine what the first four bytes are and store > > + //them into an int array. > > + input.mark(4); > > + for (int i = 0; i < 4; i++) { > > + s[i] = input.read(); > > + } > > + input.reset(); > > + > > + //Set the encoding base on what the first four bytes of > the > > + //inputstream turn out to be (following the information > from > > + //www.w3.org/TR/REC-xml/#sec-guessing). > > + if (s[0] == 255) { > > + if (s[1] == 254) { > > + if (s[2] != 0 || s[3] != 0) { > > + encoding = "UnicodeLittle"; > > + } else { > > + encoding = "X-UTF-32LE-BOM"; > > + } > > + } > > + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || > > + s[3] != 0)) { > > + encoding = "UTF-16"; > > + > > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && > > + s[3] == 255) { > > + encoding = "X-UTF-32BE-BOM"; > > + > > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && > > + s[3] == 60) { > > + encoding = "UTF-32BE"; > > + > > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && > > + s[3] == 0) { > > + encoding = "UTF-32LE"; > > + > > + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && > > + s[3] == 63) { > > + encoding = "UTF-16BE"; > > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && > > + s[3] == 0) { > > + encoding = "UTF-16LE"; > > + } > > + > > + return encoding; > > + } > > } > > > > - From omajid at icedtea.classpath.org Thu Jul 8 11:31:54 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 08 Jul 2010 18:31:54 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 18d98909571a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=18d98909571a author: Omair Majid date: Thu Jul 08 14:25:02 2010 -0400 2010-07-08 Omair Majid PR icedtea/460 * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav a: New file. Some applets, for legacy support, expect this class to be present. changeset bf5edcaa5f78 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bf5edcaa5f78 author: Omair Majid date: Thu Jul 08 14:31:02 2010 -0400 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (reFrame): Pass the panel to the constructor, dont set it yourself. (PluginAppletViewer): Set the panel to be the passed in object and only then add it to the list of all panels. diffstat: 3 files changed, 69 insertions(+), 3 deletions(-) ChangeLog | 14 ++ plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 ++++++++++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 - diffs (106 lines): diff -r 8432ceda94a2 -r bf5edcaa5f78 ChangeLog --- a/ChangeLog Thu Jul 08 17:25:57 2010 +0100 +++ b/ChangeLog Thu Jul 08 14:31:02 2010 -0400 @@ -1,3 +1,17 @@ 2010-07-08 Andrew John Hughes + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + 2010-07-08 Andrew John Hughes * Makefile.am: diff -r 8432ceda94a2 -r bf5edcaa5f78 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Thu Jul 08 14:31:02 2010 -0400 @@ -0,0 +1,52 @@ +/* ForbiddenTargetException.java + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package netscape.security; + +public class ForbiddenTargetException extends RuntimeException{ + + private static final long serialVersionUID = 1271219852541058396L; + + public ForbiddenTargetException() { + super(); + } + + public ForbiddenTargetException(String s) { + super(s); + } + +} diff -r 8432ceda94a2 -r bf5edcaa5f78 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jul 08 17:25:57 2010 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jul 08 14:31:02 2010 -0400 @@ -393,8 +393,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; if (oldFrame != null && handle == oldFrame.handle) return; - PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor); - newFrame.panel = panel; + PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor, panel); if (oldFrame != null) { applets.remove(oldFrame.identifier); @@ -425,13 +424,14 @@ import com.sun.jndi.toolkit.url.UrlUtil; */ private PluginAppletViewer(long handle, final int identifier, PrintStream statusMsgStream, double heightFactor, - double widthFactor) { + double widthFactor, AppletViewerPanel appletPanel) { super(handle, true); this.statusMsgStream = statusMsgStream; this.identifier = identifier; this.proposedHeightFactor = heightFactor; this.proposedWidthFactor = widthFactor; + this.panel = appletPanel; if (!appletPanels.contains(panel)) appletPanels.addElement(panel); From omajid at redhat.com Thu Jul 8 11:34:15 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 08 Jul 2010 14:34:15 -0400 Subject: [RFC] plugin: fix getApplets() In-Reply-To: <20100708175255.GC6677@redhat.com> References: <4C2DEB45.9020801@redhat.com> <20100708175255.GC6677@redhat.com> Message-ID: <4C361A27.80101@redhat.com> On 07/08/2010 01:52 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-02 09:37]: >> Hi, >> >> The attached patch fixes AppletContext.getApplets() in the plugin. >> >> The problem was that when the constructor PluginAppletViewer was >> called, panel was null. This null panel was then added to the list >> of all panels. Future calls to getApplets() will get to this null >> panel and throw a NullPointerException. The patch sets panel to the >> actual AppletPanel before adding it to the list of all panels. >> >> This fixes a bug with applets on sbm.no not working. Please see [1] >> for the reproducer and user feedback on the patch. Ok to commit? >> >> Cheers, >> Omair >> >> [1] https://bugzilla.redhat.com/show_bug.cgi?id=506730 > > Looks good! Please go ahead and commit. > Thanks. Committed as changeset bf5edcaa5f78. Cheers, Omair From omajid at redhat.com Thu Jul 8 11:35:22 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 08 Jul 2010 14:35:22 -0400 Subject: [RFC] plugin: bug 460 In-Reply-To: <20100708175015.GB6677@redhat.com> References: <4C34B402.5000109@redhat.com> <20100708175015.GB6677@redhat.com> Message-ID: <4C361A6A.8020402@redhat.com> On 07/08/2010 01:50 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-07 13:06]: >> Hi, >> >> The attached patch adds the missing class >> netscape.security.ForbiddenTargetException, which is all that is >> required for certain applets to work. It fixes bug 460 [1]. >> Ok to commit? >> >> Cheers, >> Omair >> > > Looks good. Please commit. > Thanks for the review. Committed as changeset 18d98909571a. Cheers, Omair From dbhole at redhat.com Thu Jul 8 11:36:21 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 14:36:21 -0400 Subject: [RFC] netx: only create one instance of JNLPClassLoader for entire application In-Reply-To: <4C361668.8000905@redhat.com> References: <4C35D9C1.20608@redhat.com> <20100708175634.GD6677@redhat.com> <4C361668.8000905@redhat.com> Message-ID: <20100708183621.GG6677@redhat.com> * Omair Majid [2010-07-08 14:18]: > On 07/08/2010 01:56 PM, Deepak Bhole wrote: > >* Omair Majid [2010-07-08 09:59]: > >>Hi, > >> > >>The attached patch modifies the JNLPClassLoader so only one instance > >>of the loader is created per application. This patch also makes the > >>classloader keep track of each JNLP file and the resources it loads. > >>For applets, it only keeps track of the main applet JNLP (the > >>PluginBridge) and uses that. > >> > >>Any comments? > >> > >>Cheers, > >>Omair > > > >We already use a single classloader (by merging extension loader paths > >into the base loader)... > > > >What bug required this change? > > > > We merge the paths, but lose all the other information. Consider > this: anyplace where the current code does a file.foo(), we dont > know which JNLPFile file actually is. > Is there a test case where this is an issue? > Also, this updated version (which knows about the main application > JNLP and the extension JNLPs) will make it easier to implement the > new cache for netx that I have been planning. During the > application's startup, when the Jars are being downloaded and > verified, we can ensure that all of the application's jars are > treated the same way and we present a consistent cache to the > application. In the current implementation sincle multiple > classloaders are created, each JNLPClassLoader considres the jars > individually for updates and caching. > We should discuss the new cache system. I imagined all of the downloading and verification would be moved into a separate caching subsystem, in which case jnlpclassloaders wouldn't be doing any downloading, so multiple loaders wouldn't matter. Lets discuss that tomorrow. > Still, because of how this patch affects the ClassLoader, I would > appreciate it people could test it out for a bit before it commit > it. > That is my concern as well. JNLPClassLoader is a very critical file, and doing this sort of invasive change invalidates a lot of the 'public testing' it has gone though over the years. Cheers, Deepak From dbhole at redhat.com Thu Jul 8 11:51:31 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 8 Jul 2010 14:51:31 -0400 Subject: [RFC] netx: added encoding support for UTF-16 and UTF-32 In-Reply-To: <20100708180125.GE6677@redhat.com> References: <2135625148.359661278432197063.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <1496708829.360101278432354570.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <20100708180125.GE6677@redhat.com> Message-ID: <20100708185131.GH6677@redhat.com> * Deepak Bhole [2010-07-08 14:01]: > * Man Wong [2010-07-06 12:06]: > > Hi, > > > > This patch adds UTF-16 and UTF-32 encoding support for netx, allowing jnlp files saved under those encoding to launch in netx [1]. Previously, when a jnlp file with UTF-16 or UTF-32 encoding is passed in, netx will throw an exception even though the jnlp file was a valid file. It would be greatly appreciated if someone can look over the code, make sure it is ok and see if additional comments are needed to make the code easier to understand. > > > > Thanks, > > Man Lung Wong > > > > [1] http://icedtea.classpath.org/~mwong/webstart/HelloWorld/Test.jnlp (a simple Hello World applet I created to test this patch) > > InputStreamReader has a getEncoding() method[1]. Can that not be used > instead of defining our own? > Okay, looks good. Assuming you have tested this, please go ahead and apply. Cheers, Deepak > 1: http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/io/InputStreamReader.html#getEncoding%28%29 > > Deepak > > > diff -r 5c61be3119bb netx/net/sourceforge/jnlp/Parser.java > > --- a/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:31:35 2010 +0100 > > +++ b/netx/net/sourceforge/jnlp/Parser.java Mon Jul 05 17:41:10 2010 -0400 > > @@ -1168,12 +1168,16 @@ > > Node document = new Node(TinyParser.parseXML(input)); > > Node jnlpNode = getChildNode(document, "jnlp"); // skip comments > > */ > > + > > + //A BufferedInputStream is used to allow marking and reseting > > + //of a stream. > > + BufferedInputStream bs = new BufferedInputStream(input); > > > > /* NANO */ > > final XMLElement xml = new XMLElement(); > > final PipedInputStream pin = new PipedInputStream(); > > - final PipedOutputStream pout = new PipedOutputStream(pin); > > - final InputStreamReader isr = new InputStreamReader(input); > > + final PipedOutputStream pout = new PipedOutputStream(pin); > > + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); > > // Clean the jnlp xml file of all comments before passing > > // it to the parser. > > new Thread( > > @@ -1196,7 +1200,69 @@ > > throw new ParseException(R("PBadXML"), ex); > > } > > } > > + > > + /** > > + * Returns the name of the encoding used in this InputStream. > > + * > > + * @param input the InputStream > > + * @return a String representation of encoding > > + */ > > + private static String getEncoding(InputStream input) throws IOException{ > > + //Fixme: This only recognizes UTF-8, UTF-16, and > > + //UTF-32, which is enough to parse the prolog portion of xml to > > + //find out the exact encoding (if it exists). The reason being > > + //there could be other encodings, such as ISO 8859 which is 8-bits > > + //but it supports latin characters. > > + //So what needs to be done is to parse the prolog and retrieve > > + //the exact encoding from it. > > > > + int[] s = new int[4]; > > + String encoding = "UTF-8"; > > + > > + //Determine what the first four bytes are and store > > + //them into an int array. > > + input.mark(4); > > + for (int i = 0; i < 4; i++) { > > + s[i] = input.read(); > > + } > > + input.reset(); > > + > > + //Set the encoding base on what the first four bytes of the > > + //inputstream turn out to be (following the information from > > + //www.w3.org/TR/REC-xml/#sec-guessing). > > + if (s[0] == 255) { > > + if (s[1] == 254) { > > + if (s[2] != 0 || s[3] != 0) { > > + encoding = "UnicodeLittle"; > > + } else { > > + encoding = "X-UTF-32LE-BOM"; > > + } > > + } > > + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || > > + s[3] != 0)) { > > + encoding = "UTF-16"; > > + > > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && > > + s[3] == 255) { > > + encoding = "X-UTF-32BE-BOM"; > > + > > + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && > > + s[3] == 60) { > > + encoding = "UTF-32BE"; > > + > > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && > > + s[3] == 0) { > > + encoding = "UTF-32LE"; > > + > > + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && > > + s[3] == 63) { > > + encoding = "UTF-16BE"; > > + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && > > + s[3] == 0) { > > + encoding = "UTF-16LE"; > > + } > > + > > + return encoding; > > + } > > } > > > > - > From andrew at icedtea.classpath.org Thu Jul 8 12:37:29 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 08 Jul 2010 19:37:29 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset f0e89050bb8c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f0e89050bb8c author: Andrew John Hughes date: Thu Jul 08 20:36:25 2010 +0100 Add rebuild target to allow a quick OpenJDK rebuild (warning; may not work in some cases due to flaws in OpenJDK's build system) 2010-07-08 Andrew John Hughes * Makefile.am: (rebuild): Add new target to allow a quick rebuild of OpenJDK in the manner of the existing hotspot target. changeset cc1498495367 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cc1498495367 author: Andrew John Hughes date: Thu Jul 08 20:37:25 2010 +0100 Merge diffstat: 4 files changed, 91 insertions(+), 3 deletions(-) ChangeLog | 21 ++++ Makefile.am | 15 ++ plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 ++++++++++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 - diffs (138 lines): diff -r 8432ceda94a2 -r cc1498495367 ChangeLog --- a/ChangeLog Thu Jul 08 17:25:57 2010 +0100 +++ b/ChangeLog Thu Jul 08 20:37:25 2010 +0100 @@ -1,3 +1,24 @@ 2010-07-08 Andrew John Hughes + + * Makefile.am: + (rebuild): Add new target to allow a quick + rebuild of OpenJDK in the manner of the existing + hotspot target. + +2010-07-08 Omair Majid + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + 2010-07-08 Andrew John Hughes * Makefile.am: diff -r 8432ceda94a2 -r cc1498495367 Makefile.am --- a/Makefile.am Thu Jul 08 17:25:57 2010 +0100 +++ b/Makefile.am Thu Jul 08 20:37:25 2010 +0100 @@ -1381,6 +1381,21 @@ clean-icedtea-ecj: rm -rf $(ECJ_BUILD_OUTPUT_DIR) rm -f stamps/icedtea-ecj.stamp +# Rebuild targets + +rebuild: +if WITH_OPENJDK + rm -f stamps/icedtea.stamp + rm -f stamps/icedtea-against-icedtea.stamp + $(ARCH_PREFIX) $(MAKE) icedtea-against-icedtea + @echo "IcedTea is served (again):" $(BUILD_OUTPUT_DIR)/j2sdk-image +else + rm -f stamps/icedtea-ecj.stamp + rm -f stamps/icedtea-against-ecj.stamp + $(ARCH_PREFIX) $(MAKE) icedtea-against-ecj + @echo "ecj-poured IcedTea is served (again):" $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image +endif + hotspot: if WITH_OPENJDK rm -f stamps/icedtea.stamp diff -r 8432ceda94a2 -r cc1498495367 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Thu Jul 08 20:37:25 2010 +0100 @@ -0,0 +1,52 @@ +/* ForbiddenTargetException.java + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package netscape.security; + +public class ForbiddenTargetException extends RuntimeException{ + + private static final long serialVersionUID = 1271219852541058396L; + + public ForbiddenTargetException() { + super(); + } + + public ForbiddenTargetException(String s) { + super(s); + } + +} diff -r 8432ceda94a2 -r cc1498495367 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jul 08 17:25:57 2010 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jul 08 20:37:25 2010 +0100 @@ -393,8 +393,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; if (oldFrame != null && handle == oldFrame.handle) return; - PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor); - newFrame.panel = panel; + PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor, panel); if (oldFrame != null) { applets.remove(oldFrame.identifier); @@ -425,13 +424,14 @@ import com.sun.jndi.toolkit.url.UrlUtil; */ private PluginAppletViewer(long handle, final int identifier, PrintStream statusMsgStream, double heightFactor, - double widthFactor) { + double widthFactor, AppletViewerPanel appletPanel) { super(handle, true); this.statusMsgStream = statusMsgStream; this.identifier = identifier; this.proposedHeightFactor = heightFactor; this.proposedWidthFactor = widthFactor; + this.panel = appletPanel; if (!appletPanels.contains(panel)) appletPanels.addElement(panel); From mwong at icedtea.classpath.org Thu Jul 8 12:59:57 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Thu, 08 Jul 2010 19:59:57 +0000 Subject: /hg/icedtea6: Added encoding support for netx. Message-ID: changeset 867af494861c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=867af494861c author: Man Lung Wong date: Thu Jul 08 15:54:35 2010 -0400 Added encoding support for netx. diffstat: 2 files changed, 79 insertions(+), 3 deletions(-) ChangeLog | 10 ++++ netx/net/sourceforge/jnlp/Parser.java | 72 +++++++++++++++++++++++++++++++-- diffs (110 lines): diff -r cc1498495367 -r 867af494861c ChangeLog --- a/ChangeLog Thu Jul 08 20:37:25 2010 +0100 +++ b/ChangeLog Thu Jul 08 15:54:35 2010 -0400 @@ -1,3 +1,13 @@ 2010-07-08 Andrew John Hughes + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + 2010-07-08 Andrew John Hughes * Makefile.am: diff -r cc1498495367 -r 867af494861c netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Thu Jul 08 20:37:25 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Thu Jul 08 15:54:35 2010 -0400 @@ -1168,12 +1168,16 @@ class Parser { Node document = new Node(TinyParser.parseXML(input)); Node jnlpNode = getChildNode(document, "jnlp"); // skip comments */ + + //A BufferedInputStream is used to allow marking and reseting + //of a stream. + BufferedInputStream bs = new BufferedInputStream(input); /* NANO */ final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); - final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); + final PipedOutputStream pout = new PipedOutputStream(pin); + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( @@ -1196,7 +1200,69 @@ class Parser { throw new ParseException(R("PBadXML"), ex); } } + + /** + * Returns the name of the encoding used in this InputStream. + * + * @param input the InputStream + * @return a String representation of encoding + */ + private static String getEncoding(InputStream input) throws IOException{ + //Fixme: This only recognizes UTF-8, UTF-16, and + //UTF-32, which is enough to parse the prolog portion of xml to + //find out the exact encoding (if it exists). The reason being + //there could be other encodings, such as ISO 8859 which is 8-bits + //but it supports latin characters. + //So what needs to be done is to parse the prolog and retrieve + //the exact encoding from it. + int[] s = new int[4]; + String encoding = "UTF-8"; + + //Determine what the first four bytes are and store + //them into an int array. + input.mark(4); + for (int i = 0; i < 4; i++) { + s[i] = input.read(); + } + input.reset(); + + //Set the encoding base on what the first four bytes of the + //inputstream turn out to be (following the information from + //www.w3.org/TR/REC-xml/#sec-guessing). + if (s[0] == 255) { + if (s[1] == 254) { + if (s[2] != 0 || s[3] != 0) { + encoding = "UnicodeLittle"; + } else { + encoding = "X-UTF-32LE-BOM"; + } + } + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || + s[3] != 0)) { + encoding = "UTF-16"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && + s[3] == 255) { + encoding = "X-UTF-32BE-BOM"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && + s[3] == 60) { + encoding = "UTF-32BE"; + + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && + s[3] == 0) { + encoding = "UTF-32LE"; + + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && + s[3] == 63) { + encoding = "UTF-16BE"; + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && + s[3] == 0) { + encoding = "UTF-16LE"; + } + + return encoding; + } } - From ptisnovs at redhat.com Fri Jul 9 03:51:10 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 09 Jul 2010 12:51:10 +0200 Subject: New project created in Mercurial repository - 2D Graphics Test Suite Message-ID: <4C36FF1E.7040902@redhat.com> Hi all, in the Mercurial repository at http://icedtea.classpath.org/hg was (thanks to Mark Wielaard!) created a new project called gfx-test. Its address is http://icedtea.classpath.org/hg/gfx-test/. The purpose of this project is to test whether renderer used by OpenJDK (Pisces at this moment) produces the same or nearly the same results as renderer used by Oracle JDK. Images rendered by Oracle SDK are stored in directory ./samples, test images are created in directory ./output. All you have to do if you want to create new test images is to type: "make" and the project will (hopefully :-) compile and then run. If you only want to create one type of test images, for example to test whether dashed lines are rendered correctly, you can specify proper target: "make DashedLines" The name of the target is the same as the name of class in org.gfxtest.testsuites package. If you want to use another JDK for rendering (including Oracle JDK or IBM JDK) you only need to change the ninth line in Makefile. Currently the project is in alpha version. It for example does not yet contains image comparator because image comparison engine is in patent application process, so I have to consult publishing with Legal Affairs. My personal TODO for immediate future: 1) add licence information to all source files (will be probably done today) 2) add image comparator, at least in binary form (-//-) 3) add new tests - curves, circles, arcs, font rendering etc. - any suggestions are welcome! 4) publish test results (I already published results but only inside Red Hat) - any idea where to publish it? Cheers Pavel Tisnovsky From bugzilla-daemon at icedtea.classpath.org Fri Jul 9 06:55:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Jul 2010 13:55:56 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of THREAD Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #8 from xerxes at zafena.se 2010-07-09 13:55 ------- I have filed a upstream LLVM bugreport for this ARMv4 JIT miscompilation http://llvm.org/bugs/show_bug.cgi?id=7608 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Fri Jul 9 08:00:03 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 09 Jul 2010 15:00:03 +0000 Subject: /hg/release/icedtea6-1.7: 3 new changesets Message-ID: changeset c71e17e97201 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c71e17e97201 author: Omair Majid date: Thu Jul 08 14:25:02 2010 -0400 2010-07-08 Omair Majid PR icedtea/460 * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav a: New file. Some applets, for legacy support, expect this class to be present. changeset 07bbc0e2f5e0 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=07bbc0e2f5e0 author: Omair Majid date: Thu Jul 08 14:31:02 2010 -0400 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (reFrame): Pass the panel to the constructor, dont set it yourself. (PluginAppletViewer): Set the panel to be the passed in object and only then add it to the list of all panels. changeset a8aeb44946cb in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=a8aeb44946cb author: Deepak Bhole date: Fri Jul 09 10:59:53 2010 -0400 Updated copyright dates in plugin sources diffstat: 15 files changed, 96 insertions(+), 15 deletions(-) ChangeLog | 29 +++++ plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 2 plugin/icedteanp/IcedTeaNPPlugin.h | 2 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 2 plugin/icedteanp/IcedTeaPluginUtils.cc | 2 plugin/icedteanp/IcedTeaPluginUtils.h | 2 plugin/icedteanp/IcedTeaRunnable.cc | 2 plugin/icedteanp/IcedTeaRunnable.h | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 2 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 ++++++++++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 - diffs (253 lines): diff -r a14090fab523 -r a8aeb44946cb ChangeLog --- a/ChangeLog Tue Jun 15 18:34:45 2010 +0100 +++ b/ChangeLog Fri Jul 09 10:59:53 2010 -0400 @@ -1,3 +1,32 @@ 2010-06-14 Andrew John Hughes + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Updated copyright date. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaNPPlugin.h: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaRunnable.cc: Same. + * plugin/icedteanp/IcedTeaRunnable.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. + +2010-07-08 Omair Majid + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + 2010-06-14 Andrew John Hughes Don't print out the return value of pthread_self diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaNPPlugin.cc -- web browser plugin to execute Java applets Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of GNU Classpath. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaNPPlugin.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaPluginRequestProcessor.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginRequestProcessor.h --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaPluginRequestProcessor.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaPluginUtils.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaPluginUtils.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaRunnable.cc --- a/plugin/icedteanp/IcedTeaRunnable.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaRunnable.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaRunnable.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaRunnable.h --- a/plugin/icedteanp/IcedTeaRunnable.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaRunnable.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaRunnable.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaScriptablePluginObject.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaScriptablePluginObject.h --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.h Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.h Fri Jul 09 10:59:53 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaScriptablePluginObject.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Fri Jul 09 10:59:53 2010 -0400 @@ -0,0 +1,52 @@ +/* ForbiddenTargetException.java + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package netscape.security; + +public class ForbiddenTargetException extends RuntimeException{ + + private static final long serialVersionUID = 1271219852541058396L; + + public ForbiddenTargetException() { + super(); + } + + public ForbiddenTargetException(String s) { + super(s); + } + +} diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Jun 15 18:34:45 2010 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri Jul 09 10:59:53 2010 -0400 @@ -393,8 +393,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; if (oldFrame != null && handle == oldFrame.handle) return; - PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor); - newFrame.panel = panel; + PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor, panel); if (oldFrame != null) { applets.remove(oldFrame.identifier); @@ -425,13 +424,14 @@ import com.sun.jndi.toolkit.url.UrlUtil; */ private PluginAppletViewer(long handle, final int identifier, PrintStream statusMsgStream, double heightFactor, - double widthFactor) { + double widthFactor, AppletViewerPanel appletPanel) { super(handle, true); this.statusMsgStream = statusMsgStream; this.identifier = identifier; this.proposedHeightFactor = heightFactor; this.proposedWidthFactor = widthFactor; + this.panel = appletPanel; if (!appletPanels.contains(panel)) appletPanels.addElement(panel); From dbhole at icedtea.classpath.org Fri Jul 9 09:30:36 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 09 Jul 2010 16:30:36 +0000 Subject: /hg/release/icedtea6-1.7: 5 new changesets Message-ID: changeset d133c2298825 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=d133c2298825 author: Omair Majid date: Tue Jun 29 14:19:38 2010 -0400 Netx: make path sanitization consistent; use a blacklisting approach. 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/cache/CacheUtil.java (urlToPath): Call FileUtils.sanitizePath. (fixPath): Moved to... * netx/net/sourceforge/jnlp/util/FileUtils.java (sanitizePath): New function. Moved from CacheUtil.java (sanitizeFileName): Use a blacklisting approach rather than a whitelisting approach: should work better with non ascii filenames. changeset 4bbd10e42fd2 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=4bbd10e42fd2 author: Omair Majid date: Tue Jun 29 14:26:57 2010 -0400 Netx: make the SingleInstanceServer thread a daemon thread 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java (startListeningServer): Mark the thread as a daemon so the JVM can shutdown if there are no other non-daemon thread running. changeset fa5d7ae7e7f2 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=fa5d7ae7e7f2 author: Omair Majid date: Thu Jun 24 09:40:43 2010 -0400 netx: handle JNLP files which use native libraries but do not indiate it 2010-06-24 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. * netx/net/sourceforge/jnlp/JNLPClassLoader.java (activateJars): Always call activateNative. (activateNative): Search for native code anywhere in the jar. changeset 8cc0ee1848d6 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8cc0ee1848d6 author: Omair Majid date: Tue Jun 29 15:48:10 2010 -0400 Netx: allow jnlp classloaders to share native libraries 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java nativeDirectories: New variable. Contains a list of directories that contain native libraries. (getInstance): Tell other classloaders about the native directory. (getNativeDir): Add the new native directory to nativeDirectories. (addNativeDirectory): New function. (getNativeDirectories): New function. (findLibrary): Look in all the native directories for the native library. changeset 670a8e9e498b in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=670a8e9e498b author: Deepak Bhole date: Fri Jul 09 12:30:10 2010 -0400 From mwong at redhat.com: Added encoding support for netx. diffstat: 7 files changed, 230 insertions(+), 68 deletions(-) ChangeLog | 44 ++++ rt/net/sourceforge/jnlp/Parser.java | 73 +++++++ rt/net/sourceforge/jnlp/SecurityDesc.java | 9 rt/net/sourceforge/jnlp/cache/CacheUtil.java | 17 - rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 93 +++++++--- rt/net/sourceforge/jnlp/services/XSingleInstanceService.java | 11 - rt/net/sourceforge/jnlp/util/FileUtils.java | 51 +++-- diffs (477 lines): diff -r a8aeb44946cb -r 670a8e9e498b ChangeLog --- a/ChangeLog Fri Jul 09 10:59:53 2010 -0400 +++ b/ChangeLog Fri Jul 09 12:30:10 2010 -0400 @@ -1,3 +1,47 @@ 2010-07-09 Deepak Bhole + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + nativeDirectories: New variable. Contains a list of directories that + contain native libraries. + (getInstance): Tell other classloaders about the native directory. + (getNativeDir): Add the new native directory to nativeDirectories. + (addNativeDirectory): New function. + (getNativeDirectories): New function. + (findLibrary): Look in all the native directories for the native library. + +2010-06-24 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. + * netx/net/sourceforge/jnlp/JNLPClassLoader.java + (activateJars): Always call activateNative. + (activateNative): Search for native code anywhere in the jar. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + (startListeningServer): Mark the thread as a daemon so the JVM can + shutdown if there are no other non-daemon thread running. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + (urlToPath): Call FileUtils.sanitizePath. + (fixPath): Moved to... + * netx/net/sourceforge/jnlp/util/FileUtils.java + (sanitizePath): New function. Moved from CacheUtil.java + (sanitizeFileName): Use a blacklisting approach rather than a whitelisting + approach: should work better with non ascii filenames. + 2010-07-09 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Updated copyright date. diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/Parser.java --- a/rt/net/sourceforge/jnlp/Parser.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/Parser.java Fri Jul 09 12:30:10 2010 -0400 @@ -1171,13 +1171,16 @@ class Parser { Node document = new Node(TinyParser.parseXML(input)); Node jnlpNode = getChildNode(document, "jnlp"); // skip comments */ + + //A BufferedInputStream is used to allow marking and reseting + //of a stream. + BufferedInputStream bs = new BufferedInputStream(input); /* NANO */ final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); - final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); - + final PipedOutputStream pout = new PipedOutputStream(pin); + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( @@ -1200,7 +1203,69 @@ class Parser { throw new ParseException(R("PBadXML"), ex); } } + + /** + * Returns the name of the encoding used in this InputStream. + * + * @param input the InputStream + * @return a String representation of encoding + */ + private static String getEncoding(InputStream input) throws IOException{ + //Fixme: This only recognizes UTF-8, UTF-16, and + //UTF-32, which is enough to parse the prolog portion of xml to + //find out the exact encoding (if it exists). The reason being + //there could be other encodings, such as ISO 8859 which is 8-bits + //but it supports latin characters. + //So what needs to be done is to parse the prolog and retrieve + //the exact encoding from it. + int[] s = new int[4]; + String encoding = "UTF-8"; + + //Determine what the first four bytes are and store + //them into an int array. + input.mark(4); + for (int i = 0; i < 4; i++) { + s[i] = input.read(); + } + input.reset(); + + //Set the encoding base on what the first four bytes of the + //inputstream turn out to be (following the information from + //www.w3.org/TR/REC-xml/#sec-guessing). + if (s[0] == 255) { + if (s[1] == 254) { + if (s[2] != 0 || s[3] != 0) { + encoding = "UnicodeLittle"; + } else { + encoding = "X-UTF-32LE-BOM"; + } + } + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || + s[3] != 0)) { + encoding = "UTF-16"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && + s[3] == 255) { + encoding = "X-UTF-32BE-BOM"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && + s[3] == 60) { + encoding = "UTF-32BE"; + + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && + s[3] == 0) { + encoding = "UTF-32LE"; + + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && + s[3] == 63) { + encoding = "UTF-16BE"; + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && + s[3] == 0) { + encoding = "UTF-16LE"; + } + + return encoding; + } } - diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/SecurityDesc.java --- a/rt/net/sourceforge/jnlp/SecurityDesc.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/SecurityDesc.java Fri Jul 09 12:30:10 2010 -0400 @@ -31,12 +31,9 @@ import java.awt.AWTPermission; */ public class SecurityDesc { - // todo: make sure classloader's native code support checks - // the security permissions - - // shouldn't need to verify that native code only runs in - // trusted environment because the parser and/or classloader - // should kick it. + /* + * We do not verify security here, the classloader deals with security + */ /** All permissions. */ public static final Object ALL_PERMISSIONS = "All"; diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/cache/CacheUtil.java --- a/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 09 12:30:10 2010 -0400 @@ -26,6 +26,7 @@ import javax.jnlp.*; import net.sourceforge.jnlp.*; import net.sourceforge.jnlp.runtime.*; +import net.sourceforge.jnlp.util.FileUtils; /** * Provides static methods to interact with the cache, download @@ -300,23 +301,9 @@ public class CacheUtil { path.append(File.separatorChar); path.append(location.getPath().replace('/', File.separatorChar)); - return new File(JNLPRuntime.getBaseDir(), fixPath(path.toString())); + return new File(JNLPRuntime.getBaseDir(), FileUtils.sanitizePath(path.toString())); } - /** - * Clean up a string by removing characters that can't appear in - * a local file name. - */ - private static String fixPath(String path) { - char badChars[] = { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; - - for (int i=0; i < badChars.length; i++) - if (badChars[i] != File.separatorChar) - if (-1 != path.indexOf(badChars[i])) - path = path.replace(badChars[i], 'X'); - - return path; - } /** * Waits until the resources are downloaded, while showing a diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 09 12:30:10 2010 -0400 @@ -32,6 +32,7 @@ import java.security.Permissions; import java.security.Permissions; import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedList; @@ -80,11 +81,11 @@ public class JNLPClassLoader extends URL /** map from JNLPFile url to shared classloader */ private static Map urlToLoader = new HashMap(); // never garbage collected! - /** number of times a classloader with native code is created */ - private static int nativeCounter = 0; - /** the directory for native code */ private File nativeDir = null; // if set, some native code exists + + /** a list of directories that contain native libraries */ + private List nativeDirectories = Collections.synchronizedList(new LinkedList()); /** security context */ private AccessControlContext acc = AccessController.getContext(); @@ -229,18 +230,22 @@ public class JNLPClassLoader extends URL // loader for this unique key. Check. JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); - if (extLoader != null) { + if (extLoader != null && extLoader != loader) { for (URL u : loader.getURLs()) extLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + extLoader.addNativeDirectory(nativeDirectory); loader = extLoader; } // loader is now current + ext. But we also need to think of // the baseLoader - if (baseLoader != null) { + if (baseLoader != null && baseLoader != loader) { for (URL u : loader.getURLs()) baseLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + baseLoader.addNativeDirectory(nativeDirectory); loader = baseLoader; } @@ -631,8 +636,8 @@ public class JNLPClassLoader extends URL ex.printStackTrace(); } - if (jar.isNative()) - activateNative(jar); + // some programs place a native library in any jar + activateNative(jar); } return null; @@ -643,9 +648,9 @@ public class JNLPClassLoader extends URL } /** - * Enable the native code contained in a JAR by copying the - * native files into the filesystem. Called in the security - * context of the classloader. + * Search for and enable any native code contained in a JAR by copying the + * native files into the filesystem. Called in the security context of the + * classloader. */ protected void activateNative(JARDesc jar) { if (JNLPRuntime.isDebug()) @@ -658,17 +663,33 @@ public class JNLPClassLoader extends URL if (nativeDir == null) nativeDir = getNativeDir(); + String[] librarySuffixes = { ".so", ".dylib", ".jnilib", ".framework", ".dll" }; + try { JarFile jarFile = new JarFile(localFile, false); - Enumeration entries = jarFile.entries(); + Enumeration entries = jarFile.entries(); while (entries.hasMoreElements()) { - JarEntry e = (JarEntry) entries.nextElement(); + JarEntry e = entries.nextElement(); - if (e.isDirectory() || e.getName().indexOf('/') != -1) + if (e.isDirectory()) { continue; + } - File outFile = new File(nativeDir, e.getName()); + String name = new File(e.getName()).getName(); + boolean isLibrary = false; + + for (String suffix: librarySuffixes) { + if (name.endsWith(suffix)) { + isLibrary = true; + break; + } + } + if (!isLibrary) { + continue; + } + + File outFile = new File(nativeDir, name); CacheUtil.streamCopy(jarFile.getInputStream(e), new FileOutputStream(outFile)); @@ -692,29 +713,47 @@ public class JNLPClassLoader extends URL if (!nativeDir.mkdirs()) return null; - else + else { + // add this new native directory to the search path + addNativeDirectory(nativeDir); return nativeDir; + } + } + + /** + * Adds the {@link File} to the search path of this {@link JNLPClassLoader} + * when trying to find a native library + */ + protected void addNativeDirectory(File nativeDirectory) { + nativeDirectories.add(nativeDirectory); + } + + /** + * Returns a list of all directories in the search path of the current classloader + * when it tires to find a native library. + * @return a list of directories in the search path for native libraries + */ + protected List getNativeDirectories() { + return nativeDirectories; } /** * Return the absolute path to the native library. */ protected String findLibrary(String lib) { - if (nativeDir == null) - return null; - String syslib = System.mapLibraryName(lib); - File target = new File(nativeDir, syslib); - if (target.exists()) - return target.toString(); - else { - String result = super.findLibrary(lib); - if (result != null) - return result; + for (File dir: getNativeDirectories()) { + File target = new File(dir, syslib); + if (target.exists()) + return target.toString(); + } - return findLibraryExt(lib); - } + String result = super.findLibrary(lib); + if (result != null) + return result; + + return findLibraryExt(lib); } /** diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/services/XSingleInstanceService.java --- a/rt/net/sourceforge/jnlp/services/XSingleInstanceService.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/services/XSingleInstanceService.java Fri Jul 09 12:30:10 2010 -0400 @@ -145,14 +145,21 @@ public class XSingleInstanceService impl } /** - * Start the listening server to accept arguments from new isntances of + * Start the listening server to accept arguments from new instances of * applications * * @param lockFile + * the {@link SingleInstanceLock} that the server should use */ private void startListeningServer(SingleInstanceLock lockFile) { SingleInstanceServer server = new SingleInstanceServer(lockFile); - new Thread(server).start(); + Thread serverThread = new Thread(server); + /* + * mark as daemon so the JVM can shutdown if the server is the only + * thread running + */ + serverThread.setDaemon(true); + serverThread.start(); } /** diff -r a8aeb44946cb -r 670a8e9e498b rt/net/sourceforge/jnlp/util/FileUtils.java --- a/rt/net/sourceforge/jnlp/util/FileUtils.java Fri Jul 09 10:59:53 2010 -0400 +++ b/rt/net/sourceforge/jnlp/util/FileUtils.java Fri Jul 09 12:30:10 2010 -0400 @@ -14,35 +14,58 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - package net.sourceforge.jnlp.util; +import java.io.File; + /** - * This class contains a few file-related utility functions. + * This class contains a few file-related utility functions. * * @author Omair Majid */ -public class FileUtils { +public final class FileUtils { - + /** + * list of characters not allowed in filenames + */ + private static final char INVALID_CHARS[] = { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; + + private static final char SANITIZED_CHAR = '_'; + + /** + * Clean up a string by removing characters that can't appear in a local + * file name. + * + * @param path + * the path to sanitize + * @return a sanitized version of the input which is suitable for using as a + * file path + */ + public static String sanitizePath(String path) { + + for (int i = 0; i < INVALID_CHARS.length; i++) + if (INVALID_CHARS[i] != File.separatorChar) + if (-1 != path.indexOf(INVALID_CHARS[i])) + path = path.replace(INVALID_CHARS[i], SANITIZED_CHAR); + + return path; + } + /** * Given an input, return a sanitized form of the input suitable for use as * a file/directory name - * + * * @param input * @return a sanitized version of the input */ - public static String sanitizeFileName(String input) { + public static String sanitizeFileName(String filename) { - /* - * FIXME - * - * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' - */ + for (int i = 0; i < INVALID_CHARS.length; i++) + if (-1 != filename.indexOf(INVALID_CHARS[i])) + filename = filename.replace(INVALID_CHARS[i], SANITIZED_CHAR); - String sanitizedName = input.replaceAll("[^a-zA-Z0-9.]", "_"); - return sanitizedName; + return filename; } - + } From doko at icedtea.classpath.org Sun Jul 11 04:40:14 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Sun, 11 Jul 2010 11:40:14 +0000 Subject: /hg/release/icedtea6-1.8: 6 new changesets Message-ID: changeset 8b2338432fc9 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=8b2338432fc9 author: Omair Majid date: Thu Jul 08 14:25:02 2010 -0400 2010-07-08 Omair Majid PR icedtea/460 * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav a: New file. Some applets, for legacy support, expect this class to be present. changeset edbd0ce1f3cb in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=edbd0ce1f3cb author: Omair Majid date: Thu Jul 08 14:31:02 2010 -0400 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (reFrame): Pass the panel to the constructor, dont set it yourself. (PluginAppletViewer): Set the panel to be the passed in object and only then add it to the list of all panels. changeset d53c4ae5b40a in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=d53c4ae5b40a author: Omair Majid date: Tue Jun 29 14:19:38 2010 -0400 Netx: make path sanitization consistent; use a blacklisting approach. 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/cache/CacheUtil.java (urlToPath): Call FileUtils.sanitizePath. (fixPath): Moved to... * netx/net/sourceforge/jnlp/util/FileUtils.java (sanitizePath): New function. Moved from CacheUtil.java (sanitizeFileName): Use a blacklisting approach rather than a whitelisting approach: should work better with non ascii filenames. changeset 872cddeeb5cc in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=872cddeeb5cc author: Omair Majid date: Tue Jun 29 15:48:10 2010 -0400 Netx: allow jnlp classloaders to share native libraries 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java nativeDirectories: New variable. Contains a list of directories that contain native libraries. (getInstance): Tell other classloaders about the native directory. (getNativeDir): Add the new native directory to nativeDirectories. (addNativeDirectory): New function. (getNativeDirectories): New function. (findLibrary): Look in all the native directories for the native library. changeset 933009b1b7c4 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=933009b1b7c4 author: Omair Majid date: Thu Jun 24 09:40:43 2010 -0400 netx: handle JNLP files which use native libraries but do not indiate it 2010-06-24 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. * netx/net/sourceforge/jnlp/JNLPClassLoader.java (activateJars): Always call activateNative. (activateNative): Search for native code anywhere in the jar. changeset ec12891f51bc in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=ec12891f51bc author: Deepak Bhole date: Fri Jul 09 12:30:10 2010 -0400 From mwong at redhat.com: Added encoding support for netx. diffstat: 9 files changed, 298 insertions(+), 69 deletions(-) ChangeLog | 58 ++++++ netx/net/sourceforge/jnlp/Parser.java | 70 +++++++ netx/net/sourceforge/jnlp/SecurityDesc.java | 9 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 17 - netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 93 +++++++--- netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 11 - netx/net/sourceforge/jnlp/util/FileUtils.java | 51 +++-- plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 +++++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 diffs (truncated from 573 to 500 lines): diff -r 9969adc2442f -r ec12891f51bc ChangeLog --- a/ChangeLog Tue Jun 15 18:34:45 2010 +0100 +++ b/ChangeLog Fri Jul 09 12:30:10 2010 -0400 @@ -1,3 +1,61 @@ 2010-06-14 Andrew John Hughes + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + +2010-06-24 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. + * netx/net/sourceforge/jnlp/JNLPClassLoader.java + (activateJars): Always call activateNative. + (activateNative): Search for native code anywhere in the jar. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + nativeDirectories: New variable. Contains a list of directories that + contain native libraries. + (getInstance): Tell other classloaders about the native directory. + (getNativeDir): Add the new native directory to nativeDirectories. + (addNativeDirectory): New function. + (getNativeDirectories): New function. + (findLibrary): Look in all the native directories for the native library. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + (startListeningServer): Mark the thread as a daemon so the JVM can + shutdown if there are no other non-daemon thread running. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + (urlToPath): Call FileUtils.sanitizePath. + (fixPath): Moved to... + * netx/net/sourceforge/jnlp/util/FileUtils.java + (sanitizePath): New function. Moved from CacheUtil.java + (sanitizeFileName): Use a blacklisting approach rather than a whitelisting + approach: should work better with non ascii filenames. + +2010-07-08 Omair Majid + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + 2010-06-14 Andrew John Hughes Don't print out the return value of pthread_self diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Fri Jul 09 12:30:10 2010 -0400 @@ -1169,11 +1169,15 @@ class Parser { Node jnlpNode = getChildNode(document, "jnlp"); // skip comments */ + //A BufferedInputStream is used to allow marking and reseting + //of a stream. + BufferedInputStream bs = new BufferedInputStream(input); + /* NANO */ final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( @@ -1196,7 +1200,69 @@ class Parser { throw new ParseException(R("PBadXML"), ex); } } + + /** + * Returns the name of the encoding used in this InputStream. + * + * @param input the InputStream + * @return a String representation of encoding + */ + private static String getEncoding(InputStream input) throws IOException{ + //Fixme: This only recognizes UTF-8, UTF-16, and + //UTF-32, which is enough to parse the prolog portion of xml to + //find out the exact encoding (if it exists). The reason being + //there could be other encodings, such as ISO 8859 which is 8-bits + //but it supports latin characters. + //So what needs to be done is to parse the prolog and retrieve + //the exact encoding from it. + int[] s = new int[4]; + String encoding = "UTF-8"; + + //Determine what the first four bytes are and store + //them into an int array. + input.mark(4); + for (int i = 0; i < 4; i++) { + s[i] = input.read(); + } + input.reset(); + + //Set the encoding base on what the first four bytes of the + //inputstream turn out to be (following the information from + //www.w3.org/TR/REC-xml/#sec-guessing). + if (s[0] == 255) { + if (s[1] == 254) { + if (s[2] != 0 || s[3] != 0) { + encoding = "UnicodeLittle"; + } else { + encoding = "X-UTF-32LE-BOM"; + } + } + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || + s[3] != 0)) { + encoding = "UTF-16"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && + s[3] == 255) { + encoding = "X-UTF-32BE-BOM"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && + s[3] == 60) { + encoding = "UTF-32BE"; + + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && + s[3] == 0) { + encoding = "UTF-32LE"; + + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && + s[3] == 63) { + encoding = "UTF-16BE"; + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && + s[3] == 0) { + encoding = "UTF-16LE"; + } + + return encoding; + } } - diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Fri Jul 09 12:30:10 2010 -0400 @@ -31,12 +31,9 @@ import java.awt.AWTPermission; */ public class SecurityDesc { - // todo: make sure classloader's native code support checks - // the security permissions - - // shouldn't need to verify that native code only runs in - // trusted environment because the parser and/or classloader - // should kick it. + /* + * We do not verify security here, the classloader deals with security + */ /** All permissions. */ public static final Object ALL_PERMISSIONS = "All"; diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 09 12:30:10 2010 -0400 @@ -26,6 +26,7 @@ import javax.jnlp.*; import net.sourceforge.jnlp.*; import net.sourceforge.jnlp.runtime.*; +import net.sourceforge.jnlp.util.FileUtils; /** * Provides static methods to interact with the cache, download @@ -300,23 +301,9 @@ public class CacheUtil { path.append(File.separatorChar); path.append(location.getPath().replace('/', File.separatorChar)); - return new File(JNLPRuntime.getBaseDir(), fixPath(path.toString())); + return new File(JNLPRuntime.getBaseDir(), FileUtils.sanitizePath(path.toString())); } - /** - * Clean up a string by removing characters that can't appear in - * a local file name. - */ - private static String fixPath(String path) { - char badChars[] = { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; - - for (int i=0; i < badChars.length; i++) - if (badChars[i] != File.separatorChar) - if (-1 != path.indexOf(badChars[i])) - path = path.replace(badChars[i], 'X'); - - return path; - } /** * Waits until the resources are downloaded, while showing a diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 09 12:30:10 2010 -0400 @@ -32,6 +32,7 @@ import java.security.Permissions; import java.security.Permissions; import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedList; @@ -80,11 +81,11 @@ public class JNLPClassLoader extends URL /** map from JNLPFile url to shared classloader */ private static Map urlToLoader = new HashMap(); // never garbage collected! - /** number of times a classloader with native code is created */ - private static int nativeCounter = 0; - /** the directory for native code */ private File nativeDir = null; // if set, some native code exists + + /** a list of directories that contain native libraries */ + private List nativeDirectories = Collections.synchronizedList(new LinkedList()); /** security context */ private AccessControlContext acc = AccessController.getContext(); @@ -240,18 +241,22 @@ public class JNLPClassLoader extends URL // loader for this unique key. Check. JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); - if (extLoader != null) { + if (extLoader != null && extLoader != loader) { for (URL u : loader.getURLs()) extLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + extLoader.addNativeDirectory(nativeDirectory); loader = extLoader; } // loader is now current + ext. But we also need to think of // the baseLoader - if (baseLoader != null) { + if (baseLoader != null && baseLoader != loader) { for (URL u : loader.getURLs()) baseLoader.addURL(u); + for (File nativeDirectory: loader.getNativeDirectories()) + baseLoader.addNativeDirectory(nativeDirectory); loader = baseLoader; } @@ -642,8 +647,8 @@ public class JNLPClassLoader extends URL ex.printStackTrace(); } - if (jar.isNative()) - activateNative(jar); + // some programs place a native library in any jar + activateNative(jar); } return null; @@ -654,9 +659,9 @@ public class JNLPClassLoader extends URL } /** - * Enable the native code contained in a JAR by copying the - * native files into the filesystem. Called in the security - * context of the classloader. + * Search for and enable any native code contained in a JAR by copying the + * native files into the filesystem. Called in the security context of the + * classloader. */ protected void activateNative(JARDesc jar) { if (JNLPRuntime.isDebug()) @@ -669,17 +674,33 @@ public class JNLPClassLoader extends URL if (nativeDir == null) nativeDir = getNativeDir(); + String[] librarySuffixes = { ".so", ".dylib", ".jnilib", ".framework", ".dll" }; + try { JarFile jarFile = new JarFile(localFile, false); - Enumeration entries = jarFile.entries(); + Enumeration entries = jarFile.entries(); while (entries.hasMoreElements()) { - JarEntry e = (JarEntry) entries.nextElement(); + JarEntry e = entries.nextElement(); - if (e.isDirectory() || e.getName().indexOf('/') != -1) + if (e.isDirectory()) { continue; + } - File outFile = new File(nativeDir, e.getName()); + String name = new File(e.getName()).getName(); + boolean isLibrary = false; + + for (String suffix: librarySuffixes) { + if (name.endsWith(suffix)) { + isLibrary = true; + break; + } + } + if (!isLibrary) { + continue; + } + + File outFile = new File(nativeDir, name); CacheUtil.streamCopy(jarFile.getInputStream(e), new FileOutputStream(outFile)); @@ -703,29 +724,47 @@ public class JNLPClassLoader extends URL if (!nativeDir.mkdirs()) return null; - else + else { + // add this new native directory to the search path + addNativeDirectory(nativeDir); return nativeDir; + } + } + + /** + * Adds the {@link File} to the search path of this {@link JNLPClassLoader} + * when trying to find a native library + */ + protected void addNativeDirectory(File nativeDirectory) { + nativeDirectories.add(nativeDirectory); + } + + /** + * Returns a list of all directories in the search path of the current classloader + * when it tires to find a native library. + * @return a list of directories in the search path for native libraries + */ + protected List getNativeDirectories() { + return nativeDirectories; } /** * Return the absolute path to the native library. */ protected String findLibrary(String lib) { - if (nativeDir == null) - return null; - String syslib = System.mapLibraryName(lib); - File target = new File(nativeDir, syslib); - if (target.exists()) - return target.toString(); - else { - String result = super.findLibrary(lib); - if (result != null) - return result; + for (File dir: getNativeDirectories()) { + File target = new File(dir, syslib); + if (target.exists()) + return target.toString(); + } - return findLibraryExt(lib); - } + String result = super.findLibrary(lib); + if (result != null) + return result; + + return findLibraryExt(lib); } /** diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/services/XSingleInstanceService.java --- a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Fri Jul 09 12:30:10 2010 -0400 @@ -145,14 +145,21 @@ public class XSingleInstanceService impl } /** - * Start the listening server to accept arguments from new isntances of + * Start the listening server to accept arguments from new instances of * applications * * @param lockFile + * the {@link SingleInstanceLock} that the server should use */ private void startListeningServer(SingleInstanceLock lockFile) { SingleInstanceServer server = new SingleInstanceServer(lockFile); - new Thread(server).start(); + Thread serverThread = new Thread(server); + /* + * mark as daemon so the JVM can shutdown if the server is the only + * thread running + */ + serverThread.setDaemon(true); + serverThread.start(); } /** diff -r 9969adc2442f -r ec12891f51bc netx/net/sourceforge/jnlp/util/FileUtils.java --- a/netx/net/sourceforge/jnlp/util/FileUtils.java Tue Jun 15 18:34:45 2010 +0100 +++ b/netx/net/sourceforge/jnlp/util/FileUtils.java Fri Jul 09 12:30:10 2010 -0400 @@ -14,35 +14,58 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - package net.sourceforge.jnlp.util; +import java.io.File; + /** - * This class contains a few file-related utility functions. + * This class contains a few file-related utility functions. * * @author Omair Majid */ -public class FileUtils { +public final class FileUtils { - + /** + * list of characters not allowed in filenames + */ + private static final char INVALID_CHARS[] = { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; + + private static final char SANITIZED_CHAR = '_'; + + /** + * Clean up a string by removing characters that can't appear in a local + * file name. + * + * @param path + * the path to sanitize + * @return a sanitized version of the input which is suitable for using as a + * file path + */ + public static String sanitizePath(String path) { + + for (int i = 0; i < INVALID_CHARS.length; i++) + if (INVALID_CHARS[i] != File.separatorChar) + if (-1 != path.indexOf(INVALID_CHARS[i])) + path = path.replace(INVALID_CHARS[i], SANITIZED_CHAR); + + return path; + } + /** * Given an input, return a sanitized form of the input suitable for use as * a file/directory name - * + * * @param input * @return a sanitized version of the input */ - public static String sanitizeFileName(String input) { + public static String sanitizeFileName(String filename) { - /* - * FIXME - * - * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' - */ + for (int i = 0; i < INVALID_CHARS.length; i++) + if (-1 != filename.indexOf(INVALID_CHARS[i])) + filename = filename.replace(INVALID_CHARS[i], SANITIZED_CHAR); - String sanitizedName = input.replaceAll("[^a-zA-Z0-9.]", "_"); - return sanitizedName; + return filename; } - + } diff -r 9969adc2442f -r ec12891f51bc plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Fri Jul 09 12:30:10 2010 -0400 @@ -0,0 +1,52 @@ +/* ForbiddenTargetException.java + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) From ahughes at redhat.com Sun Jul 11 10:00:23 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 11 Jul 2010 18:00:23 +0100 Subject: /hg/release/icedtea6-1.7: 3 new changesets In-Reply-To: References: Message-ID: On 9 July 2010 16:00, wrote: > changeset c71e17e97201 in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c71e17e97201 > author: Omair Majid > date: Thu Jul 08 14:25:02 2010 -0400 > > ? ? ? ?2010-07-08 Omair Majid > > ? ? ? ? PR icedtea/460 > ? ? ? ? ? ?* plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav > ? ? ? ?a: New file. Some applets, for legacy support, expect this class > ? ? ? ?to be present. > > > changeset 07bbc0e2f5e0 in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=07bbc0e2f5e0 > author: Omair Majid > date: Thu Jul 08 14:31:02 2010 -0400 > > ? ? ? ?2010-07-08 Omair Majid > > ? ? ? ? * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > ? ? ? ?(reFrame): Pass the panel to the constructor, dont set it yourself. > ? ? ? ?(PluginAppletViewer): Set the panel to be the passed in object and > ? ? ? ?only then add it to the list of all panels. > > It would have been good to fix the summaries on these two changesets before backporting as I mentioned to you on IRC. > changeset a8aeb44946cb in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=a8aeb44946cb > author: Deepak Bhole > date: Fri Jul 09 10:59:53 2010 -0400 > > ? ? ? ?Updated copyright dates in plugin sources > This doesn't appear to be on HEAD... > > diffstat: > > 15 files changed, 96 insertions(+), 15 deletions(-) > ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? 29 +++++ > plugin/icedteanp/IcedTeaJavaRequestProcessor.cc ? ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaJavaRequestProcessor.h ? ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/IcedTeaNPPlugin.cc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaNPPlugin.h ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/IcedTeaPluginRequestProcessor.cc ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaPluginRequestProcessor.h ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/IcedTeaPluginUtils.cc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/IcedTeaPluginUtils.h ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaRunnable.cc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaRunnable.h ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/IcedTeaScriptablePluginObject.cc ? ? ? ? ? ? ? ? ? ? | ? ?2 > plugin/icedteanp/IcedTeaScriptablePluginObject.h ? ? ? ? ? ? ? ? ? ? ?| ? ?2 > plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | ? 52 ++++++++++ > plugin/icedteanp/java/sun/applet/PluginAppletViewer.java ? ? ? ? ? ? ?| ? ?6 - > > diffs (253 lines): > > diff -r a14090fab523 -r a8aeb44946cb ChangeLog > --- a/ChangeLog Tue Jun 15 18:34:45 2010 +0100 > +++ b/ChangeLog Fri Jul 09 10:59:53 2010 -0400 > @@ -1,3 +1,32 @@ 2010-06-14 Andrew John Hughes ? +2010-07-09 ?Deepak Bhole > + > + ? ? ? * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Updated copyright date. > + ? ? ? * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. > + ? ? ? * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. > + ? ? ? * plugin/icedteanp/IcedTeaNPPlugin.h: Same. > + ? ? ? * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. > + ? ? ? * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Same. > + ? ? ? * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. > + ? ? ? * plugin/icedteanp/IcedTeaPluginUtils.h: Same. > + ? ? ? * plugin/icedteanp/IcedTeaRunnable.cc: Same. > + ? ? ? * plugin/icedteanp/IcedTeaRunnable.h: Same. > + ? ? ? * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. > + ? ? ? * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. > + > +2010-07-08 ?Omair Majid ? > + > + ? ? ? * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > + ? ? ? (reFrame): Pass the panel to the constructor, dont set it yourself. > + ? ? ? (PluginAppletViewer): Set the panel to be the passed in object and only > + ? ? ? then add it to the list of all panels. > + > +2010-07-08 ?Omair Majid ? > + > + ? ? ? PR icedtea/460 > + ? ? ? * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: > + ? ? ? New file. Some applets, for legacy support, expect this class to be > + ? ? ? present. > + > ?2010-06-14 Andrew John Hughes ? > > ? ? ? ?Don't print out the return value of pthread_self > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaJavaRequestProcessor.cc > --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc ? Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc ? Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaJavaRequestProcessor.cc > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaJavaRequestProcessor.h > --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h ? ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h ? ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaJavaRequestProcessor.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc ? ? ? Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc ? ? ? Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaNPPlugin.cc -- web browser plugin to execute Java applets > ? ?Copyright (C) 2003, 2004, 2006, 2007 ?Free Software Foundation, Inc. > - ? Copyright (C) 2009 Red Hat > + ? Copyright (C) 2009, 2010 Red Hat > > ?This file is part of GNU Classpath. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaNPPlugin.h > --- a/plugin/icedteanp/IcedTeaNPPlugin.h ? ? ? ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.h ? ? ? ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaNPPlugin.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginRequestProcessor.cc > --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaPluginRequestProcessor.cc > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginRequestProcessor.h > --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.h ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.h ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaPluginRequestProcessor.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginUtils.cc > --- a/plugin/icedteanp/IcedTeaPluginUtils.cc ? ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc ? ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaPluginUtils.cc > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaPluginUtils.h > --- a/plugin/icedteanp/IcedTeaPluginUtils.h ? ? Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaPluginUtils.h ? ? Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaPluginUtils.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaRunnable.cc > --- a/plugin/icedteanp/IcedTeaRunnable.cc ? ? ? Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaRunnable.cc ? ? ? Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaRunnable.cc > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaRunnable.h > --- a/plugin/icedteanp/IcedTeaRunnable.h ? ? ? ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaRunnable.h ? ? ? ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaRunnable.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaScriptablePluginObject.cc > --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaScriptablePluginObject.cc > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/IcedTeaScriptablePluginObject.h > --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.h ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.h ?Fri Jul 09 10:59:53 2010 -0400 > @@ -1,6 +1,6 @@ > ?/* IcedTeaScriptablePluginObject.h > > - ? Copyright (C) 2009 ?Red Hat > + ? Copyright (C) 2009, 2010 ?Red Hat > > ?This file is part of IcedTea. > > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java ? ? Fri Jul 09 10:59:53 2010 -0400 > @@ -0,0 +1,52 @@ > +/* ForbiddenTargetException.java > + ? Copyright (C) 2010 ?Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. ?If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. ?Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. ?An independent module is a module which is not derived from > +or based on this library. ?If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. ?If you do not wish to do so, delete this > +exception statement from your version. */ > + > +package netscape.security; > + > +public class ForbiddenTargetException extends RuntimeException{ > + > + ? ?private static final long serialVersionUID = 1271219852541058396L; > + > + ? ?public ForbiddenTargetException() { > + ? ? ? ?super(); > + ? ?} > + > + ? ?public ForbiddenTargetException(String s) { > + ? ? ? ?super(s); > + ? ?} > + > +} > diff -r a14090fab523 -r a8aeb44946cb plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java ?Tue Jun 15 18:34:45 2010 +0100 > +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java ?Fri Jul 09 10:59:53 2010 -0400 > @@ -393,8 +393,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; > ? ? ? ? ?if (oldFrame != null && handle == oldFrame.handle) > ? ? ? ? ? ? ?return; > > - ? ? ? ? PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor); > - ? ? ? ? newFrame.panel = panel; > + ? ? ? ? PluginAppletViewer newFrame = new PluginAppletViewer(handle, identifier, statusMsgStream, heightFactor, widthFactor, panel); > > ? ? ? ? ?if (oldFrame != null) { > ? ? ? ? ? ? ?applets.remove(oldFrame.identifier); > @@ -425,13 +424,14 @@ import com.sun.jndi.toolkit.url.UrlUtil; > ? ? ? */ > ? ? ?private PluginAppletViewer(long handle, final int identifier, > ? ? ? ? ? ? ? ? ? ? ? ? ?PrintStream statusMsgStream, double heightFactor, > - ? ? ? ? ? ? ? ? ? ? ? ? double widthFactor) { > + ? ? ? ? ? ? ? ? ? ? ? ? double widthFactor, AppletViewerPanel appletPanel) { > > ? ? ? ? ?super(handle, true); > ? ? ? ? ?this.statusMsgStream = statusMsgStream; > ? ? ? ? ?this.identifier = identifier; > ? ? ? ? ?this.proposedHeightFactor = heightFactor; > ? ? ? ? ?this.proposedWidthFactor = widthFactor; > + ? ? ? ? this.panel = appletPanel; > > ? ? ? ? ?if (!appletPanels.contains(panel)) > ? ? ? ? ? ? ?appletPanels.addElement(panel); > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Sun Jul 11 10:09:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Jul 2010 17:09:46 +0000 Subject: [Bug 520] New: Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 Summary: Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Product: IcedTea Version: 6-1.8 Platform: 64-bit OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: niklas at komani.de I'm on Archlinux 64bit and the versions of the described software looks like this: pacman -Ss jdk extra/openjdk6 6.b18_1.8-1 Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs. extra/openjdk6-src 6.b18_1.8-1 Free Java environment based on OpenJDK 6.0 Source Bundle community/jdk 6u20-1 [installed] Sun's Java Development Kit I've got a tiny program I developed for homework, which solves the Knapsack problem. With more then 20 elements it stops working under the OpenJDK crashing with SIGSEGV (core dumped) and no further error messages, in about half the runs, working fine in the other half. However the same program works perfectly on the Sun (Oracle) JRE even with more then 1000 elements. The sourcecode is included in the jar file, feel free to use it in any way you like. The code is a little bit messy though hacked it together in a few hours... Here is the download link: http://niklas.sceneproject.org/coding/rucksack.jar -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Mon Jul 12 00:44:15 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 12 Jul 2010 09:44:15 +0200 Subject: /hg/icedtea: Fix CACAO build and downloading. Bump to newer cha... In-Reply-To: References: Message-ID: <4C3AC7CF.1060708@ubuntu.com> The changelog doesn't match what was checked in. patches/cacao/version-parsing.patch is missing. On 25.06.2010 03:15, andrew at icedtea.classpath.org wrote: > changeset 6870b368f4e5 in /hg/icedtea > details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=6870b368f4e5 > author: Andrew John Hughes > date: Fri Jun 25 02:15:15 2010 +0100 > > Fix CACAO build and downloading. Bump to newer changeset with > optimisation and version parsing fix. > > 2010-06-24 Andrew John Hughes > > * patches/cacao/package-version.patch: Removed; > breaks CACAO versioning. > * Makefile.am: Update to new changeset with optimisation > and version parsing fix. Fix downloading. (CACAO_BASE_URL): > Remove tip.tar.bz2 suffix. (CACAO_URL): Remove duplication > of /hg/cacao/archive. (CACAO_VERSION): Bump to changeset > which increases optimisation to -O2 not -O0. > (CACAO_SHA256SUM): Updated for above. (download-cacao): > Don't append CACAO_SRC_ZIP to URL. > * patches/cacao/version-parsing.patch: Fix parsing of the > minor version due to the update from 1.1.0pre to 1.1.0pre1 > in the new changeset. > * patches/cacao/6714758.patch: Fix bad paths introduced by > previous changeset. > > > diffstat: > > 4 files changed, 32 insertions(+), 23 deletions(-) > ChangeLog | 23 ++++++++++++++++++++++- > Makefile.am | 13 ++++++------- > patches/cacao/6714758.patch | 8 ++++---- > patches/cacao/package-version.patch | 11 ----------- From doko at ubuntu.com Mon Jul 12 00:49:45 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 12 Jul 2010 09:49:45 +0200 Subject: zero build failure on icedtea7 trunk Message-ID: <4C3AC919.2070408@ubuntu.com> current icedtea7 fails to build, patches/shark.patch is missing. while trying to create a patch I noticed that the files in the build directory are hard linked to the ports directory. how is a patch supposed to work? fixing it directly works for me. diff -r 60b7879c73d7 ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp +++ b/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp @@ -59,4 +59,5 @@ define_pd_global(uintx, MaxPermSize, 64*M ); define_pd_global(bool, NeverActAsServerClassMachine, true ); define_pd_global(uintx, DefaultMaxRAM, 1*G ); +define_pd_global(uint64_t, MaxRAM, 1ULL*G); define_pd_global(bool, CICompileOSR, true ); From doko at ubuntu.com Mon Jul 12 00:55:08 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 12 Jul 2010 09:55:08 +0200 Subject: shark build failure on icedtea7 trunk Message-ID: <4C3ACA5C.50005@ubuntu.com> after fixing the zero build failure, shark fails to build (llvm-2.7): In file included from ../generated/incls/_sharkBuilder.cpp.incl:10, from build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp: In member function 'llvm::Value* SharkBuilder::CreateInlineOop(ciObject*, const char*)': build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp:195: error: 'class ciObject' has no member named 'encoding' From gbenson at redhat.com Mon Jul 12 01:41:42 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 12 Jul 2010 09:41:42 +0100 Subject: shark build failure on icedtea7 trunk In-Reply-To: <4C3ACA5C.50005@ubuntu.com> References: <4C3ACA5C.50005@ubuntu.com> Message-ID: <20100712084142.GA3348@redhat.com> Matthias Klose wrote: > after fixing the zero build failure, shark fails to build (llvm-2.7): > > In file included from ../generated/incls/_sharkBuilder.cpp.incl:10, > from > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp: In > member function 'llvm::Value* SharkBuilder::CreateInlineOop(ciObject*, > const char*)': > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp:195: > error: 'class ciObject' has no member named 'encoding' It should be constant_encoding, or something like that. The names were changed in some version or another of HotSpot. Hopefully when it's upstream all of this will go away :) Cheers, Gary From doko at ubuntu.com Mon Jul 12 03:28:23 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 12 Jul 2010 12:28:23 +0200 Subject: shark build failure on icedtea7 trunk In-Reply-To: <20100712084142.GA3348@redhat.com> References: <4C3ACA5C.50005@ubuntu.com> <20100712084142.GA3348@redhat.com> Message-ID: <4C3AEE47.7000101@ubuntu.com> On 12.07.2010 10:41, Gary Benson wrote: > Matthias Klose wrote: >> after fixing the zero build failure, shark fails to build (llvm-2.7): >> >> In file included from ../generated/incls/_sharkBuilder.cpp.incl:10, >> from >> build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: >> build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp: In >> member function 'llvm::Value* SharkBuilder::CreateInlineOop(ciObject*, >> const char*)': >> build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp:195: >> error: 'class ciObject' has no member named 'encoding' > > It should be constant_encoding, or something like that. > The names were changed in some version or another of HotSpot. > Hopefully when it's upstream all of this will go away :) ok, thanks. The following fixes the build. ok to checkin this and the other zero fix? diff -r b18f5ecf2522 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 11:24:29 2010 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 12:27:52 2010 +0200 @@ -192,7 +192,7 @@ llvm::Value* code_buffer_address(int offset); llvm::Value* CreateInlineOop(jobject object, const char* name = ""); llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") { - return CreateInlineOop(object->encoding(), name); + return CreateInlineOop(object->constant_encoding(), name); } llvm::Value* CreateInlineData(void* data, size_t size, From gbenson at redhat.com Mon Jul 12 03:43:27 2010 From: gbenson at redhat.com (Gary Benson) Date: Mon, 12 Jul 2010 11:43:27 +0100 Subject: shark build failure on icedtea7 trunk In-Reply-To: <4C3AEE47.7000101@ubuntu.com> References: <4C3ACA5C.50005@ubuntu.com> <20100712084142.GA3348@redhat.com> <4C3AEE47.7000101@ubuntu.com> Message-ID: <20100712104326.GC3348@redhat.com> Matthias Klose wrote: > On 12.07.2010 10:41, Gary Benson wrote: > > Matthias Klose wrote: > > > after fixing the zero build failure, shark fails to build (llvm-2.7): > > > > > > In file included from ../generated/incls/_sharkBuilder.cpp.incl:10, > > > from > > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: > > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp: In > > > member function 'llvm::Value* SharkBuilder::CreateInlineOop(ciObject*, > > > const char*)': > > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp:195: > > > error: 'class ciObject' has no member named 'encoding' > > > > It should be constant_encoding, or something like that. > > The names were changed in some version or another of HotSpot. > > Hopefully when it's upstream all of this will go away :) > > ok, thanks. The following fixes the build. ok to checkin this and the > other zero fix? It's ok by me if it's ok with Andrew (Hughes). Cheers, Gary > > diff -r b18f5ecf2522 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp > --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 > 11:24:29 2010 +0200 > +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 > 12:27:52 2010 +0200 > @@ -192,7 +192,7 @@ > llvm::Value* code_buffer_address(int offset); > llvm::Value* CreateInlineOop(jobject object, const char* name = ""); > llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") { > - return CreateInlineOop(object->encoding(), name); > + return CreateInlineOop(object->constant_encoding(), name); > } > llvm::Value* CreateInlineData(void* data, > size_t size, > > -- http://gbenson.net/ From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 04:28:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 11:28:53 +0000 Subject: [Bug 513] cacao+Icedtea6 on ARM build failure on armv7l with --enable-softfloat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=513 ------- Comment #3 from stefan at complang.tuwien.ac.at 2010-07-12 11:28 ------- I've already fixed the build last week (no commit yet), but it doesn't work yet. There has been an extensive code generation loop unification recently, and some ARM-specific hacks seem to have been lost during this process. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Mon Jul 12 04:36:41 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 12 Jul 2010 11:36:41 +0000 Subject: /hg/gfx-test: Added licence text to each source file. Message-ID: changeset a616bbdb494c in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a616bbdb494c author: Pavel Tisnovsky date: Mon Jul 12 13:36:50 2010 +0200 Added licence text to each source file. diffstat: 16 files changed, 638 insertions(+) Makefile | 38 +++++++++ src/org/gfxtest/framework/Configuration.java | 40 ++++++++++ src/org/gfxtest/framework/ConfigurationException.java | 40 ++++++++++ src/org/gfxtest/framework/GfxTest.java | 40 ++++++++++ src/org/gfxtest/framework/InvalidParameterValueException.java | 40 ++++++++++ src/org/gfxtest/framework/Log.java | 40 ++++++++++ src/org/gfxtest/framework/ParameterNotFoundException.java | 40 ++++++++++ src/org/gfxtest/framework/TestImage.java | 40 ++++++++++ src/org/gfxtest/framework/TestResult.java | 40 ++++++++++ src/org/gfxtest/testsuites/BlankImage.java | 40 ++++++++++ src/org/gfxtest/testsuites/DashedLines.java | 40 ++++++++++ src/org/gfxtest/testsuites/DashedPolylines.java | 40 ++++++++++ src/org/gfxtest/testsuites/DashedRectangles.java | 40 ++++++++++ src/org/gfxtest/testsuites/ScaledLines.java | 40 ++++++++++ src/org/gfxtest/testsuites/ScaledPolylines.java | 40 ++++++++++ src/org/gfxtest/testsuites/ScaledRectangles.java | 40 ++++++++++ diffs (truncated from 750 to 500 lines): diff -r 748e145c2613 -r a616bbdb494c Makefile --- a/Makefile Thu Jul 08 16:54:51 2010 +0200 +++ b/Makefile Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,41 @@ SOURCEPATH=src +# Java gfx-test framework +# +# Copyright (C) 2010 Red Hat +# +# This file is part of IcedTea. +# +# IcedTea is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# IcedTea is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with IcedTea; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA. +# +# Linking this library statically or dynamically with other modules is +# making a combined work based on this library. Thus, the terms and +# conditions of the GNU General Public License cover the whole +# combination. +# +# As a special exception, the copyright holders of this library give you +# permission to link this library with independent modules to produce an +# executable, regardless of the license terms of these independent +# modules, and to copy and distribute the resulting executable under +# terms of your choice, provided that you also meet, for each linked +# independent module, the terms and conditions of the license of that +# module. An independent module is a module which is not derived from +# or based on this library. If you modify this library, you may extend +# this exception to your version of the library, but you are not +# obligated to do so. If you do not wish to do so, delete this +# exception statement from your version. + SOURCEPATH=src CLASSES=build OUTPUT=output diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/Configuration.java --- a/src/org/gfxtest/framework/Configuration.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/Configuration.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; import java.awt.image.BufferedImage; diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/ConfigurationException.java --- a/src/org/gfxtest/framework/ConfigurationException.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/ConfigurationException.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; /** diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; import java.awt.BasicStroke; diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/InvalidParameterValueException.java --- a/src/org/gfxtest/framework/InvalidParameterValueException.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/InvalidParameterValueException.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; /** diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/Log.java --- a/src/org/gfxtest/framework/Log.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/Log.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; import java.util.Date; diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/ParameterNotFoundException.java --- a/src/org/gfxtest/framework/ParameterNotFoundException.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/ParameterNotFoundException.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; /** diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/TestImage.java --- a/src/org/gfxtest/framework/TestImage.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/TestImage.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; import java.awt.Color; diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/framework/TestResult.java --- a/src/org/gfxtest/framework/TestResult.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/framework/TestResult.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; /** diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/testsuites/BlankImage.java --- a/src/org/gfxtest/testsuites/BlankImage.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/testsuites/BlankImage.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.testsuites; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.testsuites; import java.awt.*; diff -r 748e145c2613 -r a616bbdb494c src/org/gfxtest/testsuites/DashedLines.java --- a/src/org/gfxtest/testsuites/DashedLines.java Thu Jul 08 16:54:51 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedLines.java Mon Jul 12 13:36:50 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.testsuites; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 07:15:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 14:15:45 +0000 Subject: [Bug 394] pre Epoch bug : java.lang.ExceptionInInitializerError on systems with time set before January 1, 1970 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 ------- Comment #20 from jon.vanalten at redhat.com 2010-07-12 14:15 ------- Upstream changeset: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/da8526047e5f -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Mon Jul 12 07:43:50 2010 From: omajid at redhat.com (Omair Majid) Date: Mon, 12 Jul 2010 10:43:50 -0400 Subject: RFC: Fix for exceptions thrown in PulseAudio backend (WAS: Re: PulseAudio capture issue) In-Reply-To: <792366148.2196991278513473621.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <792366148.2196991278513473621.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <4C3B2A26.6070605@redhat.com> On 07/07/2010 10:37 AM, jon.vanalten at redhat.com wrote: > Hi, > > I've attached a patch that addresses the problems from this example, along with a few other tweaks. A more detailed description is on the bugzilla. Comments? OK to commit? > > thanks, > > jon The patch looks good to me. Please go ahead and commit. Cheers, Omair > > > ----- "jon vanalten" wrote: > >> Confirmed. >> >> $java -version >> java version "1.6.0_18" >> OpenJDK Runtime Environment (IcedTea6 1.8) >> (fedora-39.b18.fc12-x86_64) >> OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) >> >> If com.sun.media.sound provider is specified in sound.properties, this >> example works fine. If org.classpath.icedtea.pulseaudio provider is >> used, exceptions abound. Fails at different points, giving different >> exceptions, depending on the output (WAV/AU/etc) chosen. >> >> I went ahead and opened a bug against this. >> >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 >> >> cheers, >> >> jon >> >> ----- "Andrew John Hughes" wrote: >> >>> Forwarding this to the IcedTea discussion list distro-pkg-dev; the >>> PulseAudio provider is (AFAIK) unique to IcedTea, so the tests with >>> 'java-6-sun' (which I presume is the proprietary Oracle JDK) will >> be >>> using a completely different provider. >>> >>> ---------- Forwarded message ---------- >>> From: August Sodora >>> Date: 5 July 2010 21:46 >>> Subject: PulseAudio capture issue >>> To: jdk6-dev at openjdk.java.net >>> >>> >>> Hello all, >>> I've been attempting to write a simple program to capture audio >> from >>> the microphone and found a piece of sample code that seemed to >>> demonstrate the basic idea but also possibly indicates a bug in the >>> openjdk implementation of the pulse interface. Running the example >>> with java-6-openjdk produces an exception when the TargetDataLine >> is >>> closed but it runs successfully with java-6-sun. The exception is >>> reproduced below: >>> java.lang.IllegalStateException: Line cant be closed if it isnt >> open >>> at >>> >> org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.close(PulseAudioTargetDataLine.java:84) >>> at >>> >> javax.sound.sampled.AudioInputStream$TargetDataLineInputStream.close(AudioInputStream.java:484) >>> at >>> >> javax.sound.sampled.AudioInputStream.close(AudioInputStream.java:389) >>> at >>> >> java.io.SequenceInputStream.nextStream(SequenceInputStream.java:106) >>> at java.io.SequenceInputStream.read(SequenceInputStream.java:210) >>> at java.io.SequenceInputStream.read(SequenceInputStream.java:211) >>> at java.io.InputStream.read(InputStream.java:102) >>> at >>> >> com.sun.media.sound.WaveFileWriter.writeWaveFile(WaveFileWriter.java:249) >>> at >> com.sun.media.sound.WaveFileWriter.write(WaveFileWriter.java:147) >>> at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1354) >>> at AudioRecorder02$CaptureThread.run(AudioRecorder02.java:221) >>> And the example source can be found at >>> >> http://www.developer.com/java/other/article.php/2105421/Java-Sound-Capturing-Microphone-Data-into-an-Audio-File.htm#Complete >>> Program Listings >>> uname -a >>> Linux ubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 >> UTC >>> 2010 x86_64 GNU/Linux >>> Steps to reproduce: >>> 1. Copy the program listing into a file name AudioRecorder02.java >>> 2. javac AudioRecorder02.java >>> 3. sudo update-java-alternatives -s java-6-openjdk >>> 4. java AudioRecorder02 >>> 5. Select "Capture" followed by "Stop" >>> 6. The above exception will be produced >>> If in step 3, one replaces java-6-openjdk with java-6-sun, the >>> program >>> runs successfully. >>> I'd be interested in investigating this further if that would be >>> useful. >>> Augie >>> >>> >>> -- >>> Andrew :-) >>> >>> Free Java Software Engineer >>> Red Hat, Inc. (http://www.redhat.com) >>> >>> Support Free Java! >>> Contribute to GNU Classpath and the OpenJDK >>> http://www.gnu.org/software/classpath >>> http://openjdk.java.net >>> >>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >>> Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From vanaltj at icedtea.classpath.org Mon Jul 12 08:16:24 2010 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Mon, 12 Jul 2010 15:16:24 +0000 Subject: /hg/icedtea6: Eliminate spurious exception throwing in PulseAudi... Message-ID: changeset e35661d7528d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e35661d7528d author: Jon VanAlten date: Mon Jul 12 11:13:35 2010 -0400 Eliminate spurious exception throwing in PulseAudio provider. 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataL ine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine. java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourc eDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTarge tDataLine.java: Eliminate spurious exception throwing from open, close, read, write, drain, and flush calls on closed lines. Use isOpen() API call instead of instance variable where appropriate. diffstat: 5 files changed, 86 insertions(+), 77 deletions(-) ChangeLog | 9 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 +-- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 +--- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 +++++----- diffs (369 lines): diff -r 867af494861c -r e35661d7528d ChangeLog --- a/ChangeLog Thu Jul 08 15:54:35 2010 -0400 +++ b/ChangeLog Mon Jul 12 11:13:35 2010 -0400 @@ -1,3 +1,12 @@ 2010-07-08 Man Lung Wong + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + 2010-07-08 Man Lung Wong * netx/net/sourceforge/jnlp/Parser.java: diff -r 867af494861c -r e35661d7528d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Thu Jul 08 15:54:35 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -86,7 +86,7 @@ abstract class PulseAudioDataLine extend protected void open(AudioFormat format, int bufferSize) throws LineUnavailableException { - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("Line is already open"); } @@ -139,7 +139,7 @@ abstract class PulseAudioDataLine extend } } - if (!isOpen) { + if (!isOpen()) { throw new IllegalArgumentException("Invalid format"); } @@ -299,9 +299,10 @@ abstract class PulseAudioDataLine extend @Override public void close() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open for close() to work"); + if (!isOpen()) { + // For whatever reason, we are being asked to close + // a line that is not even open. + return; } synchronized (eventLoop.threadLock) { @@ -346,7 +347,7 @@ abstract class PulseAudioDataLine extend @Override public void start() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException( "Line must be open()ed before it can be start()ed"); } @@ -376,10 +377,10 @@ abstract class PulseAudioDataLine extend @Override public synchronized void stop() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open()ed before it can be start()ed"); - + if (!isOpen()) { + // For some reason, we are being asked to stop a line + // that isn't even open. + return; } writeInterrupted = true; if (!isStarted) { @@ -433,7 +434,7 @@ abstract class PulseAudioDataLine extend throws LineUnavailableException; public Stream getStream() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line must be open"); } @@ -442,7 +443,7 @@ abstract class PulseAudioDataLine extend @Override public int getBufferSize() { - if (!isOpen) { + if (!isOpen()) { return DEFAULT_BUFFER_SIZE; } return bufferSize; @@ -450,7 +451,7 @@ abstract class PulseAudioDataLine extend @Override public AudioFormat getFormat() { - if (!isOpen) { + if (!isOpen()) { return defaultFormat; } return currentFormat; @@ -467,7 +468,7 @@ abstract class PulseAudioDataLine extend * the name of this audio stream */ public void setName(String streamName) { - if (isOpen) { + if (isOpen()) { Operation o; synchronized (eventLoop.threadLock) { diff -r 867af494861c -r e35661d7528d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Thu Jul 08 15:54:35 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -62,7 +62,7 @@ abstract class PulseAudioLine implements @Override public void close() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line is not open"); } @@ -79,7 +79,7 @@ abstract class PulseAudioLine implements @Override public Control getControl(Type control) { - if (isOpen) { + if (isOpen()) { for (Control aControl : controls) { if (aControl.getType() == control) { return aControl; @@ -92,7 +92,7 @@ abstract class PulseAudioLine implements @Override public Control[] getControls() { - if (!isOpen) { + if (!isOpen()) { return new Control[] {}; } diff -r 867af494861c -r e35661d7528d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Thu Jul 08 15:54:35 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -142,8 +142,9 @@ public final class PulseAudioSourceDataL writeInterrupted = false; } - if (!isOpen) { - throw new IllegalStateException("must call open() before write()"); + if (!isOpen()) { + // A closed line can write exactly 0 bytes. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -259,11 +260,6 @@ public final class PulseAudioSourceDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be drain()ed"); - - } synchronized (this) { writeInterrupted = true; @@ -271,13 +267,13 @@ public final class PulseAudioSourceDataL do { synchronized (this) { - if (!isOpen) { + if (!isOpen()) { return; } if (getBytesInBuffer() == 0) { return; } - if (isStarted || !isOpen) { + if (isStarted) { break; } try { @@ -301,29 +297,27 @@ public final class PulseAudioSourceDataL @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be flush()ed"); - } synchronized (this) { writeInterrupted = true; } - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); + if (isOpen()) { + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + + operation.waitForCompletion(); + operation.releaseReference(); } - - operation.waitForCompletion(); - operation.releaseReference(); } @Override synchronized public void close() { - if (!isOpen) { - throw new IllegalStateException("not open so cant close"); + if (!isOpen()) { + return; } writeInterrupted = true; diff -r 867af494861c -r e35661d7528d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Thu Jul 08 15:54:35 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -76,14 +76,18 @@ public final class PulseAudioTargetDataL @Override synchronized public void close() { + if (!isOpen()) { + // Probably due to some programmer error, we are being + // asked to close an already closed line. Oh well. + Debug.println(DebugLevel.Verbose, + "PulseAudioTargetDataLine.close(): " + + "Line closed that wasn't open."); + return; + } + /* check for permission to record audio */ AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - - if (!isOpen) { - throw new IllegalStateException( - "Line cant be closed if it isnt open"); - } PulseAudioMixer parentMixer = PulseAudioMixer.getInstance(); parentMixer.removeTargetLine(this); @@ -101,7 +105,7 @@ public final class PulseAudioTargetDataL AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("already open"); } super.open(format, bufferSize); @@ -142,8 +146,9 @@ public final class PulseAudioTargetDataL /* check state and inputs */ - if (!isOpen) { - throw new IllegalStateException("must call open() before read()"); + if (!isOpen()) { + // A closed line can produce zero bytes of data. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -220,7 +225,7 @@ public final class PulseAudioTargetDataL while (remainingLength != 0) { synchronized (this) { - if (!isOpen || !isStarted) { + if (!isOpen() || !isStarted) { return sizeRead; } @@ -287,57 +292,57 @@ public final class PulseAudioTargetDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException("must call open() before drain()"); + // blocks when there is data on the line + // http://www.jsresources.org/faq_audio.html#stop_drain_tdl + while (true) { + synchronized (this) { + if (!isStarted || !isOpen()) { + break; + } + } + try { + //TODO: Is this the best length of sleep? + //Maybe in case this loop runs for a long time + //it would be good to switch to a longer + //sleep. Like bump it up each iteration after + //the Nth iteration, up to a MAXSLEEP length. + Thread.sleep(100); + } catch (InterruptedException e) { + // do nothing + } } synchronized (this) { drained = true; } - // blocks when there is data on the line - // http://www.jsresources.org/faq_audio.html#stop_drain_tdl - while (true) { - synchronized (this) { - if (!isStarted || !isOpen) { - break; - } - } - try { - Thread.sleep(100); - } catch (InterruptedException e) { - // do nothing - } - } - } @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (isOpen()) { + + /* flush the buffer on pulseaudio's side */ + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + operation.waitForCompletion(); + operation.releaseReference(); } - - /* flush the buffer on pulseaudio's side */ - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); - } - operation.waitForCompletion(); - operation.releaseReference(); synchronized (this) { flushed = true; /* flush the partial fragment we stored */ fragmentBuffer = null; } - } @Override public int available() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (!isOpen()) { + // a closed line has 0 bytes available. + return 0; } synchronized (eventLoop.threadLock) { From jon.vanalten at redhat.com Mon Jul 12 08:19:23 2010 From: jon.vanalten at redhat.com (Jon VanAlten) Date: Mon, 12 Jul 2010 11:19:23 -0400 (EDT) Subject: RFC: Fix for exceptions thrown in PulseAudio backend (WAS: Re: PulseAudio capture issue) In-Reply-To: <4C3B2A26.6070605@redhat.com> Message-ID: <269746401.108871278947963190.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi Omair, Thanks for taking a look. ----- "Omair Majid" wrote: > On 07/07/2010 10:37 AM, jon.vanalten at redhat.com wrote: > > Hi, > > > > I've attached a patch that addresses the problems from this example, > along with a few other tweaks. A more detailed description is on the > bugzilla. Comments? OK to commit? > > > > thanks, > > > > jon > > > The patch looks good to me. Please go ahead and commit. Done. http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e35661d7528d > > Cheers, > Omair > > > > > > > ----- "jon vanalten" wrote: > > > >> Confirmed. > >> > >> $java -version > >> java version "1.6.0_18" > >> OpenJDK Runtime Environment (IcedTea6 1.8) > >> (fedora-39.b18.fc12-x86_64) > >> OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) > >> > >> If com.sun.media.sound provider is specified in sound.properties, > this > >> example works fine. If org.classpath.icedtea.pulseaudio provider > is > >> used, exceptions abound. Fails at different points, giving > different > >> exceptions, depending on the output (WAV/AU/etc) chosen. > >> > >> I went ahead and opened a bug against this. > >> > >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=517 > >> > >> cheers, > >> > >> jon > >> > >> ----- "Andrew John Hughes" wrote: > >> > >>> Forwarding this to the IcedTea discussion list distro-pkg-dev; > the > >>> PulseAudio provider is (AFAIK) unique to IcedTea, so the tests > with > >>> 'java-6-sun' (which I presume is the proprietary Oracle JDK) will > >> be > >>> using a completely different provider. > >>> > >>> ---------- Forwarded message ---------- > >>> From: August Sodora > >>> Date: 5 July 2010 21:46 > >>> Subject: PulseAudio capture issue > >>> To: jdk6-dev at openjdk.java.net > >>> > >>> > >>> Hello all, > >>> I've been attempting to write a simple program to capture audio > >> from > >>> the microphone and found a piece of sample code that seemed to > >>> demonstrate the basic idea but also possibly indicates a bug in > the > >>> openjdk implementation of the pulse interface. Running the > example > >>> with java-6-openjdk produces an exception when the TargetDataLine > >> is > >>> closed but it runs successfully with java-6-sun. The exception is > >>> reproduced below: > >>> java.lang.IllegalStateException: Line cant be closed if it isnt > >> open > >>> at > >>> > >> > org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.close(PulseAudioTargetDataLine.java:84) > >>> at > >>> > >> > javax.sound.sampled.AudioInputStream$TargetDataLineInputStream.close(AudioInputStream.java:484) > >>> at > >>> > >> > javax.sound.sampled.AudioInputStream.close(AudioInputStream.java:389) > >>> at > >>> > >> > java.io.SequenceInputStream.nextStream(SequenceInputStream.java:106) > >>> at java.io.SequenceInputStream.read(SequenceInputStream.java:210) > >>> at java.io.SequenceInputStream.read(SequenceInputStream.java:211) > >>> at java.io.InputStream.read(InputStream.java:102) > >>> at > >>> > >> > com.sun.media.sound.WaveFileWriter.writeWaveFile(WaveFileWriter.java:249) > >>> at > >> com.sun.media.sound.WaveFileWriter.write(WaveFileWriter.java:147) > >>> at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1354) > >>> at AudioRecorder02$CaptureThread.run(AudioRecorder02.java:221) > >>> And the example source can be found at > >>> > >> > http://www.developer.com/java/other/article.php/2105421/Java-Sound-Capturing-Microphone-Data-into-an-Audio-File.htm#Complete > >>> Program Listings > >>> uname -a > >>> Linux ubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 > >> UTC > >>> 2010 x86_64 GNU/Linux > >>> Steps to reproduce: > >>> 1. Copy the program listing into a file name > AudioRecorder02.java > >>> 2. javac AudioRecorder02.java > >>> 3. sudo update-java-alternatives -s java-6-openjdk > >>> 4. java AudioRecorder02 > >>> 5. Select "Capture" followed by "Stop" > >>> 6. The above exception will be produced > >>> If in step 3, one replaces java-6-openjdk with java-6-sun, the > >>> program > >>> runs successfully. > >>> I'd be interested in investigating this further if that would be > >>> useful. > >>> Augie > >>> > >>> > >>> -- > >>> Andrew :-) > >>> > >>> Free Java Software Engineer > >>> Red Hat, Inc. (http://www.redhat.com) > >>> > >>> Support Free Java! > >>> Contribute to GNU Classpath and the OpenJDK > >>> http://www.gnu.org/software/classpath > >>> http://openjdk.java.net > >>> > >>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > >>> Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Mon Jul 12 09:31:35 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 12 Jul 2010 16:31:35 +0000 Subject: /hg/icedtea: 3 new changesets Message-ID: changeset 2159b8cf78a7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=2159b8cf78a7 author: Andrew John Hughes date: Mon Jul 12 17:25:13 2010 +0100 Delete all directories created by add-zero and add-zero-debug. 2010-07-12 Andrew John Hughes * Makefile.am: (clean-add-zero): Delete all created directories. (clean-add-debug-zero): Likewise. changeset 190ed35f3340 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=190ed35f3340 author: Andrew John Hughes date: Mon Jul 12 17:25:33 2010 +0100 Add missing file. changeset 5a146f117f6d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5a146f117f6d author: Matthias Klose date: Mon Jul 12 17:31:25 2010 +0100 2010-07-12 Matthias Klose * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: Set MaxRAM. diffstat: 4 files changed, 28 insertions(+), 4 deletions(-) ChangeLog | 11 +++++++++++ Makefile.am | 9 +++++---- patches/cacao/version-parsing.patch | 11 +++++++++++ ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp | 1 + diffs (70 lines): diff -r b18f5ecf2522 -r 5a146f117f6d ChangeLog --- a/ChangeLog Mon Jul 12 11:24:29 2010 +0200 +++ b/ChangeLog Mon Jul 12 17:31:25 2010 +0100 @@ -1,3 +1,14 @@ 2010-06-28 Andrew John Hughes + + * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: + Set MaxRAM. + +2010-07-12 Andrew John Hughes + + * Makefile.am: + (clean-add-zero): Delete all created directories. + (clean-add-debug-zero): Likewise. + 2010-06-28 Andrew John Hughes * Makefile.am: diff -r b18f5ecf2522 -r 5a146f117f6d Makefile.am --- a/Makefile.am Mon Jul 12 11:24:29 2010 +0200 +++ b/Makefile.am Mon Jul 12 17:31:25 2010 +0100 @@ -2327,11 +2327,10 @@ endif clean-add-zero: rm -rf $(BUILD_JRE_ARCH_DIR)/zero + rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg -if ADD_ZERO_BUILD - rm -rf zerovm -endif rm -f stamps/add-zero.stamp stamps/add-zero-debug.stamp: stamps/icedtea-debug.stamp @@ -2364,7 +2363,9 @@ endif touch $@ clean-add-zero-debug: - rm -rf $(BUILD_JRE_ARCH_DIR)/zero + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/zero + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/shark + rm -rf zerovm sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg rm -f stamps/add-zero-debug.stamp diff -r b18f5ecf2522 -r 5a146f117f6d patches/cacao/version-parsing.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/cacao/version-parsing.patch Mon Jul 12 17:31:25 2010 +0100 @@ -0,0 +1,11 @@ +--- cacao/cacao/m4/version.m4~ 2010-06-23 16:18:58.000000000 +0100 ++++ cacao/cacao/m4/version.m4 2010-06-24 19:11:36.000000000 +0100 +@@ -29,7 +29,7 @@ + then + major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'` + minor=`echo "$version" | $SED -e 's/^[[0-9]]*\.//' -e 's/\.[[0-9a-z.+]]*$//'` +- micro=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.//' -e 's/[[a-z.+]]*$//'` ++ micro=`echo "$version" | $SED -r -e 's/^[[0-9]]*\.[[0-9]]*\.([[0-9]]*).*/\1/'` + extra=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.[[0-9]]*//'` + else + major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'` diff -r b18f5ecf2522 -r 5a146f117f6d ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Mon Jul 12 11:24:29 2010 +0200 +++ b/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Mon Jul 12 17:31:25 2010 +0100 @@ -59,4 +59,5 @@ define_pd_global(uintx, MaxPermSize, define_pd_global(uintx, MaxPermSize, 64*M ); define_pd_global(bool, NeverActAsServerClassMachine, true ); define_pd_global(uintx, DefaultMaxRAM, 1*G ); +define_pd_global(uint64_t, MaxRAM, 1ULL*G); define_pd_global(bool, CICompileOSR, true ); From ahughes at redhat.com Mon Jul 12 09:34:01 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 12 Jul 2010 17:34:01 +0100 Subject: zero build failure on icedtea7 trunk In-Reply-To: <4C3AC919.2070408@ubuntu.com> References: <4C3AC919.2070408@ubuntu.com> Message-ID: On 12 July 2010 08:49, Matthias Klose wrote: > current icedtea7 fails to build, patches/shark.patch is missing. What is this patch? And why would it be need for zero? while > trying to create a patch I noticed that the files in the build directory are > hard linked to the ports directory. how is a patch supposed to work? Why would you want to patch something in the source tree at runtime anyway? I don't know who changed the logic in 6 (the ChangeLog shows no record) or why but linking was how the original ports target was written. fixing > it directly works for me. > > diff -r 60b7879c73d7 ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp > --- a/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp > +++ b/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp > @@ -59,4 +59,5 @@ > ?define_pd_global(uintx, ? ?MaxPermSize, ? ? ? ? ? ? ? ? ?64*M ); > ?define_pd_global(bool, ? ? NeverActAsServerClassMachine, true ); > ?define_pd_global(uintx, ? ?DefaultMaxRAM, ? ? ? ? ? ? ? ?1*G ?); > +define_pd_global(uint64_t, MaxRAM, ? ? ? ? ? ? ? ? ? ? ?1ULL*G); > ?define_pd_global(bool, ? ? CICompileOSR, ? ? ? ? ? ? ? ? true ); > I've committed this change. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Mon Jul 12 09:36:51 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 12 Jul 2010 17:36:51 +0100 Subject: shark build failure on icedtea7 trunk In-Reply-To: <20100712104326.GC3348@redhat.com> References: <4C3ACA5C.50005@ubuntu.com> <20100712084142.GA3348@redhat.com> <4C3AEE47.7000101@ubuntu.com> <20100712104326.GC3348@redhat.com> Message-ID: On 12 July 2010 11:43, Gary Benson wrote: > Matthias Klose wrote: >> On 12.07.2010 10:41, Gary Benson wrote: >> > Matthias Klose wrote: >> > > after fixing the zero build failure, shark fails to build (llvm-2.7): >> > > >> > > In file included from ../generated/incls/_sharkBuilder.cpp.incl:10, >> > > ? ? ? ? ? ? ? ? ? from >> > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: >> > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp: In >> > > member function 'llvm::Value* SharkBuilder::CreateInlineOop(ciObject*, >> > > const char*)': >> > > build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp:195: >> > > error: 'class ciObject' has no member named 'encoding' >> > >> > It should be constant_encoding, or something like that. >> > The names were changed in some version or another of HotSpot. >> > Hopefully when it's upstream all of this will go away :) >> >> ok, thanks. The following fixes the build. ok to checkin this and the >> other zero fix? > > It's ok by me if it's ok with Andrew (Hughes). > > Cheers, > Gary > >> >> diff -r b18f5ecf2522 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp >> --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp ? ? ? Mon Jul 12 >> 11:24:29 2010 +0200 >> +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp ? ? ? Mon Jul 12 >> 12:27:52 2010 +0200 >> @@ -192,7 +192,7 @@ >> ? ?llvm::Value* code_buffer_address(int offset); >> ? ?llvm::Value* CreateInlineOop(jobject object, const char* name = ""); >> ? ?llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") { >> - ? ?return CreateInlineOop(object->encoding(), name); >> + ? ?return CreateInlineOop(object->constant_encoding(), name); >> ? ?} >> ? ?llvm::Value* CreateInlineData(void* ? ? ? ? ? ? data, >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?size_t ? ? ? ? ? ?size, >> >> > > -- > http://gbenson.net/ > Ok by me, it's just the missing part of http://icedtea.classpath.org/hg/shark/hotspot/rev/3236ce90f188 -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Mon Jul 12 09:39:14 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 12 Jul 2010 18:39:14 +0200 Subject: zero build failure on icedtea7 trunk In-Reply-To: References: <4C3AC919.2070408@ubuntu.com> Message-ID: <4C3B4532.6020509@ubuntu.com> On 12.07.2010 18:34, Andrew John Hughes wrote: > On 12 July 2010 08:49, Matthias Klose wrote: >> current icedtea7 fails to build, patches/shark.patch is missing. > > What is this patch? $ hg log patches/shark.patch changeset: 2036:2d3e4673d9d4 user: Andrew John Hughes date: Thu Feb 25 18:48:18 2010 +0000 summary: Update to work with upstream HotSpot 16 and NSS patch. I thought you would know ... > And why would it be need for zero? does the zero build succeed without it? From doko at icedtea.classpath.org Mon Jul 12 09:49:58 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 12 Jul 2010 16:49:58 +0000 Subject: /hg/icedtea: Fix shark build failure Message-ID: changeset dfc49680a3ab in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=dfc49680a3ab author: doko at ubuntu.com date: Mon Jul 12 18:50:12 2010 +0200 Fix shark build failure 2010-07-12 Matthias Klose * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (CreateInlineOop): Rename encoding to constant_encoding. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 2 +- diffs (24 lines): diff -r 5a146f117f6d -r dfc49680a3ab ChangeLog --- a/ChangeLog Mon Jul 12 17:31:25 2010 +0100 +++ b/ChangeLog Mon Jul 12 18:50:12 2010 +0200 @@ -1,3 +1,8 @@ 2010-07-12 Matthias Klose + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (CreateInlineOop): Rename encoding to constant_encoding. + 2010-07-12 Matthias Klose * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: diff -r 5a146f117f6d -r dfc49680a3ab ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 17:31:25 2010 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 18:50:12 2010 +0200 @@ -192,7 +192,7 @@ class SharkBuilder : public llvm::IRBuil llvm::Value* code_buffer_address(int offset); llvm::Value* CreateInlineOop(jobject object, const char* name = ""); llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") { - return CreateInlineOop(object->encoding(), name); + return CreateInlineOop(object->constant_encoding(), name); } llvm::Value* CreateInlineData(void* data, size_t size, From andrew at icedtea.classpath.org Mon Jul 12 09:53:28 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 12 Jul 2010 16:53:28 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset fdc10d3deefb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fdc10d3deefb author: Andrew John Hughes date: Mon Jul 12 17:51:21 2010 +0100 PR icedtea/512: Use the pristine srcdir copy of generated. 2010-07-12 Andrew John Hughes PR icedtea/521 * Makefile.am: (SOURCEPATH_DIRS): The untainted srcdir version of generated should be used. * configure.ac: Remove duplicate WITH_OPENJDK_SRC_DIR call. changeset dad3510bc1f6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dad3510bc1f6 author: Andrew John Hughes date: Mon Jul 12 17:53:23 2010 +0100 Merge diffstat: 8 files changed, 175 insertions(+), 82 deletions(-) ChangeLog | 28 +++ Makefile.am | 2 configure.ac | 1 netx/net/sourceforge/jnlp/Parser.java | 72 ++++++++ pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 +-- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 +--- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 +++++----- diffs (truncated from 504 to 500 lines): diff -r cc1498495367 -r dad3510bc1f6 ChangeLog --- a/ChangeLog Thu Jul 08 20:37:25 2010 +0100 +++ b/ChangeLog Mon Jul 12 17:53:23 2010 +0100 @@ -1,3 +1,31 @@ 2010-07-08 Andrew John Hughes + + PR icedtea/521 + * Makefile.am: + (SOURCEPATH_DIRS): The untainted srcdir + version of generated should be used. + * configure.ac: + Remove duplicate WITH_OPENJDK_SRC_DIR call. + +2010-07-12 Jon VanAlten + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + +2010-07-08 Man Lung Wong + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + 2010-07-08 Andrew John Hughes * Makefile.am: diff -r cc1498495367 -r dad3510bc1f6 Makefile.am --- a/Makefile.am Thu Jul 08 20:37:25 2010 +0100 +++ b/Makefile.am Mon Jul 12 17:53:23 2010 +0100 @@ -56,7 +56,7 @@ OPENJDK_SOURCEPATH_DIRS = \ OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA) -SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS) +SOURCEPATH_DIRS = $(abs_top_srcdir)/generated:$(OPENJDK_SOURCEPATH_DIRS) # Sources used from OpenJDK. ICEDTEA_BOOTSTRAP_DIRS = \ diff -r cc1498495367 -r dad3510bc1f6 configure.ac --- a/configure.ac Thu Jul 08 20:37:25 2010 +0100 +++ b/configure.ac Mon Jul 12 17:53:23 2010 +0100 @@ -170,7 +170,6 @@ FIND_RHINO_JAR FIND_RHINO_JAR WITH_OPENJDK_SRC_ZIP WITH_HOTSPOT_SRC_ZIP -WITH_OPENJDK_SRC_DIR WITH_ALT_JAR_BINARY WITH_JAXP_DROP_ZIP WITH_JAF_DROP_ZIP diff -r cc1498495367 -r dad3510bc1f6 netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Thu Jul 08 20:37:25 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Mon Jul 12 17:53:23 2010 +0100 @@ -1168,12 +1168,16 @@ class Parser { Node document = new Node(TinyParser.parseXML(input)); Node jnlpNode = getChildNode(document, "jnlp"); // skip comments */ + + //A BufferedInputStream is used to allow marking and reseting + //of a stream. + BufferedInputStream bs = new BufferedInputStream(input); /* NANO */ final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); - final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); + final PipedOutputStream pout = new PipedOutputStream(pin); + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( @@ -1196,7 +1200,69 @@ class Parser { throw new ParseException(R("PBadXML"), ex); } } + + /** + * Returns the name of the encoding used in this InputStream. + * + * @param input the InputStream + * @return a String representation of encoding + */ + private static String getEncoding(InputStream input) throws IOException{ + //Fixme: This only recognizes UTF-8, UTF-16, and + //UTF-32, which is enough to parse the prolog portion of xml to + //find out the exact encoding (if it exists). The reason being + //there could be other encodings, such as ISO 8859 which is 8-bits + //but it supports latin characters. + //So what needs to be done is to parse the prolog and retrieve + //the exact encoding from it. + int[] s = new int[4]; + String encoding = "UTF-8"; + + //Determine what the first four bytes are and store + //them into an int array. + input.mark(4); + for (int i = 0; i < 4; i++) { + s[i] = input.read(); + } + input.reset(); + + //Set the encoding base on what the first four bytes of the + //inputstream turn out to be (following the information from + //www.w3.org/TR/REC-xml/#sec-guessing). + if (s[0] == 255) { + if (s[1] == 254) { + if (s[2] != 0 || s[3] != 0) { + encoding = "UnicodeLittle"; + } else { + encoding = "X-UTF-32LE-BOM"; + } + } + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || + s[3] != 0)) { + encoding = "UTF-16"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && + s[3] == 255) { + encoding = "X-UTF-32BE-BOM"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && + s[3] == 60) { + encoding = "UTF-32BE"; + + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && + s[3] == 0) { + encoding = "UTF-32LE"; + + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && + s[3] == 63) { + encoding = "UTF-16BE"; + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && + s[3] == 0) { + encoding = "UTF-16LE"; + } + + return encoding; + } } - diff -r cc1498495367 -r dad3510bc1f6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Thu Jul 08 20:37:25 2010 +0100 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Mon Jul 12 17:53:23 2010 +0100 @@ -86,7 +86,7 @@ abstract class PulseAudioDataLine extend protected void open(AudioFormat format, int bufferSize) throws LineUnavailableException { - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("Line is already open"); } @@ -139,7 +139,7 @@ abstract class PulseAudioDataLine extend } } - if (!isOpen) { + if (!isOpen()) { throw new IllegalArgumentException("Invalid format"); } @@ -299,9 +299,10 @@ abstract class PulseAudioDataLine extend @Override public void close() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open for close() to work"); + if (!isOpen()) { + // For whatever reason, we are being asked to close + // a line that is not even open. + return; } synchronized (eventLoop.threadLock) { @@ -346,7 +347,7 @@ abstract class PulseAudioDataLine extend @Override public void start() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException( "Line must be open()ed before it can be start()ed"); } @@ -376,10 +377,10 @@ abstract class PulseAudioDataLine extend @Override public synchronized void stop() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open()ed before it can be start()ed"); - + if (!isOpen()) { + // For some reason, we are being asked to stop a line + // that isn't even open. + return; } writeInterrupted = true; if (!isStarted) { @@ -433,7 +434,7 @@ abstract class PulseAudioDataLine extend throws LineUnavailableException; public Stream getStream() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line must be open"); } @@ -442,7 +443,7 @@ abstract class PulseAudioDataLine extend @Override public int getBufferSize() { - if (!isOpen) { + if (!isOpen()) { return DEFAULT_BUFFER_SIZE; } return bufferSize; @@ -450,7 +451,7 @@ abstract class PulseAudioDataLine extend @Override public AudioFormat getFormat() { - if (!isOpen) { + if (!isOpen()) { return defaultFormat; } return currentFormat; @@ -467,7 +468,7 @@ abstract class PulseAudioDataLine extend * the name of this audio stream */ public void setName(String streamName) { - if (isOpen) { + if (isOpen()) { Operation o; synchronized (eventLoop.threadLock) { diff -r cc1498495367 -r dad3510bc1f6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Thu Jul 08 20:37:25 2010 +0100 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Mon Jul 12 17:53:23 2010 +0100 @@ -62,7 +62,7 @@ abstract class PulseAudioLine implements @Override public void close() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line is not open"); } @@ -79,7 +79,7 @@ abstract class PulseAudioLine implements @Override public Control getControl(Type control) { - if (isOpen) { + if (isOpen()) { for (Control aControl : controls) { if (aControl.getType() == control) { return aControl; @@ -92,7 +92,7 @@ abstract class PulseAudioLine implements @Override public Control[] getControls() { - if (!isOpen) { + if (!isOpen()) { return new Control[] {}; } diff -r cc1498495367 -r dad3510bc1f6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Thu Jul 08 20:37:25 2010 +0100 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Jul 12 17:53:23 2010 +0100 @@ -142,8 +142,9 @@ public final class PulseAudioSourceDataL writeInterrupted = false; } - if (!isOpen) { - throw new IllegalStateException("must call open() before write()"); + if (!isOpen()) { + // A closed line can write exactly 0 bytes. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -259,11 +260,6 @@ public final class PulseAudioSourceDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be drain()ed"); - - } synchronized (this) { writeInterrupted = true; @@ -271,13 +267,13 @@ public final class PulseAudioSourceDataL do { synchronized (this) { - if (!isOpen) { + if (!isOpen()) { return; } if (getBytesInBuffer() == 0) { return; } - if (isStarted || !isOpen) { + if (isStarted) { break; } try { @@ -301,29 +297,27 @@ public final class PulseAudioSourceDataL @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be flush()ed"); - } synchronized (this) { writeInterrupted = true; } - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); + if (isOpen()) { + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + + operation.waitForCompletion(); + operation.releaseReference(); } - - operation.waitForCompletion(); - operation.releaseReference(); } @Override synchronized public void close() { - if (!isOpen) { - throw new IllegalStateException("not open so cant close"); + if (!isOpen()) { + return; } writeInterrupted = true; diff -r cc1498495367 -r dad3510bc1f6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Thu Jul 08 20:37:25 2010 +0100 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Jul 12 17:53:23 2010 +0100 @@ -76,14 +76,18 @@ public final class PulseAudioTargetDataL @Override synchronized public void close() { + if (!isOpen()) { + // Probably due to some programmer error, we are being + // asked to close an already closed line. Oh well. + Debug.println(DebugLevel.Verbose, + "PulseAudioTargetDataLine.close(): " + + "Line closed that wasn't open."); + return; + } + /* check for permission to record audio */ AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - - if (!isOpen) { - throw new IllegalStateException( - "Line cant be closed if it isnt open"); - } PulseAudioMixer parentMixer = PulseAudioMixer.getInstance(); parentMixer.removeTargetLine(this); @@ -101,7 +105,7 @@ public final class PulseAudioTargetDataL AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("already open"); } super.open(format, bufferSize); @@ -142,8 +146,9 @@ public final class PulseAudioTargetDataL /* check state and inputs */ - if (!isOpen) { - throw new IllegalStateException("must call open() before read()"); + if (!isOpen()) { + // A closed line can produce zero bytes of data. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -220,7 +225,7 @@ public final class PulseAudioTargetDataL while (remainingLength != 0) { synchronized (this) { - if (!isOpen || !isStarted) { + if (!isOpen() || !isStarted) { return sizeRead; } @@ -287,57 +292,57 @@ public final class PulseAudioTargetDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException("must call open() before drain()"); + // blocks when there is data on the line + // http://www.jsresources.org/faq_audio.html#stop_drain_tdl + while (true) { + synchronized (this) { + if (!isStarted || !isOpen()) { + break; + } + } + try { + //TODO: Is this the best length of sleep? + //Maybe in case this loop runs for a long time + //it would be good to switch to a longer + //sleep. Like bump it up each iteration after + //the Nth iteration, up to a MAXSLEEP length. + Thread.sleep(100); + } catch (InterruptedException e) { + // do nothing + } } synchronized (this) { drained = true; } - // blocks when there is data on the line - // http://www.jsresources.org/faq_audio.html#stop_drain_tdl - while (true) { - synchronized (this) { - if (!isStarted || !isOpen) { - break; - } - } - try { - Thread.sleep(100); - } catch (InterruptedException e) { - // do nothing - } - } - } @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (isOpen()) { + + /* flush the buffer on pulseaudio's side */ + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + operation.waitForCompletion(); + operation.releaseReference(); } - - /* flush the buffer on pulseaudio's side */ - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); - } - operation.waitForCompletion(); - operation.releaseReference(); synchronized (this) { flushed = true; /* flush the partial fragment we stored */ fragmentBuffer = null; } - } @Override public int available() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (!isOpen()) { + // a closed line has 0 bytes available. From andrew at icedtea.classpath.org Mon Jul 12 09:55:45 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 12 Jul 2010 16:55:45 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset 634914f47fd3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=634914f47fd3 author: Andrew John Hughes date: Mon Jul 12 17:48:59 2010 +0100 PR icedtea/512: Use the pristine srcdir copy of generated. 2010-07-12 Andrew John Hughes PR icedtea/521 * Makefile.am: (SOURCEPATH_DIRS): The untainted srcdir version of generated should be used. changeset 23c9af44a7d5 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=23c9af44a7d5 author: Andrew John Hughes date: Mon Jul 12 17:55:39 2010 +0100 Merge diffstat: 3 files changed, 14 insertions(+), 2 deletions(-) ChangeLog | 12 ++++++++++++ Makefile.am | 2 +- ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 2 +- diffs (43 lines): diff -r 5a146f117f6d -r 23c9af44a7d5 ChangeLog --- a/ChangeLog Mon Jul 12 17:31:25 2010 +0100 +++ b/ChangeLog Mon Jul 12 17:55:39 2010 +0100 @@ -1,3 +1,15 @@ 2010-07-12 Matthias Klose + + PR icedtea/521 + * Makefile.am: + (SOURCEPATH_DIRS): The untainted srcdir + version of generated should be used. + +2010-07-12 Matthias Klose + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (CreateInlineOop): Rename encoding to constant_encoding. + 2010-07-12 Matthias Klose * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: diff -r 5a146f117f6d -r 23c9af44a7d5 Makefile.am --- a/Makefile.am Mon Jul 12 17:31:25 2010 +0100 +++ b/Makefile.am Mon Jul 12 17:55:39 2010 +0100 @@ -91,7 +91,7 @@ OPENJDK_SOURCEPATH_DIRS = \ OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA):$(JAXWS_COND) -SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS) +SOURCEPATH_DIRS = $(abs_top_srcdir)/generated:$(OPENJDK_SOURCEPATH_DIRS) # Sources used from OpenJDK. if LACKS_SUN_AWT_TOOLKIT diff -r 5a146f117f6d -r 23c9af44a7d5 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 17:31:25 2010 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Mon Jul 12 17:55:39 2010 +0100 @@ -192,7 +192,7 @@ class SharkBuilder : public llvm::IRBuil llvm::Value* code_buffer_address(int offset); llvm::Value* CreateInlineOop(jobject object, const char* name = ""); llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") { - return CreateInlineOop(object->encoding(), name); + return CreateInlineOop(object->constant_encoding(), name); } llvm::Value* CreateInlineData(void* data, size_t size, From doko at icedtea.classpath.org Mon Jul 12 10:06:56 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 12 Jul 2010 17:06:56 +0000 Subject: /hg/release/icedtea6-1.8: Eliminate spurious exception throwing ... Message-ID: changeset 0a636a2e9b0d in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=0a636a2e9b0d author: Jon VanAlten date: Mon Jul 12 11:13:35 2010 -0400 Eliminate spurious exception throwing in PulseAudio provider. 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataL ine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine. java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourc eDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTarge tDataLine.java: Eliminate spurious exception throwing from open, close, read, write, drain, and flush calls on closed lines. Use isOpen() API call instead of instance variable where appropriate. diffstat: 5 files changed, 86 insertions(+), 77 deletions(-) ChangeLog | 9 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 +-- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 +--- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 +++++----- diffs (369 lines): diff -r ec12891f51bc -r 0a636a2e9b0d ChangeLog --- a/ChangeLog Fri Jul 09 12:30:10 2010 -0400 +++ b/ChangeLog Mon Jul 12 11:13:35 2010 -0400 @@ -1,3 +1,12 @@ 2010-07-08 Man Lung Wong + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + 2010-07-08 Man Lung Wong * netx/net/sourceforge/jnlp/Parser.java: diff -r ec12891f51bc -r 0a636a2e9b0d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -86,7 +86,7 @@ abstract class PulseAudioDataLine extend protected void open(AudioFormat format, int bufferSize) throws LineUnavailableException { - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("Line is already open"); } @@ -139,7 +139,7 @@ abstract class PulseAudioDataLine extend } } - if (!isOpen) { + if (!isOpen()) { throw new IllegalArgumentException("Invalid format"); } @@ -299,9 +299,10 @@ abstract class PulseAudioDataLine extend @Override public void close() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open for close() to work"); + if (!isOpen()) { + // For whatever reason, we are being asked to close + // a line that is not even open. + return; } synchronized (eventLoop.threadLock) { @@ -346,7 +347,7 @@ abstract class PulseAudioDataLine extend @Override public void start() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException( "Line must be open()ed before it can be start()ed"); } @@ -376,10 +377,10 @@ abstract class PulseAudioDataLine extend @Override public synchronized void stop() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open()ed before it can be start()ed"); - + if (!isOpen()) { + // For some reason, we are being asked to stop a line + // that isn't even open. + return; } writeInterrupted = true; if (!isStarted) { @@ -433,7 +434,7 @@ abstract class PulseAudioDataLine extend throws LineUnavailableException; public Stream getStream() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line must be open"); } @@ -442,7 +443,7 @@ abstract class PulseAudioDataLine extend @Override public int getBufferSize() { - if (!isOpen) { + if (!isOpen()) { return DEFAULT_BUFFER_SIZE; } return bufferSize; @@ -450,7 +451,7 @@ abstract class PulseAudioDataLine extend @Override public AudioFormat getFormat() { - if (!isOpen) { + if (!isOpen()) { return defaultFormat; } return currentFormat; @@ -467,7 +468,7 @@ abstract class PulseAudioDataLine extend * the name of this audio stream */ public void setName(String streamName) { - if (isOpen) { + if (isOpen()) { Operation o; synchronized (eventLoop.threadLock) { diff -r ec12891f51bc -r 0a636a2e9b0d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -62,7 +62,7 @@ abstract class PulseAudioLine implements @Override public void close() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line is not open"); } @@ -79,7 +79,7 @@ abstract class PulseAudioLine implements @Override public Control getControl(Type control) { - if (isOpen) { + if (isOpen()) { for (Control aControl : controls) { if (aControl.getType() == control) { return aControl; @@ -92,7 +92,7 @@ abstract class PulseAudioLine implements @Override public Control[] getControls() { - if (!isOpen) { + if (!isOpen()) { return new Control[] {}; } diff -r ec12891f51bc -r 0a636a2e9b0d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -142,8 +142,9 @@ public final class PulseAudioSourceDataL writeInterrupted = false; } - if (!isOpen) { - throw new IllegalStateException("must call open() before write()"); + if (!isOpen()) { + // A closed line can write exactly 0 bytes. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -259,11 +260,6 @@ public final class PulseAudioSourceDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be drain()ed"); - - } synchronized (this) { writeInterrupted = true; @@ -271,13 +267,13 @@ public final class PulseAudioSourceDataL do { synchronized (this) { - if (!isOpen) { + if (!isOpen()) { return; } if (getBytesInBuffer() == 0) { return; } - if (isStarted || !isOpen) { + if (isStarted) { break; } try { @@ -301,29 +297,27 @@ public final class PulseAudioSourceDataL @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be flush()ed"); - } synchronized (this) { writeInterrupted = true; } - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); + if (isOpen()) { + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + + operation.waitForCompletion(); + operation.releaseReference(); } - - operation.waitForCompletion(); - operation.releaseReference(); } @Override synchronized public void close() { - if (!isOpen) { - throw new IllegalStateException("not open so cant close"); + if (!isOpen()) { + return; } writeInterrupted = true; diff -r ec12891f51bc -r 0a636a2e9b0d pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -76,14 +76,18 @@ public final class PulseAudioTargetDataL @Override synchronized public void close() { + if (!isOpen()) { + // Probably due to some programmer error, we are being + // asked to close an already closed line. Oh well. + Debug.println(DebugLevel.Verbose, + "PulseAudioTargetDataLine.close(): " + + "Line closed that wasn't open."); + return; + } + /* check for permission to record audio */ AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - - if (!isOpen) { - throw new IllegalStateException( - "Line cant be closed if it isnt open"); - } PulseAudioMixer parentMixer = PulseAudioMixer.getInstance(); parentMixer.removeTargetLine(this); @@ -101,7 +105,7 @@ public final class PulseAudioTargetDataL AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("already open"); } super.open(format, bufferSize); @@ -142,8 +146,9 @@ public final class PulseAudioTargetDataL /* check state and inputs */ - if (!isOpen) { - throw new IllegalStateException("must call open() before read()"); + if (!isOpen()) { + // A closed line can produce zero bytes of data. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -220,7 +225,7 @@ public final class PulseAudioTargetDataL while (remainingLength != 0) { synchronized (this) { - if (!isOpen || !isStarted) { + if (!isOpen() || !isStarted) { return sizeRead; } @@ -287,57 +292,57 @@ public final class PulseAudioTargetDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException("must call open() before drain()"); + // blocks when there is data on the line + // http://www.jsresources.org/faq_audio.html#stop_drain_tdl + while (true) { + synchronized (this) { + if (!isStarted || !isOpen()) { + break; + } + } + try { + //TODO: Is this the best length of sleep? + //Maybe in case this loop runs for a long time + //it would be good to switch to a longer + //sleep. Like bump it up each iteration after + //the Nth iteration, up to a MAXSLEEP length. + Thread.sleep(100); + } catch (InterruptedException e) { + // do nothing + } } synchronized (this) { drained = true; } - // blocks when there is data on the line - // http://www.jsresources.org/faq_audio.html#stop_drain_tdl - while (true) { - synchronized (this) { - if (!isStarted || !isOpen) { - break; - } - } - try { - Thread.sleep(100); - } catch (InterruptedException e) { - // do nothing - } - } - } @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (isOpen()) { + + /* flush the buffer on pulseaudio's side */ + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + operation.waitForCompletion(); + operation.releaseReference(); } - - /* flush the buffer on pulseaudio's side */ - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); - } - operation.waitForCompletion(); - operation.releaseReference(); synchronized (this) { flushed = true; /* flush the partial fragment we stored */ fragmentBuffer = null; } - } @Override public int available() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (!isOpen()) { + // a closed line has 0 bytes available. + return 0; } synchronized (eventLoop.threadLock) { From doko at icedtea.classpath.org Mon Jul 12 10:30:28 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 12 Jul 2010 17:30:28 +0000 Subject: /hg/release/icedtea6-1.7: Eliminate spurious exception throwing ... Message-ID: changeset d8eb9c640eb4 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=d8eb9c640eb4 author: Jon VanAlten date: Mon Jul 12 11:13:35 2010 -0400 Eliminate spurious exception throwing in PulseAudio provider. 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataL ine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine. java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourc eDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTarge tDataLine.java: Eliminate spurious exception throwing from open, close, read, write, drain, and flush calls on closed lines. Use isOpen() API call instead of instance variable where appropriate. diffstat: 5 files changed, 86 insertions(+), 77 deletions(-) ChangeLog | 9 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 +-- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 +--- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 +++++----- diffs (369 lines): diff -r 670a8e9e498b -r d8eb9c640eb4 ChangeLog --- a/ChangeLog Fri Jul 09 12:30:10 2010 -0400 +++ b/ChangeLog Mon Jul 12 11:13:35 2010 -0400 @@ -1,3 +1,12 @@ 2010-07-08 Man Lung Wong + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + 2010-07-08 Man Lung Wong * netx/net/sourceforge/jnlp/Parser.java: diff -r 670a8e9e498b -r d8eb9c640eb4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -86,7 +86,7 @@ abstract class PulseAudioDataLine extend protected void open(AudioFormat format, int bufferSize) throws LineUnavailableException { - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("Line is already open"); } @@ -139,7 +139,7 @@ abstract class PulseAudioDataLine extend } } - if (!isOpen) { + if (!isOpen()) { throw new IllegalArgumentException("Invalid format"); } @@ -299,9 +299,10 @@ abstract class PulseAudioDataLine extend @Override public void close() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open for close() to work"); + if (!isOpen()) { + // For whatever reason, we are being asked to close + // a line that is not even open. + return; } synchronized (eventLoop.threadLock) { @@ -346,7 +347,7 @@ abstract class PulseAudioDataLine extend @Override public void start() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException( "Line must be open()ed before it can be start()ed"); } @@ -376,10 +377,10 @@ abstract class PulseAudioDataLine extend @Override public synchronized void stop() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open()ed before it can be start()ed"); - + if (!isOpen()) { + // For some reason, we are being asked to stop a line + // that isn't even open. + return; } writeInterrupted = true; if (!isStarted) { @@ -433,7 +434,7 @@ abstract class PulseAudioDataLine extend throws LineUnavailableException; public Stream getStream() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line must be open"); } @@ -442,7 +443,7 @@ abstract class PulseAudioDataLine extend @Override public int getBufferSize() { - if (!isOpen) { + if (!isOpen()) { return DEFAULT_BUFFER_SIZE; } return bufferSize; @@ -450,7 +451,7 @@ abstract class PulseAudioDataLine extend @Override public AudioFormat getFormat() { - if (!isOpen) { + if (!isOpen()) { return defaultFormat; } return currentFormat; @@ -467,7 +468,7 @@ abstract class PulseAudioDataLine extend * the name of this audio stream */ public void setName(String streamName) { - if (isOpen) { + if (isOpen()) { Operation o; synchronized (eventLoop.threadLock) { diff -r 670a8e9e498b -r d8eb9c640eb4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -62,7 +62,7 @@ abstract class PulseAudioLine implements @Override public void close() { - if (!isOpen) { + if (!isOpen()) { throw new IllegalStateException("Line is not open"); } @@ -79,7 +79,7 @@ abstract class PulseAudioLine implements @Override public Control getControl(Type control) { - if (isOpen) { + if (isOpen()) { for (Control aControl : controls) { if (aControl.getType() == control) { return aControl; @@ -92,7 +92,7 @@ abstract class PulseAudioLine implements @Override public Control[] getControls() { - if (!isOpen) { + if (!isOpen()) { return new Control[] {}; } diff -r 670a8e9e498b -r d8eb9c640eb4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -142,8 +142,9 @@ public final class PulseAudioSourceDataL writeInterrupted = false; } - if (!isOpen) { - throw new IllegalStateException("must call open() before write()"); + if (!isOpen()) { + // A closed line can write exactly 0 bytes. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -259,11 +260,6 @@ public final class PulseAudioSourceDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be drain()ed"); - - } synchronized (this) { writeInterrupted = true; @@ -271,13 +267,13 @@ public final class PulseAudioSourceDataL do { synchronized (this) { - if (!isOpen) { + if (!isOpen()) { return; } if (getBytesInBuffer() == 0) { return; } - if (isStarted || !isOpen) { + if (isStarted) { break; } try { @@ -301,29 +297,27 @@ public final class PulseAudioSourceDataL @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException( - "Line must be open before it can be flush()ed"); - } synchronized (this) { writeInterrupted = true; } - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); + if (isOpen()) { + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + + operation.waitForCompletion(); + operation.releaseReference(); } - - operation.waitForCompletion(); - operation.releaseReference(); } @Override synchronized public void close() { - if (!isOpen) { - throw new IllegalStateException("not open so cant close"); + if (!isOpen()) { + return; } writeInterrupted = true; diff -r 670a8e9e498b -r d8eb9c640eb4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Fri Jul 09 12:30:10 2010 -0400 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Jul 12 11:13:35 2010 -0400 @@ -76,14 +76,18 @@ public final class PulseAudioTargetDataL @Override synchronized public void close() { + if (!isOpen()) { + // Probably due to some programmer error, we are being + // asked to close an already closed line. Oh well. + Debug.println(DebugLevel.Verbose, + "PulseAudioTargetDataLine.close(): " + + "Line closed that wasn't open."); + return; + } + /* check for permission to record audio */ AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - - if (!isOpen) { - throw new IllegalStateException( - "Line cant be closed if it isnt open"); - } PulseAudioMixer parentMixer = PulseAudioMixer.getInstance(); parentMixer.removeTargetLine(this); @@ -101,7 +105,7 @@ public final class PulseAudioTargetDataL AudioPermission perm = new AudioPermission("record", null); perm.checkGuard(null); - if (isOpen) { + if (isOpen()) { throw new IllegalStateException("already open"); } super.open(format, bufferSize); @@ -142,8 +146,9 @@ public final class PulseAudioTargetDataL /* check state and inputs */ - if (!isOpen) { - throw new IllegalStateException("must call open() before read()"); + if (!isOpen()) { + // A closed line can produce zero bytes of data. + return 0; } int frameSize = currentFormat.getFrameSize(); @@ -220,7 +225,7 @@ public final class PulseAudioTargetDataL while (remainingLength != 0) { synchronized (this) { - if (!isOpen || !isStarted) { + if (!isOpen() || !isStarted) { return sizeRead; } @@ -287,57 +292,57 @@ public final class PulseAudioTargetDataL @Override public void drain() { - if (!isOpen) { - throw new IllegalStateException("must call open() before drain()"); + // blocks when there is data on the line + // http://www.jsresources.org/faq_audio.html#stop_drain_tdl + while (true) { + synchronized (this) { + if (!isStarted || !isOpen()) { + break; + } + } + try { + //TODO: Is this the best length of sleep? + //Maybe in case this loop runs for a long time + //it would be good to switch to a longer + //sleep. Like bump it up each iteration after + //the Nth iteration, up to a MAXSLEEP length. + Thread.sleep(100); + } catch (InterruptedException e) { + // do nothing + } } synchronized (this) { drained = true; } - // blocks when there is data on the line - // http://www.jsresources.org/faq_audio.html#stop_drain_tdl - while (true) { - synchronized (this) { - if (!isStarted || !isOpen) { - break; - } - } - try { - Thread.sleep(100); - } catch (InterruptedException e) { - // do nothing - } - } - } @Override public void flush() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (isOpen()) { + + /* flush the buffer on pulseaudio's side */ + Operation operation; + synchronized (eventLoop.threadLock) { + operation = stream.flush(); + } + operation.waitForCompletion(); + operation.releaseReference(); } - - /* flush the buffer on pulseaudio's side */ - Operation operation; - synchronized (eventLoop.threadLock) { - operation = stream.flush(); - } - operation.waitForCompletion(); - operation.releaseReference(); synchronized (this) { flushed = true; /* flush the partial fragment we stored */ fragmentBuffer = null; } - } @Override public int available() { - if (!isOpen) { - throw new IllegalStateException("Line must be open"); + if (!isOpen()) { + // a closed line has 0 bytes available. + return 0; } synchronized (eventLoop.threadLock) { From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 11:28:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 18:28:39 +0000 Subject: [Bug 520] Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #1 from jon.vanalten at redhat.com 2010-07-12 18:28 ------- Hi, I find that on my system I get what I believe is the same thing, running your jar: $ java -jar rucksack.jar Segmentation fault (core dumped) But if the jar is extracted and I recompile the source, I get: $ java main.Rucksack Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at main.Rucksack.main(Rucksack.java:110) This is using: $ java -version java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8) (fedora-39.b18.fc12-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) I also have a b20 closed JDK: $ /opt/jdk1.6.0_20/jre/bin/java -version java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) Now, in my case I can run with a lot more than 20 elements with icedtea, but there is a point when I run out of heap. Also, I run out of heap with closed java at some higher number of elements than with icedtea. FWIW I found 1000 elements to be too large for either jdk. So I guess there is some difference between how default max heap size is determined with closed vs open jdk. I am not expert in such matters, but I had the impression that JVM uses some fraction of detected system RAM as max heap size (in openjdk/icedtea at least; I have no idea how closed java decides this default). One can specify "-XX:MaxHeapSize=" as java argument, I was able to run icedtea java over 1000 elements by setting some high value for this. You might try the same as workaround. Another possibility is difference in garbage collection strategy; perhaps closed java is more aggressive about this so it is less likely for heap space to run out. I did not examine your program closely to determine if it leaves many objects available for GC. Either way it looks to me like the problem is a matter of the massive amounts of memory required, which goes beyond the maximum heap size available at runtime, which as noted above can be specified. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Jul 12 11:32:20 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 12 Jul 2010 18:32:20 +0000 Subject: /hg/icedtea: Use a different name for the build copy of the gene... Message-ID: changeset ebc77668bad5 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ebc77668bad5 author: Andrew John Hughes date: Mon Jul 12 19:32:13 2010 +0100 Use a different name for the build copy of the generated directory. 2010-07-12 Andrew John Hughes PR icedtea/521 (ICEDTEA_ENV): Use generated.build. (generated): Copy to generated.build rather than generated so the source and build copies are clearly distinct (and present on srcdir=builddir builds) (clean-generated): Delete generated.build in all cases. diffstat: 2 files changed, 14 insertions(+), 7 deletions(-) ChangeLog | 9 +++++++++ Makefile.am | 12 +++++------- diffs (51 lines): diff -r 23c9af44a7d5 -r ebc77668bad5 ChangeLog --- a/ChangeLog Mon Jul 12 17:55:39 2010 +0100 +++ b/ChangeLog Mon Jul 12 19:32:13 2010 +0100 @@ -1,3 +1,12 @@ 2010-07-12 Andrew John Hughes + + PR icedtea/521 + (ICEDTEA_ENV): Use generated.build. + (generated): Copy to generated.build rather than + generated so the source and build copies are clearly + distinct (and present on srcdir=builddir builds) + (clean-generated): Delete generated.build in all cases. + 2010-07-12 Andrew John Hughes PR icedtea/521 diff -r 23c9af44a7d5 -r ebc77668bad5 Makefile.am --- a/Makefile.am Mon Jul 12 17:55:39 2010 +0100 +++ b/Makefile.am Mon Jul 12 19:32:13 2010 +0100 @@ -552,7 +552,7 @@ ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(ICEDTEA_CLS_DIR_BOOT):$(ICEDTEA_RT)" \ BOOTCLASSPATH_CLS="-bootclasspath $(ICEDTEA_CLS_DIR_BOOT)" \ BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(ICEDTEA_RT)" \ - GENSRCDIR="$(abs_top_builddir)/generated" \ + GENSRCDIR="$(abs_top_builddir)/generated.build" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \ @@ -1314,18 +1314,16 @@ clean-ports: stamps/generated.stamp: stamps/ports.stamp set -e ; \ - if [ ! -e $(abs_top_builddir)/generated ]; then \ - cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/generated $(abs_top_builddir); \ - find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ + if [ ! -e $(abs_top_builddir)/generated.build ]; then \ + cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/generated $(abs_top_builddir)/generated.build; \ + find $(abs_top_builddir)/generated.build -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps touch $@ clean-generated: - if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - rm -rf $(abs_top_builddir)/generated ; \ - fi + rm -rf $(abs_top_builddir)/generated.build rm -f stamps/generated.stamp stamps/patch-fsg.stamp: stamps/generated.stamp From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 11:44:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 18:44:39 +0000 Subject: [Bug 520] Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 niklas at komani.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID | ------- Comment #2 from niklas at komani.de 2010-07-12 18:44 ------- The problem is that it definitely shouldn't crash with a segemntation fault and without meaningfull error messages. Also I've discovered that it is with 99% certainty a HotSpot bug. The exact same jar file runs on my Mobile Phone (Nokia N900 with OpenJDK 1.6.018 with ZeroVM) and that thing has 240 megs of RAM. I can also reproduce the crash on Ubuntu. Maybe it will crash for your rebuilt version on a further run, as I mentioned it happens that it works for several and and then not for other runs. This is definitely not expected behaviour! Also the difference between HotSpot and Zero makes me think there is something more deep in there broken. I mean come on if it runs absolutely perfect (tested over a dozen runs each taking about 1.6 seconds) on my Phone but not on my Laptop with 4 Gigs of RAM it's definitely broken. Also note that it crashes with as little as 50 Elements on current OpenJDK, maybe the source in the jar has more and therefor doesn;t correspond to the class files. Greetings Niklas -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 12:38:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 19:38:05 +0000 Subject: [Bug 520] Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID ------- Comment #3 from jon.vanalten at redhat.com 2010-07-12 19:38 ------- (In reply to comment #2) > The problem is that it definitely shouldn't crash with a segemntation fault and > without meaningfull error messages. A seg fault, depending on when it happens, may or may not be detectable by the JVM, so it might not be possible for any meaningful error messages. Although, as noted, the lack of meaningful messages is only in the case of running from your jar. When compiled class file is used, the OOM error is given (not a seg fault at all). I have also now tried making new jar from the source and this runs fine on my system (where by "runs fine" I mean runs to completion if enough heap space is available and gives OOM error if not). Maybe there is something odd about this jar file? When it segfaults, it does so immediately as if it is not even getting to the point of running the program. > Also I've discovered that it is with 99% certainty a HotSpot bug. > The exact same jar file runs on my Mobile Phone (Nokia N900 with OpenJDK > 1.6.018 with ZeroVM) and that thing has 240 megs of RAM. I can also reproduce > the crash on Ubuntu. This indicates a Hotspot *difference* yes, not necessarily a bug. Running out of heap is running out of heap. There are potential differences in how max heap size is determined by different VMs, and the amount of physical RAM available (as your N900 example) is not necessarily a limiting factor (the OS could easily be swapping out JVM memory from under it). And again, different VMs will not be equal with respect to garbage collection. Do you have any information that this problem is caused by something other than running out of heap space? > Maybe it will crash for your rebuilt version on a further run, as I mentioned > it happens that it works for several and and then not for other runs. Yes I perhaps was not perfectly clear. I tested this numerous times, building your program with several different numbers of elements. I found that, consistently, there was a point at which each JDK started running out of heap. That point was higher for the closed JDK. I did not increase the number of elements by 1, it was more like 20 or 50, so there is probably a number of elements where, on my system, some runs will complete while others will run out of heap, based on variations of how garbage collection is scheduled or other factors. I did not spend time finding this range. When I found the point on each JVM where it failed consistently, I tried tinkering with the MaxHeapSize, and was able to determine that for both Icedtea and closed JDK that I could consistently run the program to completion by specifying a sufficiently high value. Have you attempted this workaround? > This is definitely not expected behaviour! Yes, an OOM error is the expected behavior when there is no heap space available. And this can vary from run to run, depending on precisely how garbage collection ends up being scheduled around the rest of the activity at runtime. > Also the difference between HotSpot and Zero makes me think there is something > more deep in there broken. > I mean come on if it runs absolutely perfect (tested over a dozen runs each > taking about 1.6 seconds) on my Phone but not on my Laptop with 4 Gigs of RAM > it's definitely broken. Also note that it crashes with as little as 50 Elements > on current OpenJDK, It is not a matter of physical memory. And OpenJDK can handle as many as 1000 elements or more, as I have noted, by specifying an appropriate amount of heap space. Please take this suggestion and try it out. For example: $ java -XX:MaxHeapSize=1G -jar rucksack.jar OR $ java -XX:MaxHeapSize=1G main.Rucksack > maybe the source in the jar has more and therefor doesn;t > correspond to the class files. Why would you package class file in a jar along with source that does not match it? This is misleading to those of us who would like to help. Please reopen this if you believe there to be a problem other than the program running out of heap. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 13:07:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 20:07:33 +0000 Subject: [Bug 520] Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #4 from niklas at komani.de 2010-07-12 20:07 ------- I've built the jar with eclipse that's why I wasn't 100% sure whether it packaged the correct sources. I will investigae further but, I've to tell you that I was aware of the -Xm... options and used them both on Open as well as Sun, the really weired thing as has been said before being that there were cases with tje JRE crashing only in some of the runs of the same class file. And yes I had crashes with (core dumped) on the pure class file as well. It might also be a problem with the compiler but I'm pretty sure it isn't as the same class as with this uploaded jar file. runs fine on some JREs like OpenJDK+Zero and Sun JRE. As You have correctly mentioned the jar file crashes immediately this was also the case for the class file. Even when it worked on some runs and crashed on others. This also leads me to doubt it's the jar file or a Compiler problem. By the way I also tested on Cahcao which also works fine with this exact jar file. I will try to repoduce this again with pure class files and might upload this as well. If you have time you could also test with the class file included in the jar. I mean, I can hardly do something wrong with compiling, it's just javac rucksack.java and thats it so if it still crashes, especially if thats only in some of the runs, this is would be odd. Thank you very much for your help, but I really really doubt it's a OOM problem. I will try to find stronge eviddence for this. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 14:06:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 21:06:00 +0000 Subject: [Bug 520] Crash with big mutli dimesnional arrays works in Sun(Oracle)JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 niklas at komani.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID | ------- Comment #5 from niklas at komani.de 2010-07-12 21:05 ------- Ok just a small updated because it's really weired. When compiling with Eclipse Helios, the program (compiled either als class or in a jar) crashes with more then like 20 elements, when on OpenJDK (it works on Closed and as far as I can tell on Zero and Cacao as well). While when running javac from the command line, it doesn't crash on OpenJRE. You can test this by trying to run the class file inside my jar which was compiled with eclipse, on Open vs Closed. I tried to check whether it is at least half way sane by running javap -c on it, and at least it doesn't complain and I can't see anything weired with my untrained eyes. This is repdouceable, I uploaded to class files compiled from the same source, One with javac (works on OpenJDK and probably Closed) and one compiled with Eclipse (runs on OpenJDK+Zero (Tested with exactly THESE files on N900) and Closed (not at hand but should be as with the jar)) http://niklas.sceneproject.org/coding/eclipse.tar.gz and http://niklas.sceneproject.org/coding/javac.tar.gz Greetings Niklas Even though this is not what I expected that should proof it's NOT OOM related. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 14:21:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 21:21:42 +0000 Subject: [Bug 513] cacao+Icedtea6 on ARM build failure on armv7l with --enable-softfloat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=513 ------- Comment #4 from stefan at complang.tuwien.ac.at 2010-07-12 21:21 ------- http://mips.complang.tuwien.ac.at/hg/cacao/rev/5d98a7842aa7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 14:24:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 21:24:12 +0000 Subject: [Bug 513] cacao+Icedtea6 on ARM build failure on armv7l with --enable-softfloat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=513 ------- Comment #5 from stefan at complang.tuwien.ac.at 2010-07-12 21:24 ------- It works now. I wasn't aware that -mfloat-abi=soft is required as opposed to -mfloat-abi=softfp. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 15:00:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:00:35 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Crash with big mutli |Program compiled by ecj |dimesnional arrays works in |causes icedtea to segfault |Sun(Oracle)JRE | ------- Comment #6 from jon.vanalten at redhat.com 2010-07-12 22:00 ------- Hi, Thanks for investigating further. I can reproduce this. I've changed the summary to describe the issue better. It's not necessary to build in the Eclipse IDE to experience this: $ ecj main/Rucksack.java $ java main.Rucksack Segmentation fault (core dumped) Using: $ ecj -version Eclipse Java Compiler 0.894_R34x, 3.4.2 release, Copyright IBM Corp 2000, 2008. All rights reserved. (and same icedtea version as earlier comment) I also tried a simple Hello World program, this did not segfault however. Niklas, could you (or do you mind if I) upload the source to your program as an attachment here, just in case any other URL's go stale? Also, just to clarify when you say it crashes on some runs and not on others. Do you mean that with the same compiled classfile, you have run it repeatedly using icedtea, and sometimes you get a segfault but sometimes not? Because this is something I have not reproduced on this end. (or is it that this "sometimes" behavior is regarding the OOM heap errors?) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 15:04:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:04:00 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #7 from jon.vanalten at redhat.com 2010-07-12 22:04 ------- I also find that with a fairly recent upstream OpenJDK7 build, I can run the ecj-created classfile. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 15:17:20 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:17:20 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #8 from niklas at komani.de 2010-07-12 22:17 ------- I referred to running the same class file crashing with a segfault on some runs and working perfectly on others. I haven't reproduced this lately either but it happened. I'm guesssing that it only happens when there the number of elements is near some threshold. Because for my original homework (I'm a second year CS Student from Germany) I had to run it with 20 elements and this worked reliably. You are free to use the source in whichever way you like, a pity it's not pretty :-) The URL will probably stay valid though, it's my server... -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Mon Jul 12 15:42:27 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:42:27 +0000 Subject: /hg/icedtea6: Use variadic macro for plugin debug message printing. Message-ID: changeset 83395fabed02 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=83395fabed02 author: Deepak Bhole date: Mon Jul 12 18:41:55 2010 -0400 Use variadic macro for plugin debug message printing. diffstat: 8 files changed, 230 insertions(+), 273 deletions(-) ChangeLog | 11 + plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 16 - plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 214 ++++++++++----------- plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 38 +-- plugin/icedteanp/IcedTeaPluginUtils.cc | 102 +++++----- plugin/icedteanp/IcedTeaPluginUtils.h | 62 ------ plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 58 ++--- diffs (truncated from 1765 to 500 lines): diff -r dad3510bc1f6 -r 83395fabed02 ChangeLog --- a/ChangeLog Mon Jul 12 17:53:23 2010 +0100 +++ b/ChangeLog Mon Jul 12 18:41:55 2010 -0400 @@ -1,3 +1,14 @@ 2010-07-12 Andrew John Hughes + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro + for debug message printing. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + 2010-07-12 Andrew John Hughes PR icedtea/521 diff -r dad3510bc1f6 -r 83395fabed02 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 17:53:23 2010 +0100 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 18:41:55 2010 -0400 @@ -179,7 +179,7 @@ JavaRequestProcessor::newMessageOnBus(co JavaRequestProcessor::JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor constructor\n"); + PLUGIN_DEBUG("JavaRequestProcessor constructor\n"); // caller frees this result = new JavaResultData(); @@ -200,7 +200,7 @@ JavaRequestProcessor::JavaRequestProcess JavaRequestProcessor::~JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor::~JavaRequestProcessor\n"); + PLUGIN_DEBUG("JavaRequestProcessor::~JavaRequestProcessor\n"); if (result) { @@ -271,7 +271,7 @@ JavaRequestProcessor::postAndWaitForResp result->error_msg->append("Error: Timed out when waiting for response"); // Report error - PLUGIN_DEBUG_1ARG("Error: Timed out when waiting for response to %s\n", message.c_str()); + PLUGIN_DEBUG("Error: Timed out when waiting for response to %s\n", message.c_str()); } java_to_plugin_bus->unSubscribe(this); @@ -847,12 +847,12 @@ createJavaObjectFromVariant(NPP instance if (NPVARIANT_IS_VOID(variant)) { - PLUGIN_DEBUG_1ARG("VOID %d\n", variant); + PLUGIN_DEBUG("VOID %d\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_NULL(variant)) { - PLUGIN_DEBUG_1ARG("NULL\n", variant); + PLUGIN_DEBUG("NULL\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_BOOLEAN(variant)) @@ -894,18 +894,18 @@ createJavaObjectFromVariant(NPP instance NPObject* obj = NPVARIANT_TO_OBJECT(variant); if (IcedTeaScriptableJavaPackageObject::is_valid_java_object(obj)) { - PLUGIN_DEBUG_0ARG("NPObject is a Java object\n"); + PLUGIN_DEBUG("NPObject is a Java object\n"); alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); + PLUGIN_DEBUG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? // Is it an array? if (IcedTeaPluginUtilities::isObjectJSArray(instance, obj)) { - PLUGIN_DEBUG_0ARG("NPObject is an array\n"); + PLUGIN_DEBUG("NPObject is an array\n"); std::string array_id = std::string(); std::string java_array_type = std::string(); diff -r dad3510bc1f6 -r 83395fabed02 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 17:53:23 2010 +0100 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 18:41:55 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 120 +#define REQUESTTIMEOUT 10 /* * This struct holds data specific to a Java operation requested by the plugin diff -r dad3510bc1f6 -r 83395fabed02 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 17:53:23 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 18:41:55 2010 -0400 @@ -262,7 +262,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins int16_t argc, char* argn[], char* argv[], NPSavedData* saved) { - PLUGIN_DEBUG_0ARG("ITNP_New\n"); + PLUGIN_DEBUG("ITNP_New\n"); static NPObject *window_ptr; NPIdentifier identifier; @@ -275,7 +275,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins } browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); - PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + PLUGIN_DEBUG("Got variant %p\n", &member_ptr); NPError np_error = NPERR_NO_ERROR; @@ -395,12 +395,12 @@ ITNP_New (NPMIMEType pluginType, NPP ins documentbase = NULL; // store an identifier for this plugin - PLUGIN_DEBUG_2ARG("Mapping id %d and instance %p\n", instance_counter, instance); + PLUGIN_DEBUG("Mapping id %d and instance %p\n", instance_counter, instance); g_hash_table_insert(instance_to_id_map, instance, GINT_TO_POINTER(instance_counter)); g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance); instance_counter++; - PLUGIN_DEBUG_0ARG ("ITNP_New return\n"); + PLUGIN_DEBUG ("ITNP_New return\n"); return np_error; } @@ -415,16 +415,16 @@ void start_jvm_if_needed() GMutex *vm_start_mutex = g_mutex_new(); g_mutex_lock(vm_start_mutex); - PLUGIN_DEBUG_0ARG("Checking JVM status...\n"); + PLUGIN_DEBUG("Checking JVM status...\n"); // If the jvm is already up, do nothing if (jvm_up) { - PLUGIN_DEBUG_0ARG("JVM is up. Returning.\n"); + PLUGIN_DEBUG("JVM is up. Returning.\n"); return; } - PLUGIN_DEBUG_0ARG("No JVM is running. Attempting to start one...\n"); + PLUGIN_DEBUG("No JVM is running. Attempting to start one...\n"); NPError np_error = NPERR_NO_ERROR; ITNPPluginData* data = NULL; @@ -447,14 +447,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); if (mkfifo (in_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_in_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created input fifo: %s\n", in_pipe_name); // Create plugin-to-appletviewer pipe which we refer to as the // output pipe. @@ -473,14 +473,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); if (mkfifo (out_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_out_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created output fifo: %s\n", out_pipe_name); // Start a separate appletviewer process for each applet, even if // there are multiple applets in the same page. We may need to @@ -571,9 +571,9 @@ void start_jvm_if_needed() // cleanup_out_pipe: // Delete output pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); cleanup_out_pipe_name: g_free (out_pipe_name); @@ -581,9 +581,9 @@ void start_jvm_if_needed() // cleanup_in_pipe: // Delete input pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); cleanup_in_pipe_name: g_free (in_pipe_name); @@ -599,7 +599,7 @@ NPError NPError ITNP_GetValue (NPP instance, NPPVariable variable, void* value) { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue\n"); + PLUGIN_DEBUG ("ITNP_GetValue\n"); NPError np_error = NPERR_NO_ERROR; @@ -608,7 +608,7 @@ ITNP_GetValue (NPP instance, NPPVariable // This plugin needs XEmbed support. case NPPVpluginNeedsXEmbed: { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); + PLUGIN_DEBUG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); bool* bool_value = (bool*) value; *bool_value = true; } @@ -624,7 +624,7 @@ ITNP_GetValue (NPP instance, NPPVariable break; } - PLUGIN_DEBUG_0ARG ("ITNP_GetValue return\n"); + PLUGIN_DEBUG ("ITNP_GetValue return\n"); return np_error; } @@ -632,7 +632,7 @@ NPError NPError ITNP_Destroy (NPP instance, NPSavedData** save) { - PLUGIN_DEBUG_1ARG ("ITNP_Destroy %p\n", instance); + PLUGIN_DEBUG ("ITNP_Destroy %p\n", instance); ITNPPluginData* data = (ITNPPluginData*) instance->pdata; @@ -649,7 +649,7 @@ ITNP_Destroy (NPP instance, NPSavedData* IcedTeaPluginUtilities::invalidateInstance(instance); - PLUGIN_DEBUG_0ARG ("ITNP_Destroy return\n"); + PLUGIN_DEBUG ("ITNP_Destroy return\n"); return NPERR_NO_ERROR; } @@ -657,7 +657,7 @@ NPError NPError ITNP_SetWindow (NPP instance, NPWindow* window) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow\n"); + PLUGIN_DEBUG ("ITNP_SetWindow\n"); if (instance == NULL) { @@ -679,7 +679,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // Simply return if we receive a NULL window. if ((window == NULL) || (window->window == NULL)) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: got NULL window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: got NULL window.\n"); return NPERR_NO_ERROR; } @@ -690,7 +690,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (data->window_handle == window->window) { // The parent window is the same as in previous calls. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window already exists.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window already exists.\n"); // Critical region. Read data->appletviewer_mutex and send // a message to the appletviewer. @@ -704,7 +704,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // SetWindow call. if (window->width != data->window_width) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window width changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window width changed.\n"); // The width of the plugin window has changed. // Store the new width. @@ -714,7 +714,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (window->height != data->window_height) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window height changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window height changed.\n"); // The height of the plugin window has changed. // Store the new height. @@ -736,7 +736,7 @@ ITNP_SetWindow (NPP instance, NPWindow* else { // The appletviewer is not running. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: appletviewer is not running.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: appletviewer is not running.\n"); } g_mutex_unlock (data->appletviewer_mutex); @@ -745,12 +745,12 @@ ITNP_SetWindow (NPP instance, NPWindow* { // The parent window has changed. This branch does run but // doing nothing in response seems to be sufficient. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: parent window changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: parent window changed.\n"); } } else { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: setting window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: setting window.\n"); // Critical region. Send messages to appletviewer. g_mutex_lock (data->appletviewer_mutex); @@ -774,7 +774,7 @@ ITNP_SetWindow (NPP instance, NPWindow* data->window_handle = window->window; } - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow return\n"); + PLUGIN_DEBUG ("ITNP_SetWindow return\n"); return NPERR_NO_ERROR; } @@ -783,9 +783,9 @@ ITNP_NewStream (NPP instance, NPMIMEType ITNP_NewStream (NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype) { - PLUGIN_DEBUG_0ARG ("ITNP_NewStream\n"); + PLUGIN_DEBUG ("ITNP_NewStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_NewStream return\n"); + PLUGIN_DEBUG ("ITNP_NewStream return\n"); return NPERR_NO_ERROR; } @@ -793,17 +793,17 @@ void void ITNP_StreamAsFile (NPP instance, NPStream* stream, const char* filename) { - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile\n"); - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile return\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile return\n"); } NPError ITNP_DestroyStream (NPP instance, NPStream* stream, NPReason reason) { - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream return\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream return\n"); return NPERR_NO_ERROR; } @@ -811,9 +811,9 @@ int32_t int32_t ITNP_WriteReady (NPP instance, NPStream* stream) { - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady\n"); + PLUGIN_DEBUG ("ITNP_WriteReady\n"); - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady return\n"); + PLUGIN_DEBUG ("ITNP_WriteReady return\n"); return 0; } @@ -822,9 +822,9 @@ ITNP_Write (NPP instance, NPStream* stre ITNP_Write (NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer) { - PLUGIN_DEBUG_0ARG ("ITNP_Write\n"); + PLUGIN_DEBUG ("ITNP_Write\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Write return\n"); + PLUGIN_DEBUG ("ITNP_Write return\n"); return 0; } @@ -832,17 +832,17 @@ void void ITNP_Print (NPP instance, NPPrint* platformPrint) { - PLUGIN_DEBUG_0ARG ("ITNP_Print\n"); + PLUGIN_DEBUG ("ITNP_Print\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Print return\n"); + PLUGIN_DEBUG ("ITNP_Print return\n"); } int16_t ITNP_HandleEvent (NPP instance, void* event) { - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent\n"); - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent return\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent return\n"); return 0; } @@ -851,9 +851,9 @@ ITNP_URLNotify (NPP instance, const char ITNP_URLNotify (NPP instance, const char* url, NPReason reason, void* notifyData) { - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify\n"); + PLUGIN_DEBUG ("ITNP_URLNotify\n"); - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify return\n"); + PLUGIN_DEBUG ("ITNP_URLNotify return\n"); } NPError @@ -924,7 +924,7 @@ static void static void plugin_data_new (ITNPPluginData** data) { - PLUGIN_DEBUG_0ARG ("plugin_data_new\n"); + PLUGIN_DEBUG ("plugin_data_new\n"); *data = (ITNPPluginData*) (*browser_functions.memalloc) (sizeof (struct ITNPPluginData)); @@ -933,7 +933,7 @@ plugin_data_new (ITNPPluginData** data) if (*data) memset (*data, 0, sizeof (struct ITNPPluginData)); - PLUGIN_DEBUG_0ARG ("plugin_data_new return\n"); + PLUGIN_DEBUG ("plugin_data_new return\n"); } @@ -948,7 +948,7 @@ static gchar* static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); nsIPluginInstance* xpcom_instance = NULL; nsIPluginInstancePeer* peer = NULL; @@ -1000,16 +1000,16 @@ plugin_get_documentbase (NPP instance) NS_RELEASE (peer); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } #else static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); char const* documentbase = NULL; gchar* documentbase_copy = NULL; @@ -1053,8 +1053,8 @@ plugin_get_documentbase (NPP instance) browser_functions.releasevariantvalue(&href); browser_functions.releasevariantvalue(&location); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } @@ -1067,7 +1067,7 @@ plugin_display_failure_dialog () { GtkWidget* dialog = NULL; - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog\n"); dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, @@ -1079,7 +1079,7 @@ plugin_display_failure_dialog () gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog return\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog return\n"); } From dbhole at icedtea.classpath.org Mon Jul 12 15:47:23 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:47:23 +0000 Subject: /hg/release/icedtea6-1.7: Use variadic macro for plugin debug me... Message-ID: changeset cb75225afcd4 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=cb75225afcd4 author: Deepak Bhole date: Mon Jul 12 18:41:55 2010 -0400 Use variadic macro for plugin debug message printing. diffstat: 8 files changed, 230 insertions(+), 273 deletions(-) ChangeLog | 11 + plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 16 - plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 214 ++++++++++----------- plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 38 +-- plugin/icedteanp/IcedTeaPluginUtils.cc | 102 +++++----- plugin/icedteanp/IcedTeaPluginUtils.h | 62 ------ plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 58 ++--- diffs (truncated from 1765 to 500 lines): diff -r d8eb9c640eb4 -r cb75225afcd4 ChangeLog --- a/ChangeLog Mon Jul 12 11:13:35 2010 -0400 +++ b/ChangeLog Mon Jul 12 18:41:55 2010 -0400 @@ -1,3 +1,14 @@ 2010-07-12 Jon VanAlten + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro + for debug message printing. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java diff -r d8eb9c640eb4 -r cb75225afcd4 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 18:41:55 2010 -0400 @@ -179,7 +179,7 @@ JavaRequestProcessor::newMessageOnBus(co JavaRequestProcessor::JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor constructor\n"); + PLUGIN_DEBUG("JavaRequestProcessor constructor\n"); // caller frees this result = new JavaResultData(); @@ -200,7 +200,7 @@ JavaRequestProcessor::JavaRequestProcess JavaRequestProcessor::~JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor::~JavaRequestProcessor\n"); + PLUGIN_DEBUG("JavaRequestProcessor::~JavaRequestProcessor\n"); if (result) { @@ -271,7 +271,7 @@ JavaRequestProcessor::postAndWaitForResp result->error_msg->append("Error: Timed out when waiting for response"); // Report error - PLUGIN_DEBUG_1ARG("Error: Timed out when waiting for response to %s\n", message.c_str()); + PLUGIN_DEBUG("Error: Timed out when waiting for response to %s\n", message.c_str()); } java_to_plugin_bus->unSubscribe(this); @@ -847,12 +847,12 @@ createJavaObjectFromVariant(NPP instance if (NPVARIANT_IS_VOID(variant)) { - PLUGIN_DEBUG_1ARG("VOID %d\n", variant); + PLUGIN_DEBUG("VOID %d\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_NULL(variant)) { - PLUGIN_DEBUG_1ARG("NULL\n", variant); + PLUGIN_DEBUG("NULL\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_BOOLEAN(variant)) @@ -894,18 +894,18 @@ createJavaObjectFromVariant(NPP instance NPObject* obj = NPVARIANT_TO_OBJECT(variant); if (IcedTeaScriptableJavaPackageObject::is_valid_java_object(obj)) { - PLUGIN_DEBUG_0ARG("NPObject is a Java object\n"); + PLUGIN_DEBUG("NPObject is a Java object\n"); alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); + PLUGIN_DEBUG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? // Is it an array? if (IcedTeaPluginUtilities::isObjectJSArray(instance, obj)) { - PLUGIN_DEBUG_0ARG("NPObject is an array\n"); + PLUGIN_DEBUG("NPObject is an array\n"); std::string array_id = std::string(); std::string java_array_type = std::string(); diff -r d8eb9c640eb4 -r cb75225afcd4 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 18:41:55 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 120 +#define REQUESTTIMEOUT 10 /* * This struct holds data specific to a Java operation requested by the plugin diff -r d8eb9c640eb4 -r cb75225afcd4 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 18:41:55 2010 -0400 @@ -262,7 +262,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins int16_t argc, char* argn[], char* argv[], NPSavedData* saved) { - PLUGIN_DEBUG_0ARG("ITNP_New\n"); + PLUGIN_DEBUG("ITNP_New\n"); static NPObject *window_ptr; NPIdentifier identifier; @@ -275,7 +275,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins } browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); - PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + PLUGIN_DEBUG("Got variant %p\n", &member_ptr); NPError np_error = NPERR_NO_ERROR; @@ -395,12 +395,12 @@ ITNP_New (NPMIMEType pluginType, NPP ins documentbase = NULL; // store an identifier for this plugin - PLUGIN_DEBUG_2ARG("Mapping id %d and instance %p\n", instance_counter, instance); + PLUGIN_DEBUG("Mapping id %d and instance %p\n", instance_counter, instance); g_hash_table_insert(instance_to_id_map, instance, GINT_TO_POINTER(instance_counter)); g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance); instance_counter++; - PLUGIN_DEBUG_0ARG ("ITNP_New return\n"); + PLUGIN_DEBUG ("ITNP_New return\n"); return np_error; } @@ -415,16 +415,16 @@ void start_jvm_if_needed() GMutex *vm_start_mutex = g_mutex_new(); g_mutex_lock(vm_start_mutex); - PLUGIN_DEBUG_0ARG("Checking JVM status...\n"); + PLUGIN_DEBUG("Checking JVM status...\n"); // If the jvm is already up, do nothing if (jvm_up) { - PLUGIN_DEBUG_0ARG("JVM is up. Returning.\n"); + PLUGIN_DEBUG("JVM is up. Returning.\n"); return; } - PLUGIN_DEBUG_0ARG("No JVM is running. Attempting to start one...\n"); + PLUGIN_DEBUG("No JVM is running. Attempting to start one...\n"); NPError np_error = NPERR_NO_ERROR; ITNPPluginData* data = NULL; @@ -447,14 +447,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); if (mkfifo (in_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_in_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created input fifo: %s\n", in_pipe_name); // Create plugin-to-appletviewer pipe which we refer to as the // output pipe. @@ -473,14 +473,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); if (mkfifo (out_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_out_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created output fifo: %s\n", out_pipe_name); // Start a separate appletviewer process for each applet, even if // there are multiple applets in the same page. We may need to @@ -571,9 +571,9 @@ void start_jvm_if_needed() // cleanup_out_pipe: // Delete output pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); cleanup_out_pipe_name: g_free (out_pipe_name); @@ -581,9 +581,9 @@ void start_jvm_if_needed() // cleanup_in_pipe: // Delete input pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); cleanup_in_pipe_name: g_free (in_pipe_name); @@ -599,7 +599,7 @@ NPError NPError ITNP_GetValue (NPP instance, NPPVariable variable, void* value) { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue\n"); + PLUGIN_DEBUG ("ITNP_GetValue\n"); NPError np_error = NPERR_NO_ERROR; @@ -608,7 +608,7 @@ ITNP_GetValue (NPP instance, NPPVariable // This plugin needs XEmbed support. case NPPVpluginNeedsXEmbed: { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); + PLUGIN_DEBUG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); bool* bool_value = (bool*) value; *bool_value = true; } @@ -624,7 +624,7 @@ ITNP_GetValue (NPP instance, NPPVariable break; } - PLUGIN_DEBUG_0ARG ("ITNP_GetValue return\n"); + PLUGIN_DEBUG ("ITNP_GetValue return\n"); return np_error; } @@ -632,7 +632,7 @@ NPError NPError ITNP_Destroy (NPP instance, NPSavedData** save) { - PLUGIN_DEBUG_1ARG ("ITNP_Destroy %p\n", instance); + PLUGIN_DEBUG ("ITNP_Destroy %p\n", instance); ITNPPluginData* data = (ITNPPluginData*) instance->pdata; @@ -649,7 +649,7 @@ ITNP_Destroy (NPP instance, NPSavedData* IcedTeaPluginUtilities::invalidateInstance(instance); - PLUGIN_DEBUG_0ARG ("ITNP_Destroy return\n"); + PLUGIN_DEBUG ("ITNP_Destroy return\n"); return NPERR_NO_ERROR; } @@ -657,7 +657,7 @@ NPError NPError ITNP_SetWindow (NPP instance, NPWindow* window) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow\n"); + PLUGIN_DEBUG ("ITNP_SetWindow\n"); if (instance == NULL) { @@ -679,7 +679,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // Simply return if we receive a NULL window. if ((window == NULL) || (window->window == NULL)) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: got NULL window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: got NULL window.\n"); return NPERR_NO_ERROR; } @@ -690,7 +690,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (data->window_handle == window->window) { // The parent window is the same as in previous calls. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window already exists.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window already exists.\n"); // Critical region. Read data->appletviewer_mutex and send // a message to the appletviewer. @@ -704,7 +704,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // SetWindow call. if (window->width != data->window_width) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window width changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window width changed.\n"); // The width of the plugin window has changed. // Store the new width. @@ -714,7 +714,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (window->height != data->window_height) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window height changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window height changed.\n"); // The height of the plugin window has changed. // Store the new height. @@ -736,7 +736,7 @@ ITNP_SetWindow (NPP instance, NPWindow* else { // The appletviewer is not running. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: appletviewer is not running.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: appletviewer is not running.\n"); } g_mutex_unlock (data->appletviewer_mutex); @@ -745,12 +745,12 @@ ITNP_SetWindow (NPP instance, NPWindow* { // The parent window has changed. This branch does run but // doing nothing in response seems to be sufficient. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: parent window changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: parent window changed.\n"); } } else { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: setting window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: setting window.\n"); // Critical region. Send messages to appletviewer. g_mutex_lock (data->appletviewer_mutex); @@ -774,7 +774,7 @@ ITNP_SetWindow (NPP instance, NPWindow* data->window_handle = window->window; } - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow return\n"); + PLUGIN_DEBUG ("ITNP_SetWindow return\n"); return NPERR_NO_ERROR; } @@ -783,9 +783,9 @@ ITNP_NewStream (NPP instance, NPMIMEType ITNP_NewStream (NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype) { - PLUGIN_DEBUG_0ARG ("ITNP_NewStream\n"); + PLUGIN_DEBUG ("ITNP_NewStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_NewStream return\n"); + PLUGIN_DEBUG ("ITNP_NewStream return\n"); return NPERR_NO_ERROR; } @@ -793,17 +793,17 @@ void void ITNP_StreamAsFile (NPP instance, NPStream* stream, const char* filename) { - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile\n"); - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile return\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile return\n"); } NPError ITNP_DestroyStream (NPP instance, NPStream* stream, NPReason reason) { - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream return\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream return\n"); return NPERR_NO_ERROR; } @@ -811,9 +811,9 @@ int32_t int32_t ITNP_WriteReady (NPP instance, NPStream* stream) { - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady\n"); + PLUGIN_DEBUG ("ITNP_WriteReady\n"); - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady return\n"); + PLUGIN_DEBUG ("ITNP_WriteReady return\n"); return 0; } @@ -822,9 +822,9 @@ ITNP_Write (NPP instance, NPStream* stre ITNP_Write (NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer) { - PLUGIN_DEBUG_0ARG ("ITNP_Write\n"); + PLUGIN_DEBUG ("ITNP_Write\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Write return\n"); + PLUGIN_DEBUG ("ITNP_Write return\n"); return 0; } @@ -832,17 +832,17 @@ void void ITNP_Print (NPP instance, NPPrint* platformPrint) { - PLUGIN_DEBUG_0ARG ("ITNP_Print\n"); + PLUGIN_DEBUG ("ITNP_Print\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Print return\n"); + PLUGIN_DEBUG ("ITNP_Print return\n"); } int16_t ITNP_HandleEvent (NPP instance, void* event) { - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent\n"); - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent return\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent return\n"); return 0; } @@ -851,9 +851,9 @@ ITNP_URLNotify (NPP instance, const char ITNP_URLNotify (NPP instance, const char* url, NPReason reason, void* notifyData) { - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify\n"); + PLUGIN_DEBUG ("ITNP_URLNotify\n"); - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify return\n"); + PLUGIN_DEBUG ("ITNP_URLNotify return\n"); } NPError @@ -924,7 +924,7 @@ static void static void plugin_data_new (ITNPPluginData** data) { - PLUGIN_DEBUG_0ARG ("plugin_data_new\n"); + PLUGIN_DEBUG ("plugin_data_new\n"); *data = (ITNPPluginData*) (*browser_functions.memalloc) (sizeof (struct ITNPPluginData)); @@ -933,7 +933,7 @@ plugin_data_new (ITNPPluginData** data) if (*data) memset (*data, 0, sizeof (struct ITNPPluginData)); - PLUGIN_DEBUG_0ARG ("plugin_data_new return\n"); + PLUGIN_DEBUG ("plugin_data_new return\n"); } @@ -948,7 +948,7 @@ static gchar* static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); nsIPluginInstance* xpcom_instance = NULL; nsIPluginInstancePeer* peer = NULL; @@ -1000,16 +1000,16 @@ plugin_get_documentbase (NPP instance) NS_RELEASE (peer); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } #else static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); char const* documentbase = NULL; gchar* documentbase_copy = NULL; @@ -1053,8 +1053,8 @@ plugin_get_documentbase (NPP instance) browser_functions.releasevariantvalue(&href); browser_functions.releasevariantvalue(&location); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } @@ -1067,7 +1067,7 @@ plugin_display_failure_dialog () { GtkWidget* dialog = NULL; - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog\n"); dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, @@ -1079,7 +1079,7 @@ plugin_display_failure_dialog () gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog return\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog return\n"); } From dbhole at icedtea.classpath.org Mon Jul 12 15:57:29 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Mon, 12 Jul 2010 22:57:29 +0000 Subject: /hg/release/icedtea6-1.8: Use variadic macro for plugin debug me... Message-ID: changeset bab376167dbb in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=bab376167dbb author: Deepak Bhole date: Mon Jul 12 18:41:55 2010 -0400 Use variadic macro for plugin debug message printing. diffstat: 8 files changed, 230 insertions(+), 273 deletions(-) ChangeLog | 11 + plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 16 - plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 214 ++++++++++----------- plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 38 +-- plugin/icedteanp/IcedTeaPluginUtils.cc | 102 +++++----- plugin/icedteanp/IcedTeaPluginUtils.h | 62 ------ plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 58 ++--- diffs (truncated from 1765 to 500 lines): diff -r 0a636a2e9b0d -r bab376167dbb ChangeLog --- a/ChangeLog Mon Jul 12 11:13:35 2010 -0400 +++ b/ChangeLog Mon Jul 12 18:41:55 2010 -0400 @@ -1,3 +1,14 @@ 2010-07-12 Jon VanAlten + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro + for debug message printing. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java diff -r 0a636a2e9b0d -r bab376167dbb plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Mon Jul 12 18:41:55 2010 -0400 @@ -179,7 +179,7 @@ JavaRequestProcessor::newMessageOnBus(co JavaRequestProcessor::JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor constructor\n"); + PLUGIN_DEBUG("JavaRequestProcessor constructor\n"); // caller frees this result = new JavaResultData(); @@ -200,7 +200,7 @@ JavaRequestProcessor::JavaRequestProcess JavaRequestProcessor::~JavaRequestProcessor() { - PLUGIN_DEBUG_0ARG("JavaRequestProcessor::~JavaRequestProcessor\n"); + PLUGIN_DEBUG("JavaRequestProcessor::~JavaRequestProcessor\n"); if (result) { @@ -271,7 +271,7 @@ JavaRequestProcessor::postAndWaitForResp result->error_msg->append("Error: Timed out when waiting for response"); // Report error - PLUGIN_DEBUG_1ARG("Error: Timed out when waiting for response to %s\n", message.c_str()); + PLUGIN_DEBUG("Error: Timed out when waiting for response to %s\n", message.c_str()); } java_to_plugin_bus->unSubscribe(this); @@ -847,12 +847,12 @@ createJavaObjectFromVariant(NPP instance if (NPVARIANT_IS_VOID(variant)) { - PLUGIN_DEBUG_1ARG("VOID %d\n", variant); + PLUGIN_DEBUG("VOID %d\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_NULL(variant)) { - PLUGIN_DEBUG_1ARG("NULL\n", variant); + PLUGIN_DEBUG("NULL\n", variant); id->append("0"); return; // no need to go further } else if (NPVARIANT_IS_BOOLEAN(variant)) @@ -894,18 +894,18 @@ createJavaObjectFromVariant(NPP instance NPObject* obj = NPVARIANT_TO_OBJECT(variant); if (IcedTeaScriptableJavaPackageObject::is_valid_java_object(obj)) { - PLUGIN_DEBUG_0ARG("NPObject is a Java object\n"); + PLUGIN_DEBUG("NPObject is a Java object\n"); alreadyCreated = true; } else { - PLUGIN_DEBUG_0ARG("NPObject is not a Java object\n"); + PLUGIN_DEBUG("NPObject is not a Java object\n"); NPIdentifier length_id = browser_functions.getstringidentifier("length"); // FIXME: We currently only handle <= 2 dim arrays. Do we really need more though? // Is it an array? if (IcedTeaPluginUtilities::isObjectJSArray(instance, obj)) { - PLUGIN_DEBUG_0ARG("NPObject is an array\n"); + PLUGIN_DEBUG("NPObject is an array\n"); std::string array_id = std::string(); std::string java_array_type = std::string(); diff -r 0a636a2e9b0d -r bab376167dbb plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 18:41:55 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 120 +#define REQUESTTIMEOUT 10 /* * This struct holds data specific to a Java operation requested by the plugin diff -r 0a636a2e9b0d -r bab376167dbb plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 11:13:35 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Jul 12 18:41:55 2010 -0400 @@ -262,7 +262,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins int16_t argc, char* argn[], char* argv[], NPSavedData* saved) { - PLUGIN_DEBUG_0ARG("ITNP_New\n"); + PLUGIN_DEBUG("ITNP_New\n"); static NPObject *window_ptr; NPIdentifier identifier; @@ -275,7 +275,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins } browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); - PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + PLUGIN_DEBUG("Got variant %p\n", &member_ptr); NPError np_error = NPERR_NO_ERROR; @@ -395,12 +395,12 @@ ITNP_New (NPMIMEType pluginType, NPP ins documentbase = NULL; // store an identifier for this plugin - PLUGIN_DEBUG_2ARG("Mapping id %d and instance %p\n", instance_counter, instance); + PLUGIN_DEBUG("Mapping id %d and instance %p\n", instance_counter, instance); g_hash_table_insert(instance_to_id_map, instance, GINT_TO_POINTER(instance_counter)); g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance); instance_counter++; - PLUGIN_DEBUG_0ARG ("ITNP_New return\n"); + PLUGIN_DEBUG ("ITNP_New return\n"); return np_error; } @@ -415,16 +415,16 @@ void start_jvm_if_needed() GMutex *vm_start_mutex = g_mutex_new(); g_mutex_lock(vm_start_mutex); - PLUGIN_DEBUG_0ARG("Checking JVM status...\n"); + PLUGIN_DEBUG("Checking JVM status...\n"); // If the jvm is already up, do nothing if (jvm_up) { - PLUGIN_DEBUG_0ARG("JVM is up. Returning.\n"); + PLUGIN_DEBUG("JVM is up. Returning.\n"); return; } - PLUGIN_DEBUG_0ARG("No JVM is running. Attempting to start one...\n"); + PLUGIN_DEBUG("No JVM is running. Attempting to start one...\n"); NPError np_error = NPERR_NO_ERROR; ITNPPluginData* data = NULL; @@ -447,14 +447,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating input fifo: %s\n", in_pipe_name); if (mkfifo (in_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_in_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created input fifo: %s\n", in_pipe_name); // Create plugin-to-appletviewer pipe which we refer to as the // output pipe. @@ -473,14 +473,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: creating output fifo: %s\n", out_pipe_name); if (mkfifo (out_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_out_pipe_name; } - PLUGIN_DEBUG_1ARG ("ITNP_New: created output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: created output fifo: %s\n", out_pipe_name); // Start a separate appletviewer process for each applet, even if // there are multiple applets in the same page. We may need to @@ -571,9 +571,9 @@ void start_jvm_if_needed() // cleanup_out_pipe: // Delete output pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name); unlink (out_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name); cleanup_out_pipe_name: g_free (out_pipe_name); @@ -581,9 +581,9 @@ void start_jvm_if_needed() // cleanup_in_pipe: // Delete input pipe. - PLUGIN_DEBUG_1ARG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name); unlink (in_pipe_name); - PLUGIN_DEBUG_1ARG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); + PLUGIN_DEBUG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name); cleanup_in_pipe_name: g_free (in_pipe_name); @@ -599,7 +599,7 @@ NPError NPError ITNP_GetValue (NPP instance, NPPVariable variable, void* value) { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue\n"); + PLUGIN_DEBUG ("ITNP_GetValue\n"); NPError np_error = NPERR_NO_ERROR; @@ -608,7 +608,7 @@ ITNP_GetValue (NPP instance, NPPVariable // This plugin needs XEmbed support. case NPPVpluginNeedsXEmbed: { - PLUGIN_DEBUG_0ARG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); + PLUGIN_DEBUG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n"); bool* bool_value = (bool*) value; *bool_value = true; } @@ -624,7 +624,7 @@ ITNP_GetValue (NPP instance, NPPVariable break; } - PLUGIN_DEBUG_0ARG ("ITNP_GetValue return\n"); + PLUGIN_DEBUG ("ITNP_GetValue return\n"); return np_error; } @@ -632,7 +632,7 @@ NPError NPError ITNP_Destroy (NPP instance, NPSavedData** save) { - PLUGIN_DEBUG_1ARG ("ITNP_Destroy %p\n", instance); + PLUGIN_DEBUG ("ITNP_Destroy %p\n", instance); ITNPPluginData* data = (ITNPPluginData*) instance->pdata; @@ -649,7 +649,7 @@ ITNP_Destroy (NPP instance, NPSavedData* IcedTeaPluginUtilities::invalidateInstance(instance); - PLUGIN_DEBUG_0ARG ("ITNP_Destroy return\n"); + PLUGIN_DEBUG ("ITNP_Destroy return\n"); return NPERR_NO_ERROR; } @@ -657,7 +657,7 @@ NPError NPError ITNP_SetWindow (NPP instance, NPWindow* window) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow\n"); + PLUGIN_DEBUG ("ITNP_SetWindow\n"); if (instance == NULL) { @@ -679,7 +679,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // Simply return if we receive a NULL window. if ((window == NULL) || (window->window == NULL)) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: got NULL window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: got NULL window.\n"); return NPERR_NO_ERROR; } @@ -690,7 +690,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (data->window_handle == window->window) { // The parent window is the same as in previous calls. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window already exists.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window already exists.\n"); // Critical region. Read data->appletviewer_mutex and send // a message to the appletviewer. @@ -704,7 +704,7 @@ ITNP_SetWindow (NPP instance, NPWindow* // SetWindow call. if (window->width != data->window_width) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window width changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window width changed.\n"); // The width of the plugin window has changed. // Store the new width. @@ -714,7 +714,7 @@ ITNP_SetWindow (NPP instance, NPWindow* if (window->height != data->window_height) { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: window height changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: window height changed.\n"); // The height of the plugin window has changed. // Store the new height. @@ -736,7 +736,7 @@ ITNP_SetWindow (NPP instance, NPWindow* else { // The appletviewer is not running. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: appletviewer is not running.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: appletviewer is not running.\n"); } g_mutex_unlock (data->appletviewer_mutex); @@ -745,12 +745,12 @@ ITNP_SetWindow (NPP instance, NPWindow* { // The parent window has changed. This branch does run but // doing nothing in response seems to be sufficient. - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: parent window changed.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: parent window changed.\n"); } } else { - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: setting window.\n"); + PLUGIN_DEBUG ("ITNP_SetWindow: setting window.\n"); // Critical region. Send messages to appletviewer. g_mutex_lock (data->appletviewer_mutex); @@ -774,7 +774,7 @@ ITNP_SetWindow (NPP instance, NPWindow* data->window_handle = window->window; } - PLUGIN_DEBUG_0ARG ("ITNP_SetWindow return\n"); + PLUGIN_DEBUG ("ITNP_SetWindow return\n"); return NPERR_NO_ERROR; } @@ -783,9 +783,9 @@ ITNP_NewStream (NPP instance, NPMIMEType ITNP_NewStream (NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype) { - PLUGIN_DEBUG_0ARG ("ITNP_NewStream\n"); + PLUGIN_DEBUG ("ITNP_NewStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_NewStream return\n"); + PLUGIN_DEBUG ("ITNP_NewStream return\n"); return NPERR_NO_ERROR; } @@ -793,17 +793,17 @@ void void ITNP_StreamAsFile (NPP instance, NPStream* stream, const char* filename) { - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile\n"); - PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile return\n"); + PLUGIN_DEBUG ("ITNP_StreamAsFile return\n"); } NPError ITNP_DestroyStream (NPP instance, NPStream* stream, NPReason reason) { - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream\n"); - PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream return\n"); + PLUGIN_DEBUG ("ITNP_DestroyStream return\n"); return NPERR_NO_ERROR; } @@ -811,9 +811,9 @@ int32_t int32_t ITNP_WriteReady (NPP instance, NPStream* stream) { - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady\n"); + PLUGIN_DEBUG ("ITNP_WriteReady\n"); - PLUGIN_DEBUG_0ARG ("ITNP_WriteReady return\n"); + PLUGIN_DEBUG ("ITNP_WriteReady return\n"); return 0; } @@ -822,9 +822,9 @@ ITNP_Write (NPP instance, NPStream* stre ITNP_Write (NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer) { - PLUGIN_DEBUG_0ARG ("ITNP_Write\n"); + PLUGIN_DEBUG ("ITNP_Write\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Write return\n"); + PLUGIN_DEBUG ("ITNP_Write return\n"); return 0; } @@ -832,17 +832,17 @@ void void ITNP_Print (NPP instance, NPPrint* platformPrint) { - PLUGIN_DEBUG_0ARG ("ITNP_Print\n"); + PLUGIN_DEBUG ("ITNP_Print\n"); - PLUGIN_DEBUG_0ARG ("ITNP_Print return\n"); + PLUGIN_DEBUG ("ITNP_Print return\n"); } int16_t ITNP_HandleEvent (NPP instance, void* event) { - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent\n"); - PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent return\n"); + PLUGIN_DEBUG ("ITNP_HandleEvent return\n"); return 0; } @@ -851,9 +851,9 @@ ITNP_URLNotify (NPP instance, const char ITNP_URLNotify (NPP instance, const char* url, NPReason reason, void* notifyData) { - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify\n"); + PLUGIN_DEBUG ("ITNP_URLNotify\n"); - PLUGIN_DEBUG_0ARG ("ITNP_URLNotify return\n"); + PLUGIN_DEBUG ("ITNP_URLNotify return\n"); } NPError @@ -924,7 +924,7 @@ static void static void plugin_data_new (ITNPPluginData** data) { - PLUGIN_DEBUG_0ARG ("plugin_data_new\n"); + PLUGIN_DEBUG ("plugin_data_new\n"); *data = (ITNPPluginData*) (*browser_functions.memalloc) (sizeof (struct ITNPPluginData)); @@ -933,7 +933,7 @@ plugin_data_new (ITNPPluginData** data) if (*data) memset (*data, 0, sizeof (struct ITNPPluginData)); - PLUGIN_DEBUG_0ARG ("plugin_data_new return\n"); + PLUGIN_DEBUG ("plugin_data_new return\n"); } @@ -948,7 +948,7 @@ static gchar* static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); nsIPluginInstance* xpcom_instance = NULL; nsIPluginInstancePeer* peer = NULL; @@ -1000,16 +1000,16 @@ plugin_get_documentbase (NPP instance) NS_RELEASE (peer); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } #else static gchar* plugin_get_documentbase (NPP instance) { - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase\n"); + PLUGIN_DEBUG ("plugin_get_documentbase\n"); char const* documentbase = NULL; gchar* documentbase_copy = NULL; @@ -1053,8 +1053,8 @@ plugin_get_documentbase (NPP instance) browser_functions.releasevariantvalue(&href); browser_functions.releasevariantvalue(&location); cleanup_done: - PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n"); - PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy); + PLUGIN_DEBUG ("plugin_get_documentbase return\n"); + PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy); return documentbase_copy; } @@ -1067,7 +1067,7 @@ plugin_display_failure_dialog () { GtkWidget* dialog = NULL; - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog\n"); dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, @@ -1079,7 +1079,7 @@ plugin_display_failure_dialog () gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - PLUGIN_DEBUG_0ARG ("plugin_display_failure_dialog return\n"); + PLUGIN_DEBUG ("plugin_display_failure_dialog return\n"); } From bugzilla-daemon at icedtea.classpath.org Mon Jul 12 16:29:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 12 Jul 2010 23:29:46 +0000 Subject: [Bug 518] NPString.utf8characters not guaranteed to be nul-terminated Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=518 ------- Comment #1 from dnietoc at gmail.com 2010-07-12 23:29 ------- To be even more defensive let it be: gchar* safeNPString = g_strndup( NPVARIANT_TO_STRING(*location).UTF8Characters, NPVARIANT_TO_STRING(*location).UTF8Length); char** parts = g_strsplit (safeNPString, "/", -1); g_free(safeNPString); g_strlcpy will still go past the end of the string when returning strlen(UTF8Characters). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Tue Jul 13 01:23:31 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 13 Jul 2010 10:23:31 +0200 Subject: /hg/icedtea: 3 new changesets In-Reply-To: References: Message-ID: <4C3C2283.50207@ubuntu.com> On 12.07.2010 18:31, andrew at icedtea.classpath.org wrote: > changeset 190ed35f3340 in /hg/icedtea > details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=190ed35f3340 > author: Andrew John Hughes > date: Mon Jul 12 17:25:33 2010 +0100 > > Add missing file. this adds the missing patch, but doesn't add it to the patches in Makefile.am (as mentioned in the ChangeLog). From mjw at icedtea.classpath.org Tue Jul 13 02:48:26 2010 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Tue, 13 Jul 2010 09:48:26 +0000 Subject: /hg/icedtea6: Fix hotspot tapset object_alloc size variable. Message-ID: changeset bd9b46091cd7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bd9b46091cd7 author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ tapset/hotspot.stp.in | 2 +- diffs (24 lines): diff -r 83395fabed02 -r bd9b46091cd7 ChangeLog --- a/ChangeLog Mon Jul 12 18:41:55 2010 -0400 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,8 @@ 2010-06-14 Deepak Bhole + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + 2010-06-14 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro diff -r 83395fabed02 -r bd9b46091cd7 tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Mon Jul 12 18:41:55 2010 -0400 +++ b/tapset/hotspot.stp.in Tue Jul 13 11:46:10 2010 +0200 @@ -120,7 +120,7 @@ probe hotspot.object_alloc = name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg3; + size = $arg4; probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } From mark at klomp.org Tue Jul 13 02:48:44 2010 From: mark at klomp.org (Mark Wielaard) Date: Tue, 13 Jul 2010 11:48:44 +0200 Subject: FYI: hotspot tapset object_alloc size fixlet. Message-ID: <1279014524.4047.1.camel@springer.wildebeest.org> Hi, Will Cohen noticed that the size variable of the hotspot object_alloc probe was grabbing the wrong argument. Fixed as follows: diff -r 83395fabed02 -r bd9b46091cd7 ChangeLog --- a/ChangeLog Mon Jul 12 18:41:55 2010 -0400 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,8 @@ +2010-07-13 Mark Wielaard + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + 2010-06-14 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro diff -r 83395fabed02 -r bd9b46091cd7 tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Mon Jul 12 18:41:55 2010 -0400 +++ b/tapset/hotspot.stp.in Tue Jul 13 11:46:10 2010 +0200 @@ -120,7 +120,7 @@ name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg3; + size = $arg4; probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } Committed and pushed. Thanks Will. From doko at ubuntu.com Tue Jul 13 03:45:16 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 13 Jul 2010 12:45:16 +0200 Subject: [patch] don't link the plugin with libxul libraries Message-ID: <4C3C43BC.4020208@ubuntu.com> This was pointed out at http://bugs.debian.org/576361 It's not necessary to link the plugin with the libraries defined by the libxul pkgconfig. Checked that with builds on Debian unstable (1.9.1) and Ubuntu lucid (1.9.2). Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: noxul.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100713/e4b00e92/noxul.diff From bugzilla-daemon at icedtea.classpath.org Tue Jul 13 04:59:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Jul 2010 11:59:46 +0000 Subject: [Bug 321] SIGSEGV (0xb) at pc=0x00a3dcab with Java VM: OpenJDK Server VM (1.6.0-b09 mixed mode linux-x86) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=321 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX ------- Comment #2 from asu at redhat.com 2010-07-13 11:59 ------- Closing, Fedora 9's life cycle has ended. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Tue Jul 13 05:07:44 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 13 Jul 2010 12:07:44 +0000 Subject: /hg/gfx-test: Added image comparator used for tests results gene... Message-ID: changeset 21a00e2fa19e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=21a00e2fa19e author: Pavel Tisnovsky date: Tue Jul 13 14:07:51 2010 +0200 Added image comparator used for tests results generation. diffstat: 3 files changed, 113 insertions(+), 1 deletion(-) Makefile | 6 +++- template_different_images.html | 54 ++++++++++++++++++++++++++++++++++++++++ template_same_images.html | 54 ++++++++++++++++++++++++++++++++++++++++ diffs (146 lines): diff -r a616bbdb494c -r 21a00e2fa19e Lupic.jar Binary file Lupic.jar has changed diff -r a616bbdb494c -r 21a00e2fa19e Makefile --- a/Makefile Mon Jul 12 13:36:50 2010 +0200 +++ b/Makefile Tue Jul 13 14:07:51 2010 +0200 @@ -39,6 +39,7 @@ SOURCEPATH=src SOURCEPATH=src CLASSES=build OUTPUT=output +RESULTS=results FRAMEWORK_DIR=org/gfxtest/framework TESTSUITE_DIR=org/gfxtest/testsuites TEST_PACKAGE=org.gfxtest.testsuites @@ -101,7 +102,9 @@ runtests: gfxtest.jar $(TESTSUITES) $(JAVA) -cp gfxtest.jar $(TEST_PACKAGE).$@ $(RUN_OPTIONS) compareresults: - echo "***TODO***" + mkdir -p $(RESULTS) + mkdir -p masks + java -jar Lupic.jar -s1=samples -s2=output -m=masks -b=bitmap-masks -o=results --html --html-results --xml-results --diff-images --struct-diff-images cleanall: clean clean-results @@ -113,4 +116,5 @@ clean: clean-results: rm -rf $(OUTPUT) + rm -rf $(RESULTS) diff -r a616bbdb494c -r 21a00e2fa19e template_different_images.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/template_different_images.html Tue Jul 13 14:07:51 2010 +0200 @@ -0,0 +1,54 @@ + + + + ${TestName} + + + + + + + +

${TestName}

+ + + + + + + + + + + + + + + + + + + +
Test result: ${ComparisonStatus}
 
Tested area: ${AreaAsString}
Different pixels area: ${RectangleAsString}
Total pixels: ${TotalPixels}
Masked pixels: ${MaskedPixels}
Perceptible pixels: ${PerceptibleDiffs}
Global different pixels: ${DifferentPixels}
Unperceptible different pixels:${SmallDifferences}
Same pixels: ${EqualPixels}
 
Template (source image1) source1.png
Test sample (source image2) source2.png
Diff. image diff.png
+
+
+

Generated by ImageDiffer

+ + + diff -r a616bbdb494c -r 21a00e2fa19e template_same_images.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/template_same_images.html Tue Jul 13 14:07:51 2010 +0200 @@ -0,0 +1,54 @@ + + + + ${TestName} + + + + + + + +

${TestName}

+ + + + + + + + + + + + + + + + + + + +
Test result: ${ComparisonStatus}
 
Tested area: ${AreaAsString}
Different pixels area: ${RectangleAsString}
Total pixels: ${TotalPixels}
Masked pixels: ${MaskedPixels}
Perceptible pixels: ${PerceptibleDiffs}
Global different pixels: ${DifferentPixels}
Unperceptible different pixels:${SmallDifferences}
Same pixels: ${EqualPixels}
 
Template (source image1) source1.png
Test sample (source image2) source2.png
Diff. image diff.png
+
+
+

Generated by ImageDiffer

+ + + From doko at ubuntu.com Tue Jul 13 05:40:30 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 13 Jul 2010 14:40:30 +0200 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: <4C3C43BC.4020208@ubuntu.com> References: <4C3C43BC.4020208@ubuntu.com> Message-ID: <4C3C5EBE.5090909@ubuntu.com> On 13.07.2010 12:45, Matthias Klose wrote: > This was pointed out at http://bugs.debian.org/576361 > It's not necessary to link the plugin with the libraries defined by the > libxul pkgconfig. Checked that with builds on Debian unstable (1.9.1) > and Ubuntu lucid (1.9.2). that was too easy ... apparently the configure check is the only thing which needs the libxul libs. So rewrite the configure test ro use the version information from pkg-config --modversion libxul and use an awk script for the collapsed version. Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: noxul.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100713/c196f742/noxul.diff From bugzilla-daemon at icedtea.classpath.org Tue Jul 13 07:20:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Jul 2010 14:20:56 +0000 Subject: [Bug 397] SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE ------- Comment #10 from asu at redhat.com 2010-07-13 14:20 ------- Same crash *** This bug has been marked as a duplicate of bug 293 *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 13 07:20:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Jul 2010 14:20:57 +0000 Subject: [Bug 293] JVM fatal error in VM code (HS 14) after NetworkManager disable / reenable cycle Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=293 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |paul at pmarks.net ------- Comment #12 from asu at redhat.com 2010-07-13 14:20 ------- *** Bug 397 has been marked as a duplicate of this bug. *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 13 07:28:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Jul 2010 14:28:32 +0000 Subject: [Bug 293] JVM fatal error in VM code (HS 14) after NetworkManager disable / reenable cycle Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=293 ------- Comment #13 from asu at redhat.com 2010-07-13 14:28 ------- Bug 422 is marked as duplicate of bug 397 which is marked as duplicate of this bug. In bug 422's report. This crashes in F12. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Jaroslav.Tulach at Sun.COM Tue Jul 13 08:07:19 2010 From: Jaroslav.Tulach at Sun.COM (Jaroslav Tulach) Date: Tue, 13 Jul 2010 17:07:19 +0200 Subject: OpenJDK not ready for virtualized environments In-Reply-To: <827hl84svf.fsf@mid.bfk.de> References: <0L4Y00D23TPL6870@fe-emea-10.sun.com> <827hl84svf.fsf@mid.bfk.de> Message-ID: <201007131707.20022.jaroslav.tulach@sun.com> Thanks for your comment Florian. Dne ?ter? 06 ?ervence 2010 15:55:32 Florian Weimer napsal(a): > * Jaroslav Tulach: > > After a discussion at #openjdk it looks like like a result of changing > > the defaults in amount of heap size and perm gen size. I believe the > > change is wrong. It shall rather check the # of available memory and if > > lower than 1GB stick with old defaults. > > Actually, the correct fix would be to reserve the address space > initially (so that you get one contiguous chunk), and allocate backing > store only as needed. That would definitely be an improvement. On the other hand, do you think it makes sense to allocate more than is physically available? I have just 384MB or physical RAM. Requesting 640MB of virtual space looks too greedy to me. > On Linux, you can do this by specifying PROT_NONE to mmap() and use > mprotect() later. (MAP_NORESERVE is different, and difficult to get > right because the garbage collector must be prepared to deal with > SIGSEGV when the used portion of the heap expands during GC.) This would be a change in upstream openjdk code, right? If that helped to lower the amount of protected memory for everyone in openjdk as well as classical Oracle JDK, it would be almost perfect. -jt From aph at redhat.com Tue Jul 13 08:39:25 2010 From: aph at redhat.com (Andrew Haley) Date: Tue, 13 Jul 2010 16:39:25 +0100 Subject: OpenJDK not ready for virtualized environments In-Reply-To: <201007131707.20022.jaroslav.tulach@sun.com> References: <0L4Y00D23TPL6870@fe-emea-10.sun.com> <827hl84svf.fsf@mid.bfk.de> <201007131707.20022.jaroslav.tulach@sun.com> Message-ID: <4C3C88AD.9080808@redhat.com> On 07/13/2010 04:07 PM, Jaroslav Tulach wrote: > Thanks for your comment Florian. > > Dne ?ter? 06 ervence 2010 15:55:32 Florian Weimer napsal(a): >> * Jaroslav Tulach: >>> After a discussion at #openjdk it looks like like a result of changing >>> the defaults in amount of heap size and perm gen size. I believe the >>> change is wrong. It shall rather check the # of available memory and if >>> lower than 1GB stick with old defaults. >> >> Actually, the correct fix would be to reserve the address space >> initially (so that you get one contiguous chunk), and allocate backing >> store only as needed. > > That would definitely be an improvement. That's what it does already. > On the other hand, do you think it makes sense to allocate more than > is physically available? I have just 384MB or physical > RAM. Requesting 640MB of virtual space looks too greedy to me. >> On Linux, you can do this by specifying PROT_NONE to mmap() and use >> mprotect() later. (MAP_NORESERVE is different, and difficult to get >> right because the garbage collector must be prepared to deal with >> SIGSEGV when the used portion of the heap expands during GC.) > > This would be a change in upstream openjdk code, right? No, that's what it does already. We need to know why it's not working for you. See my message of July 6. Andrew. From ahughes at redhat.com Tue Jul 13 09:45:28 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 13 Jul 2010 17:45:28 +0100 Subject: /hg/icedtea: 3 new changesets In-Reply-To: <4C3C2283.50207@ubuntu.com> References: <4C3C2283.50207@ubuntu.com> Message-ID: On 13 July 2010 09:23, Matthias Klose wrote: > On 12.07.2010 18:31, andrew at icedtea.classpath.org wrote: >> >> changeset 190ed35f3340 in /hg/icedtea >> details: >> http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=190ed35f3340 >> author: Andrew John Hughes >> date: Mon Jul 12 17:25:33 2010 +0100 >> >> ? ? ? ?Add missing file. > > this adds the missing patch, but doesn't add it to the patches in > Makefile.am (as mentioned in the ChangeLog). > Ah because it's not needed, it was included in upstream CACAO. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Tue Jul 13 11:07:17 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 13 Jul 2010 14:07:17 -0400 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: <4C3C5EBE.5090909@ubuntu.com> References: <4C3C43BC.4020208@ubuntu.com> <4C3C5EBE.5090909@ubuntu.com> Message-ID: <20100713180716.GA13862@redhat.com> * Matthias Klose [2010-07-13 08:41]: > On 13.07.2010 12:45, Matthias Klose wrote: > >This was pointed out at http://bugs.debian.org/576361 > >It's not necessary to link the plugin with the libraries defined by the > >libxul pkgconfig. Checked that with builds on Debian unstable (1.9.1) > >and Ubuntu lucid (1.9.2). > > that was too easy ... apparently the configure check is the only > thing which needs the libxul libs. So rewrite the configure test ro > use the version information from pkg-config --modversion libxul and > use an awk script for the collapsed version. > This should be fine. Keep in mind that the build itself will still be version specific, as there were incompatible API changes between xulrunner 1.9.1 and 1.9.2. This issue will be gone once the final Firefox 3.5.x is out sometime in August[1], and then we can remove support for xulrunner < 1.9.2. Your patch will remove linking dependency on libxul altogether though, which is nice. Assuming you have tested this, please go ahead and commit. 1: http://support.mozilla.com/en-US/forum/1/620972 Cheers, Deepak > Matthias > 2010-07-13 Matthias Klose > > * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul > libraries. > (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. > > diff -r 0a636a2e9b0d acinclude.m4 > --- a/acinclude.m4 Mon Jul 12 11:13:35 2010 -0400 > +++ b/acinclude.m4 Tue Jul 13 14:35:12 2010 +0200 > @@ -1461,15 +1461,7 @@ > AC_SUBST(GTK_CFLAGS) > AC_SUBST(GTK_LIBS) > > - > - if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then > - xullibs=libxul > - else > - xullibs="libxul libxul-unstable" > - fi > - > - PKG_CHECK_MODULES(MOZILLA, \ > - mozilla-plugin ${xullibs}) > + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) > > AC_SUBST(MOZILLA_CFLAGS) > AC_SUBST(MOZILLA_LIBS) > @@ -1482,52 +1474,13 @@ > AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) > if test "x${enable_plugin}" = "xyes" > then > - AC_LANG_PUSH([C++]) > - OLDCPPFLAGS="$CPPFLAGS" > - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" > - > - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], > - [AC_RUN_IFELSE( > - [AC_LANG_PROGRAM([[ > -#include > -#include > -#include > -#include > -#include > -]],[[ > -int version = 0; > -const char* token = NULL; > -int power=6; > -FILE *datafile; > - > -datafile = fopen ("conftest.vdata", "w"); > -if (!datafile) return 1; > - > -// 32 chars is more than enough to hold version > -char* mozilla_version = (char*) malloc(32*sizeof(char)); > -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); > - > -token = strtok(mozilla_version, "."); > -while (token) > -{ > - version += atoi(token)*(pow(10, power)); > - power -=2; > - token = strtok(NULL, "."); > -} > - > -fprintf (datafile, "%d\n", version); > -free(mozilla_version); > -if (fclose(datafile)) return 1; > - > -return EXIT_SUCCESS; > -]])], > - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], > - [AC_MSG_FAILURE([cannot determine xulrunner version])])], > - [xulrunner_cv_collapsed_version="190000"]) > - > - CPPFLAGS="$OLDCPPFLAGS" > - AC_LANG_POP([C++]) > - > + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ > + if pkg-config --modversion libxul >/dev/null 2>&1 > + then > + xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` > + else > + AC_MSG_FAILURE([cannot determine xulrunner version]) > + fi]) > AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) > fi > ]) From dbhole at icedtea.classpath.org Tue Jul 13 11:49:25 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 13 Jul 2010 18:49:25 +0000 Subject: /hg/icedtea6: - Set timeout to 120 seconds (previous commit mist... Message-ID: changeset 0b8a71d3b9db in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0b8a71d3b9db author: Deepak Bhole date: Tue Jul 13 14:48:45 2010 -0400 - Set timeout to 120 seconds (previous commit mistakenly changed it to 10). - Print debug info only in debug mode. diffstat: 3 files changed, 16 insertions(+), 3 deletions(-) ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 +- plugin/icedteanp/IcedTeaPluginUtils.h | 10 ++++++++-- diffs (46 lines): diff -r bd9b46091cd7 -r 0b8a71d3b9db ChangeLog --- a/ChangeLog Tue Jul 13 11:46:10 2010 +0200 +++ b/ChangeLog Tue Jul 13 14:48:45 2010 -0400 @@ -1,3 +1,10 @@ 2010-07-13 Mark Wielaard + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 + seconds (previous commit mistakenly changed it to 10). + * plugin/icedteanp/IcedTeaPluginUtils.h: Print debug info only in debug + mode. + 2010-07-13 Mark Wielaard Reported by William Cohen diff -r bd9b46091cd7 -r 0b8a71d3b9db plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Tue Jul 13 11:46:10 2010 +0200 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Tue Jul 13 14:48:45 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 10 +#define REQUESTTIMEOUT 120 /* * This struct holds data specific to a Java operation requested by the plugin diff -r bd9b46091cd7 -r 0b8a71d3b9db plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jul 13 11:46:10 2010 +0200 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jul 13 14:48:45 2010 -0400 @@ -67,8 +67,14 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #define PLUGIN_DEBUG(...) \ - fprintf (stderr, "ITNPP Thread# %d: ", pthread_self()); \ - fprintf (stderr, __VA_ARGS__) + do \ + { \ + if (plugin_debug) \ + { \ + fprintf (stderr, "ITNPP Thread# %ld: ", pthread_self()); \ + fprintf (stderr, __VA_ARGS__); \ + } \ + } while (0) #define CHECK_JAVA_RESULT(result_data) \ { \ From dbhole at icedtea.classpath.org Tue Jul 13 11:50:35 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 13 Jul 2010 18:50:35 +0000 Subject: /hg/release/icedtea6-1.7: - Set timeout to 120 seconds (previous... Message-ID: changeset fe894254bf91 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=fe894254bf91 author: Deepak Bhole date: Tue Jul 13 14:48:45 2010 -0400 - Set timeout to 120 seconds (previous commit mistakenly changed it to 10). - Print debug info only in debug mode. diffstat: 3 files changed, 16 insertions(+), 3 deletions(-) ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 +- plugin/icedteanp/IcedTeaPluginUtils.h | 10 ++++++++-- diffs (46 lines): diff -r cb75225afcd4 -r fe894254bf91 ChangeLog --- a/ChangeLog Mon Jul 12 18:41:55 2010 -0400 +++ b/ChangeLog Tue Jul 13 14:48:45 2010 -0400 @@ -1,3 +1,10 @@ 2010-06-14 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 + seconds (previous commit mistakenly changed it to 10). + * plugin/icedteanp/IcedTeaPluginUtils.h: Print debug info only in debug + mode. + 2010-06-14 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro diff -r cb75225afcd4 -r fe894254bf91 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 18:41:55 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Tue Jul 13 14:48:45 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 10 +#define REQUESTTIMEOUT 120 /* * This struct holds data specific to a Java operation requested by the plugin diff -r cb75225afcd4 -r fe894254bf91 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Mon Jul 12 18:41:55 2010 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jul 13 14:48:45 2010 -0400 @@ -67,8 +67,14 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #define PLUGIN_DEBUG(...) \ - fprintf (stderr, "ITNPP Thread# %d: ", pthread_self()); \ - fprintf (stderr, __VA_ARGS__) + do \ + { \ + if (plugin_debug) \ + { \ + fprintf (stderr, "ITNPP Thread# %ld: ", pthread_self()); \ + fprintf (stderr, __VA_ARGS__); \ + } \ + } while (0) #define CHECK_JAVA_RESULT(result_data) \ { \ From dbhole at icedtea.classpath.org Tue Jul 13 11:51:02 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 13 Jul 2010 18:51:02 +0000 Subject: /hg/release/icedtea6-1.8: - Set timeout to 120 seconds (previous... Message-ID: changeset 5ff734da2923 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=5ff734da2923 author: Deepak Bhole date: Tue Jul 13 14:48:45 2010 -0400 - Set timeout to 120 seconds (previous commit mistakenly changed it to 10). - Print debug info only in debug mode. diffstat: 3 files changed, 16 insertions(+), 3 deletions(-) ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 +- plugin/icedteanp/IcedTeaPluginUtils.h | 10 ++++++++-- diffs (46 lines): diff -r bab376167dbb -r 5ff734da2923 ChangeLog --- a/ChangeLog Mon Jul 12 18:41:55 2010 -0400 +++ b/ChangeLog Tue Jul 13 14:48:45 2010 -0400 @@ -1,3 +1,10 @@ 2010-06-14 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 + seconds (previous commit mistakenly changed it to 10). + * plugin/icedteanp/IcedTeaPluginUtils.h: Print debug info only in debug + mode. + 2010-06-14 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro diff -r bab376167dbb -r 5ff734da2923 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Mon Jul 12 18:41:55 2010 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Tue Jul 13 14:48:45 2010 -0400 @@ -46,7 +46,7 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" -#define REQUESTTIMEOUT 10 +#define REQUESTTIMEOUT 120 /* * This struct holds data specific to a Java operation requested by the plugin diff -r bab376167dbb -r 5ff734da2923 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Mon Jul 12 18:41:55 2010 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jul 13 14:48:45 2010 -0400 @@ -67,8 +67,14 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #define PLUGIN_DEBUG(...) \ - fprintf (stderr, "ITNPP Thread# %d: ", pthread_self()); \ - fprintf (stderr, __VA_ARGS__) + do \ + { \ + if (plugin_debug) \ + { \ + fprintf (stderr, "ITNPP Thread# %ld: ", pthread_self()); \ + fprintf (stderr, __VA_ARGS__); \ + } \ + } while (0) #define CHECK_JAVA_RESULT(result_data) \ { \ From doko at icedtea.classpath.org Tue Jul 13 15:05:55 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Tue, 13 Jul 2010 22:05:55 +0000 Subject: /hg/release/icedtea6-1.8: Don't link the plugin with libxul libr... Message-ID: changeset 595ea39174ab in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=595ea39174ab author: doko at ubuntu.com date: Wed Jul 14 00:06:12 2010 +0200 Don't link the plugin with libxul libraries 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. diffstat: 2 files changed, 14 insertions(+), 55 deletions(-) ChangeLog | 6 +++++ acinclude.m4 | 63 +++++++--------------------------------------------------- diffs (93 lines): diff -r 5ff734da2923 -r 595ea39174ab ChangeLog --- a/ChangeLog Tue Jul 13 14:48:45 2010 -0400 +++ b/ChangeLog Wed Jul 14 00:06:12 2010 +0200 @@ -1,3 +1,9 @@ 2010-07-13 Deepak Bhole + + * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul + libraries. + (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. + 2010-07-13 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 diff -r 5ff734da2923 -r 595ea39174ab acinclude.m4 --- a/acinclude.m4 Tue Jul 13 14:48:45 2010 -0400 +++ b/acinclude.m4 Wed Jul 14 00:06:12 2010 +0200 @@ -1461,15 +1461,7 @@ if test "x${enable_plugin}" = "xyes" ; t AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - - if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then - xullibs=libxul - else - xullibs="libxul libxul-unstable" - fi - - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin ${xullibs}) + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) @@ -1482,52 +1474,13 @@ AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) if test "x${enable_plugin}" = "xyes" then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + if pkg-config --modversion libxul >/dev/null 2>&1 + then + xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` + else + AC_MSG_FAILURE([cannot determine xulrunner version]) + fi]) AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) fi ]) From doko at icedtea.classpath.org Tue Jul 13 15:09:41 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Tue, 13 Jul 2010 22:09:41 +0000 Subject: /hg/icedtea6: Don't link the plugin with libxul libraries Message-ID: changeset 6dbe1524ae3b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6dbe1524ae3b author: doko at ubuntu.com date: Wed Jul 14 00:09:56 2010 +0200 Don't link the plugin with libxul libraries 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. diffstat: 2 files changed, 14 insertions(+), 54 deletions(-) ChangeLog | 6 +++++ acinclude.m4 | 62 +++++++--------------------------------------------------- diffs (92 lines): diff -r 0b8a71d3b9db -r 6dbe1524ae3b ChangeLog --- a/ChangeLog Tue Jul 13 14:48:45 2010 -0400 +++ b/ChangeLog Wed Jul 14 00:09:56 2010 +0200 @@ -1,3 +1,9 @@ 2010-07-13 Deepak Bhole + + * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul + libraries. + (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. + 2010-07-13 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 diff -r 0b8a71d3b9db -r 6dbe1524ae3b acinclude.m4 --- a/acinclude.m4 Tue Jul 13 14:48:45 2010 -0400 +++ b/acinclude.m4 Wed Jul 14 00:09:56 2010 +0200 @@ -1479,14 +1479,7 @@ if test "x${enable_plugin}" = "xyes" ; t AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - if $PKG_CONFIG --atleast-version 1.9.2 libxul >&AS_MESSAGE_LOG_FD 2>&1; then - xullibs=libxul - else - xullibs="libxul libxul-unstable" - fi - - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin ${xullibs}) + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) @@ -1499,52 +1492,13 @@ AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) if test "x${enable_plugin}" = "xyes" then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + if pkg-config --modversion libxul >/dev/null 2>&1 + then + xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` + else + AC_MSG_FAILURE([cannot determine xulrunner version]) + fi]) AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) fi ]) From doko at icedtea.classpath.org Tue Jul 13 15:15:02 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Tue, 13 Jul 2010 22:15:02 +0000 Subject: /hg/icedtea: Don't link the plugin with libxul libraries Message-ID: changeset 8723b60d4996 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=8723b60d4996 author: doko at ubuntu.com date: Wed Jul 14 00:15:18 2010 +0200 Don't link the plugin with libxul libraries 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. diffstat: 2 files changed, 14 insertions(+), 54 deletions(-) ChangeLog | 6 +++++ acinclude.m4 | 62 +++++++--------------------------------------------------- diffs (92 lines): diff -r ebc77668bad5 -r 8723b60d4996 ChangeLog --- a/ChangeLog Mon Jul 12 19:32:13 2010 +0100 +++ b/ChangeLog Wed Jul 14 00:15:18 2010 +0200 @@ -1,3 +1,9 @@ 2010-07-12 Andrew John Hughes + + * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul + libraries. + (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. + 2010-07-12 Andrew John Hughes PR icedtea/521 diff -r ebc77668bad5 -r 8723b60d4996 acinclude.m4 --- a/acinclude.m4 Mon Jul 12 19:32:13 2010 +0100 +++ b/acinclude.m4 Wed Jul 14 00:15:18 2010 +0200 @@ -1719,14 +1719,7 @@ if test "x${enable_plugin}" = "xyes" ; t AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - if $PKG_CONFIG --atleast-version 1.9.2 libxul >&AS_MESSAGE_LOG_FD 2>&1; then - xullibs=libxul - else - xullibs="libxul libxul-unstable" - fi - - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin ${xullibs}) + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) @@ -1739,52 +1732,13 @@ AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) if test "x${enable_plugin}" = "xyes" then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + if pkg-config --modversion libxul >/dev/null 2>&1 + then + xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` + else + AC_MSG_FAILURE([cannot determine xulrunner version]) + fi]) AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) fi ]) From doko at icedtea.classpath.org Tue Jul 13 15:51:18 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Tue, 13 Jul 2010 22:51:18 +0000 Subject: /hg/release/icedtea6-1.7: Don't link the plugin with libxul libr... Message-ID: changeset 6293abfc6106 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6293abfc6106 author: doko at ubuntu.com date: Wed Jul 14 00:51:32 2010 +0200 Don't link the plugin with libxul libraries 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. diffstat: 2 files changed, 15 insertions(+), 53 deletions(-) ChangeLog | 6 +++++ acinclude.m4 | 62 ++++++++-------------------------------------------------- diffs (100 lines): diff -r fe894254bf91 -r 6293abfc6106 ChangeLog --- a/ChangeLog Tue Jul 13 14:48:45 2010 -0400 +++ b/ChangeLog Wed Jul 14 00:51:32 2010 +0200 @@ -1,3 +1,9 @@ 2010-07-13 Deepak Bhole + + * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul + libraries. + (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. + 2010-07-13 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 diff -r fe894254bf91 -r 6293abfc6106 acinclude.m4 --- a/acinclude.m4 Tue Jul 13 14:48:45 2010 -0400 +++ b/acinclude.m4 Wed Jul 14 00:51:32 2010 +0200 @@ -1292,21 +1292,16 @@ if test "x${enable_plugin}" = "xyes" -o AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then if test "x${enable_npplugin}" != "xyes" ; then AC_MSG_WARN([The old plugin does not work with xulrunner >= 1.9.2. Enabling new plugin.]) - enable_npplugin=yes; + enable_npplugin=yes fi - xullibs=libxul - else - xullibs="libxul libxul-unstable" fi if test "x${enable_npplugin}" = "xyes" ; then - PKG_CHECK_MODULES(MOZILLA, \ - mozilla-plugin ${xullibs}) + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) @@ -1330,52 +1325,13 @@ AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" then - AC_LANG_PUSH([C++]) - OLDCPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" - - AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -#include -#include -#include -#include -#include -]],[[ -int version = 0; -const char* token = NULL; -int power=6; -FILE *datafile; - -datafile = fopen ("conftest.vdata", "w"); -if (!datafile) return 1; - -// 32 chars is more than enough to hold version -char* mozilla_version = (char*) malloc(32*sizeof(char)); -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); - -token = strtok(mozilla_version, "."); -while (token) -{ - version += atoi(token)*(pow(10, power)); - power -=2; - token = strtok(NULL, "."); -} - -fprintf (datafile, "%d\n", version); -free(mozilla_version); -if (fclose(datafile)) return 1; - -return EXIT_SUCCESS; -]])], - [xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], - [AC_MSG_FAILURE([cannot determine xulrunner version])])], - [xulrunner_cv_collapsed_version="190000"]) - - CPPFLAGS="$OLDCPPFLAGS" - AC_LANG_POP([C++]) - + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + if pkg-config --modversion libxul >/dev/null 2>&1 + then + xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` + else + AC_MSG_FAILURE([cannot determine xulrunner version]) + fi]) AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) fi ]) From ahughes at redhat.com Wed Jul 14 02:30:05 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 14 Jul 2010 10:30:05 +0100 Subject: /hg/release/icedtea6-1.7: Don't link the plugin with libxul libr... In-Reply-To: References: Message-ID: On 13 July 2010 23:51, wrote: > changeset 6293abfc6106 in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6293abfc6106 > author: doko at ubuntu.com > date: Wed Jul 14 00:51:32 2010 +0200 > > ? ? ? ?Don't link the plugin with libxul libraries > > ? ? ? ?2010-07-13 Matthias Klose > > ? ? ? ? * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require > ? ? ? ?libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use > ? ? ? ?pkgconfig --modversion as version. > > > diffstat: > > 2 files changed, 15 insertions(+), 53 deletions(-) > ChangeLog ? ?| ? ?6 +++++ > acinclude.m4 | ? 62 ++++++++-------------------------------------------------- > > diffs (100 lines): > > diff -r fe894254bf91 -r 6293abfc6106 ChangeLog > --- a/ChangeLog Tue Jul 13 14:48:45 2010 -0400 > +++ b/ChangeLog Wed Jul 14 00:51:32 2010 +0200 > @@ -1,3 +1,9 @@ 2010-07-13 ?Deepak Bhole +2010-07-13 ?Matthias Klose ? > + > + ? ? ? * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul > + ? ? ? libraries. > + ? ? ? (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. > + > ?2010-07-13 ?Deepak Bhole > > ? ? ? ?* plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 > diff -r fe894254bf91 -r 6293abfc6106 acinclude.m4 > --- a/acinclude.m4 ? ? ?Tue Jul 13 14:48:45 2010 -0400 > +++ b/acinclude.m4 ? ? ?Wed Jul 14 00:51:32 2010 +0200 > @@ -1292,21 +1292,16 @@ if test "x${enable_plugin}" = "xyes" -o > ? AC_SUBST(GTK_CFLAGS) > ? AC_SUBST(GTK_LIBS) > > - > ? if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then > ? ? if test "x${enable_npplugin}" != "xyes" ; then > ? ? ? AC_MSG_WARN([The old plugin does not work with xulrunner >= 1.9.2. ?Enabling new plugin.]) > - ? ? ?enable_npplugin=yes; > + ? ? ?enable_npplugin=yes > ? ? fi > - ? ?xullibs=libxul > - ?else > - ? ?xullibs="libxul libxul-unstable" > ? fi > > ? if test "x${enable_npplugin}" = "xyes" ; > ? then > - ? ?PKG_CHECK_MODULES(MOZILLA, \ > - ? ? ?mozilla-plugin ${xullibs}) > + ? ?PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) > > ? ? AC_SUBST(MOZILLA_CFLAGS) > ? ? AC_SUBST(MOZILLA_LIBS) > @@ -1330,52 +1325,13 @@ AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES > ?AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) > ?if test "x${enable_plugin}" = "xyes" -o "x${enable_npplugin}" = "xyes" > ?then > - ?AC_LANG_PUSH([C++]) > - ?OLDCPPFLAGS="$CPPFLAGS" > - ?CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" > - > - ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], > - ? ? ?[AC_RUN_IFELSE( > - ? ? ? ?[AC_LANG_PROGRAM([[ > -#include > -#include > -#include > -#include > -#include > -]],[[ > -int version = 0; > -const char* token = NULL; > -int power=6; > -FILE *datafile; > - > -datafile = fopen ("conftest.vdata", "w"); > -if (!datafile) return 1; > - > -// 32 chars is more than enough to hold version > -char* mozilla_version = (char*) malloc(32*sizeof(char)); > -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); > - > -token = strtok(mozilla_version, "."); > -while (token) > -{ > - ? ?version += atoi(token)*(pow(10, power)); > - ? ?power -=2; > - ? ?token = strtok(NULL, "."); > -} > - > -fprintf (datafile, "%d\n", version); > -free(mozilla_version); > -if (fclose(datafile)) return 1; > - > -return EXIT_SUCCESS; > -]])], > - ? ?[xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], > - ? ?[AC_MSG_FAILURE([cannot determine xulrunner version])])], > - ?[xulrunner_cv_collapsed_version="190000"]) > - > - ?CPPFLAGS="$OLDCPPFLAGS" > - ?AC_LANG_POP([C++]) > - > + ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ > + ? ?if pkg-config --modversion libxul >/dev/null 2>&1 > + ? ?then > + ? ? ?xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` > + ? ?else > + ? ? ?AC_MSG_FAILURE([cannot determine xulrunner version]) > + ? ?fi]) > ? AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) > ?fi > ?]) > Why has this been backported to 1.7? It hasn't been approved. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 14 02:46:34 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 14 Jul 2010 10:46:34 +0100 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: <20100713180716.GA13862@redhat.com> References: <4C3C43BC.4020208@ubuntu.com> <4C3C5EBE.5090909@ubuntu.com> <20100713180716.GA13862@redhat.com> Message-ID: On 13 July 2010 19:07, Deepak Bhole wrote: > * Matthias Klose [2010-07-13 08:41]: >> On 13.07.2010 12:45, Matthias Klose wrote: >> >This was pointed out at http://bugs.debian.org/576361 >> >It's not necessary to link the plugin with the libraries defined by the >> >libxul pkgconfig. Checked that with builds on Debian unstable (1.9.1) >> >and Ubuntu lucid (1.9.2). >> >> that was too easy ... apparently the configure check is the only >> thing which needs the libxul libs. ?So rewrite the configure test ro >> use the version information from pkg-config --modversion libxul and >> use an awk script for the collapsed version. >> > > This should be fine. Keep in mind that the build itself will still be > version specific, as there were incompatible API changes between > xulrunner 1.9.1 and 1.9.2. This issue will be gone once the final > Firefox 3.5.x is out sometime in August[1], and then we can remove support > for xulrunner < 1.9.2. > > Your patch will remove linking dependency on libxul altogether though, > which is nice. > > Assuming you have tested this, please go ahead and commit. > > 1: http://support.mozilla.com/en-US/forum/1/620972 > Why has this also been applied to the stable 1.7 branch? Especially as I haven't heard of anyone testing this on Fedora yet... Can someone please confirm it still works on that platform? We spent a lot of time getting the plugin building for 1.7 before release. > Cheers, > Deepak > >> ? Matthias > >> 2010-07-13 ?Matthias Klose ? >> >> ? ? ? * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul >> ? ? ? libraries. >> ? ? ? (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. >> >> diff -r 0a636a2e9b0d acinclude.m4 >> --- a/acinclude.m4 ? ?Mon Jul 12 11:13:35 2010 -0400 >> +++ b/acinclude.m4 ? ?Tue Jul 13 14:35:12 2010 +0200 >> @@ -1461,15 +1461,7 @@ >> ? ?AC_SUBST(GTK_CFLAGS) >> ? ?AC_SUBST(GTK_LIBS) >> >> - >> - ?if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then >> - ? ?xullibs=libxul >> - ?else >> - ? ?xullibs="libxul libxul-unstable" >> - ?fi >> - >> - ?PKG_CHECK_MODULES(MOZILLA, \ >> - ? ?mozilla-plugin ${xullibs}) >> + ?PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) >> >> ? ?AC_SUBST(MOZILLA_CFLAGS) >> ? ?AC_SUBST(MOZILLA_LIBS) >> @@ -1482,52 +1474,13 @@ >> ?AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) >> ?if test "x${enable_plugin}" = "xyes" >> ?then >> - ?AC_LANG_PUSH([C++]) >> - ?OLDCPPFLAGS="$CPPFLAGS" >> - ?CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" >> - >> - ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], >> - ? ? ?[AC_RUN_IFELSE( >> - ? ? ? ?[AC_LANG_PROGRAM([[ >> -#include >> -#include >> -#include >> -#include >> -#include >> -]],[[ >> -int version = 0; >> -const char* token = NULL; >> -int power=6; >> -FILE *datafile; >> - >> -datafile = fopen ("conftest.vdata", "w"); >> -if (!datafile) return 1; >> - >> -// 32 chars is more than enough to hold version >> -char* mozilla_version = (char*) malloc(32*sizeof(char)); >> -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); >> - >> -token = strtok(mozilla_version, "."); >> -while (token) >> -{ >> - ? ?version += atoi(token)*(pow(10, power)); >> - ? ?power -=2; >> - ? ?token = strtok(NULL, "."); >> -} >> - >> -fprintf (datafile, "%d\n", version); >> -free(mozilla_version); >> -if (fclose(datafile)) return 1; >> - >> -return EXIT_SUCCESS; >> -]])], >> - ? ?[xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], >> - ? ?[AC_MSG_FAILURE([cannot determine xulrunner version])])], >> - ?[xulrunner_cv_collapsed_version="190000"]) >> - >> - ?CPPFLAGS="$OLDCPPFLAGS" >> - ?AC_LANG_POP([C++]) >> - >> + ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ >> + ? ?if pkg-config --modversion libxul >/dev/null 2>&1 >> + ? ?then >> + ? ? ?xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` >> + ? ?else >> + ? ? ?AC_MSG_FAILURE([cannot determine xulrunner version]) >> + ? ?fi]) >> ? ?AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) >> ?fi >> ?]) > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Wed Jul 14 03:03:00 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 14 Jul 2010 12:03:00 +0200 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: References: <4C3C43BC.4020208@ubuntu.com> <4C3C5EBE.5090909@ubuntu.com> <20100713180716.GA13862@redhat.com> Message-ID: <4C3D8B54.1000107@ubuntu.com> On 14.07.2010 11:46, Andrew John Hughes wrote: > Why has this also been applied to the stable 1.7 branch? Especially > as I haven't heard of anyone testing this on Fedora yet... Can > someone please confirm it still works on that platform? We spent a lot > of time getting the plugin building for 1.7 before release. asked dbhole on irc about if I should commit it to this branch too. From dbhole at redhat.com Wed Jul 14 07:26:01 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 14 Jul 2010 10:26:01 -0400 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: References: <4C3C43BC.4020208@ubuntu.com> <4C3C5EBE.5090909@ubuntu.com> <20100713180716.GA13862@redhat.com> Message-ID: <20100714142600.GA27825@redhat.com> * Andrew John Hughes [2010-07-14 05:46]: > On 13 July 2010 19:07, Deepak Bhole wrote: > > * Matthias Klose [2010-07-13 08:41]: > >> On 13.07.2010 12:45, Matthias Klose wrote: > >> >This was pointed out at http://bugs.debian.org/576361 > >> >It's not necessary to link the plugin with the libraries defined by the > >> >libxul pkgconfig. Checked that with builds on Debian unstable (1.9.1) > >> >and Ubuntu lucid (1.9.2). > >> > >> that was too easy ... apparently the configure check is the only > >> thing which needs the libxul libs. ?So rewrite the configure test ro > >> use the version information from pkg-config --modversion libxul and > >> use an awk script for the collapsed version. > >> > > > > This should be fine. Keep in mind that the build itself will still be > > version specific, as there were incompatible API changes between > > xulrunner 1.9.1 and 1.9.2. This issue will be gone once the final > > Firefox 3.5.x is out sometime in August[1], and then we can remove support > > for xulrunner < 1.9.2. > > > > Your patch will remove linking dependency on libxul altogether though, > > which is nice. > > > > Assuming you have tested this, please go ahead and commit. > > > > 1: http://support.mozilla.com/en-US/forum/1/620972 > > > > Why has this also been applied to the stable 1.7 branch? Especially > as I haven't heard of anyone testing this on Fedora yet... Can > someone please confirm it still works on that platform? We spent a lot > of time getting the plugin building for 1.7 before release. > I tested it on my F13 system and it was fine. You have more experiences with releases than me though. And if you have reservations, I am fine with backing it out as well. Cheers, Deepak > > Cheers, > > Deepak > > > >> ? Matthias > > > >> 2010-07-13 ?Matthias Klose ? > >> > >> ? ? ? * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul > >> ? ? ? libraries. > >> ? ? ? (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. > >> > >> diff -r 0a636a2e9b0d acinclude.m4 > >> --- a/acinclude.m4 ? ?Mon Jul 12 11:13:35 2010 -0400 > >> +++ b/acinclude.m4 ? ?Tue Jul 13 14:35:12 2010 +0200 > >> @@ -1461,15 +1461,7 @@ > >> ? ?AC_SUBST(GTK_CFLAGS) > >> ? ?AC_SUBST(GTK_LIBS) > >> > >> - > >> - ?if $PKG_CONFIG --atleast-version 1.9.2 libxul 2>&AS_MESSAGE_LOG_FD ; then > >> - ? ?xullibs=libxul > >> - ?else > >> - ? ?xullibs="libxul libxul-unstable" > >> - ?fi > >> - > >> - ?PKG_CHECK_MODULES(MOZILLA, \ > >> - ? ?mozilla-plugin ${xullibs}) > >> + ?PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) > >> > >> ? ?AC_SUBST(MOZILLA_CFLAGS) > >> ? ?AC_SUBST(MOZILLA_LIBS) > >> @@ -1482,52 +1474,13 @@ > >> ?AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES]) > >> ?if test "x${enable_plugin}" = "xyes" > >> ?then > >> - ?AC_LANG_PUSH([C++]) > >> - ?OLDCPPFLAGS="$CPPFLAGS" > >> - ?CPPFLAGS="$CPPFLAGS $MOZILLA_CFLAGS" > >> - > >> - ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version], > >> - ? ? ?[AC_RUN_IFELSE( > >> - ? ? ? ?[AC_LANG_PROGRAM([[ > >> -#include > >> -#include > >> -#include > >> -#include > >> -#include > >> -]],[[ > >> -int version = 0; > >> -const char* token = NULL; > >> -int power=6; > >> -FILE *datafile; > >> - > >> -datafile = fopen ("conftest.vdata", "w"); > >> -if (!datafile) return 1; > >> - > >> -// 32 chars is more than enough to hold version > >> -char* mozilla_version = (char*) malloc(32*sizeof(char)); > >> -snprintf(mozilla_version, 32, "%s", MOZILLA_VERSION); > >> - > >> -token = strtok(mozilla_version, "."); > >> -while (token) > >> -{ > >> - ? ?version += atoi(token)*(pow(10, power)); > >> - ? ?power -=2; > >> - ? ?token = strtok(NULL, "."); > >> -} > >> - > >> -fprintf (datafile, "%d\n", version); > >> -free(mozilla_version); > >> -if (fclose(datafile)) return 1; > >> - > >> -return EXIT_SUCCESS; > >> -]])], > >> - ? ?[xulrunner_cv_collapsed_version="$(cat conftest.vdata)"], > >> - ? ?[AC_MSG_FAILURE([cannot determine xulrunner version])])], > >> - ?[xulrunner_cv_collapsed_version="190000"]) > >> - > >> - ?CPPFLAGS="$OLDCPPFLAGS" > >> - ?AC_LANG_POP([C++]) > >> - > >> + ?AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ > >> + ? ?if pkg-config --modversion libxul >/dev/null 2>&1 > >> + ? ?then > >> + ? ? ?xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'` > >> + ? ?else > >> + ? ? ?AC_MSG_FAILURE([cannot determine xulrunner version]) > >> + ? ?fi]) > >> ? ?AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) > >> ?fi > >> ?]) > > > > > > > > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 14 08:02:12 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 14 Jul 2010 16:02:12 +0100 Subject: [patch] don't link the plugin with libxul libraries In-Reply-To: <4C3D8B54.1000107@ubuntu.com> References: <4C3C43BC.4020208@ubuntu.com> <4C3C5EBE.5090909@ubuntu.com> <20100713180716.GA13862@redhat.com> <4C3D8B54.1000107@ubuntu.com> Message-ID: On 14 July 2010 11:03, Matthias Klose wrote: > On 14.07.2010 11:46, Andrew John Hughes wrote: >> >> Why has this also been applied to the stable 1.7 branch? ?Especially >> as I haven't heard of anyone testing this on Fedora yet... ?Can >> someone please confirm it still works on that platform? We spent a lot >> of time getting the plugin building for 1.7 before release. > > asked dbhole on irc about if I should commit it to this branch too. > Ok, dbhole is not release manager for 1.7 (unless he wants to be?). We need to be careful about breakage on release branches. Anyway, I don't see a problem with this on 1.7 if someone can confirm it still builds and works correctly on Fedora. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From denisl at openscg.com Wed Jul 14 08:14:29 2010 From: denisl at openscg.com (Lussier, Denis) Date: Wed, 14 Jul 2010 11:14:29 -0400 Subject: sha256sum need by icedtea6 Message-ID: I am trying to build icedtea6-1.8 on CentOS 4 so that the resulting binaries will be portable across most 2.6 Linux flavors. (Note that I am already doing this for basic OpenJDK 6 builds as per availability http://www.OpenSCG.org ) Seems like sha256sum is part of coreutils for RHEL 5 and beyond. Can anyone offer advice on an RPM to install or a source build? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100714/cb0256d7/attachment.html From ahughes at redhat.com Wed Jul 14 08:46:08 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 14 Jul 2010 16:46:08 +0100 Subject: sha256sum need by icedtea6 In-Reply-To: References: Message-ID: On 14 July 2010 16:14, Lussier, Denis wrote: > I am trying to build icedtea6-1.8 on CentOS 4 so that the resulting binaries > will be portable across most 2.6 Linux flavors. ? (Note that I am already > doing this for basic OpenJDK 6 builds as per availability > http://www.OpenSCG.org ) > Seems like sha256sum is part of coreutils for RHEL 5 and beyond. ?Can anyone > offer advice on an RPM to install or a source build? > > Sigh, when I used sha256sum I checked when it was added to coreutils and didn't think anyone would use a version that old (2005 or 2006 IIRC)... Most package checks use something other than md5 now because it's been found vulnerable (http://en.wikipedia.org/wiki/MD5#Security) It's only used during the build to check the downloaded packages so you could replace it with md5sum (which is still used for some packages in IcedTea6 anyway) and appropriate checksums, or build a local copy of a newer coreutils. It's not a runtime dependency. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Jul 14 10:27:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Jul 2010 17:27:36 +0000 Subject: [Bug 522] New: Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 Summary: Loop with 100% of 1 core CPU usage reloading a page with applet Product: IcedTea Version: 6-1.8 Platform: x86_64 OS/Version: Linux Status: NEW Severity: critical Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: riksoft at gmail.com Ubuntu 10.04 64 bit with all upgrades OpenJdk + Sun, and specifically: java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) + java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) Firefox 3.6.6 Problem: On any page with a java applet, the 2nd start (reload o url) will create a loop and the cpu (in my case 1 core) goes 100% usage. I tried update-alternatives --config java and switch manually from openjdk and sun, restarting Firefox, but nothing change. I found other people with the same problem and no solution. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 14 10:34:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Jul 2010 17:34:16 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 riksoft at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpath | |.org ------- Comment #1 from riksoft at gmail.com 2010-07-14 17:34 ------- The only way to stop looping is to close firefox and reopen. It isn't sufficient to close the page with the applet. Simplyfing the problem: it happens always after 2 calls to java. If I open page X with an applet then close and open another page with an applet, it start the loop. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 14 10:58:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Jul 2010 17:58:17 +0000 Subject: [Bug 419] SIGSEGV when in file chooser dialog Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=419 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from asu at redhat.com 2010-07-14 17:58 ------- Hello I am unable to reproduce this with the latest version of icedtea and eclipse. Feel free to reopen this if it is still causing problems for you. Closing as worksforme. Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Wed Jul 14 13:22:20 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Wed, 14 Jul 2010 16:22:20 -0400 (EDT) Subject: [RFC Regression Fix] XWindowPeer override-redirect w/ metacity WM In-Reply-To: <250988099.457491279138793416.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1611921528.457841279138940643.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Andrew John Hughes" wrote: > On 1 April 2010 20:47, wrote: > > Hi, > > > > It's been reported that applet windows that should be full-screen > are being displayed *behind* desktop elements. ?See > https://bugzilla.redhat.com/show_bug.cgi?id=577953 for one such > report. ?I agree with Deepak that this is a problem not limited to > applets, but within openjdk. ?Afaict this is since > http://icedtea.classpath.org/hg/icedtea6/rev/83619682858e when > patches/icedtea-override-redirect-metacity.patch was removed. > ?Changeset indicates the patch has been upstreamed in b17. ?Closer > inspection reveals that only the first hunk is upstream, the second > part of the patch which actually addresses the metacity wm is not. ?I > think this part of the patch needs to be restored. ?Building locally > with that line back in XWindowPeer.java I see the correct behavior ie > desktop elements hidden by java window. ?Diff attached. ?Does anyone > see anything wrong with putting this back in? > > > > cheers, > > > > jon > > > See http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches > > 'The Metacity issue has been marked as not a bug in the JDK, but one > in Metacity: see S6514512.' > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 > https://bugzilla.gnome.org/show_bug.cgi?id=405269 > > No progress since 2007. I think the better course of action would be > to at least ping the GNOME developers and find out what's going on. > I > don't really want the patch back in IcedTea unless we have to, > especially when upstream have specifically objected to it. > -- > Andrew :-) > Hate to flog the dead horse, but nobody's responded to the ping on the Gnome bug and with them originally taking the stance that they are complying with spec it seems unlikely that they will change metacity. Maybe it is time for us to bring this patch back, so that users will have the "expected" behaviour? jon From andrew at icedtea.classpath.org Wed Jul 14 13:49:28 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 14 Jul 2010 20:49:28 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset df20b69a67d3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=df20b69a67d3 author: Andrew John Hughes date: Wed Jul 14 20:50:06 2010 +0100 Fix new issues with make distcheck. 2010-07-14 Andrew John Hughes Fix new issues with make distcheck. * patches/cacao/version-parsing.patch: Removed; included upstream. * Makefile.am: (REWRITER_BUILD_DIR): New variable to store rewriter build directory. (NETX_SRCDIR): Remove absolute prefix which breaks the use in EXTRA_DIST. (REWRITER_SRCS): Likewise. (GENERATED_SRCS): Updated. (PULSEAUDIO_SRCS): Likewise. (ICEDTEA_PATCHES): Likewise. (EXTRA_DIST): Remove absolute prefix from plugin. Add $(top_srcdir) prefix to newly abbreviated NETX_SRCDIR. (clean-clone-boot): Remove patch-jaxws.stamp. (icedtea): Add prefix to NETX_RESOURCE_DIR due to change in NETX_SRCDIR. (icedtea-debug): Likewise. (clean-IcedTeaPlugin): Delete the build directories. (clean-plugin): Don't delete the build directory here any more. (netx-source-files.txt): Add prefix to NETX_SRCDIR. (netx): Likewise. Fix permissions on copied resources. (netx-dist): Add prefix to NETX_SRCDIR. changeset 5c660ac28d6b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5c660ac28d6b author: Andrew John Hughes date: Wed Jul 14 21:49:22 2010 +0100 PR icedtea/521: Don't hardlink the copy of generated. 2010-07-15 Andrew John Hughes PR icedtea/521 * Makefile.am: (generated): Don't use hardlinking as generated is altered by the build. Use chmod -R rather than find. diffstat: 3 files changed, 108 insertions(+), 37 deletions(-) ChangeLog | 59 +++++++++++++++++++++++++++ Makefile.am | 75 ++++++++++++++++++++++------------- patches/cacao/version-parsing.patch | 11 ----- diffs (310 lines): diff -r 8723b60d4996 -r 5c660ac28d6b ChangeLog --- a/ChangeLog Wed Jul 14 00:15:18 2010 +0200 +++ b/ChangeLog Wed Jul 14 21:49:22 2010 +0100 @@ -1,3 +1,62 @@ 2010-07-13 Matthias Klose + + PR icedtea/521 + * Makefile.am: + (generated): Don't use hardlinking as + generated is altered by the build. + Use chmod -R rather than find. + +2010-07-14 Andrew John Hughes + + Fix new issues with make distcheck. + * patches/cacao/version-parsing.patch: + Removed; included upstream. + * Makefile.am: + (REWRITER_BUILD_DIR): New variable to + store rewriter build directory. + (NETX_SRCDIR): Remove absolute prefix which + breaks the use in EXTRA_DIST. + (REWRITER_SRCS): Likewise. + (GENERATED_SRCS): Updated. + (PULSEAUDIO_SRCS): Likewise. + (ICEDTEA_PATCHES): Likewise. + (EXTRA_DIST): Remove absolute prefix from + plugin. Add $(top_srcdir) prefix to newly + abbreviated NETX_SRCDIR. + (clean-clone-boot): Remove patch-jaxws.stamp. + (icedtea): Add prefix to NETX_RESOURCE_DIR due + to change in NETX_SRCDIR. + (icedtea-debug): Likewise. + (clean-IcedTeaPlugin): Delete the build directories. + (clean-plugin): Don't delete the build directory here any more. + (netx-source-files.txt): Add prefix to NETX_SRCDIR. + (netx): Likewise. Fix permissions on copied resources. + (netx-dist): Add prefix to NETX_SRCDIR. + +2010-07-08 Andrew John Hughes + + * Makefile.am: + (clean-clone-boot): Don't depend on clean-patch-boot, + just delete the stamp. + (clean-extract-openjdk): Likewise for clean-patch and + clean-patch-fsg. + +2010-07-04 Andrew John Hughes + + * Makefile.am: + (clean-local): Add missing dependencies. + (rewriter): Give the build directory a different + name to the source directory (rewriter.build). + (clean-rewriter): New target to remove rewriter. + (rewrite-rhino): Fix build directory path. + (clean-rewrite-rhino): Inverse of rewrite-rhino. + +2010-07-01 Andrew John Hughes + + * Makefile.am: + (distclean-local): Delete empty tapset + directory if srcdir != builddir. + 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul diff -r 8723b60d4996 -r 5c660ac28d6b Makefile.am --- a/Makefile.am Wed Jul 14 00:15:18 2010 +0200 +++ b/Makefile.am Wed Jul 14 21:49:22 2010 +0100 @@ -65,6 +65,7 @@ SERVER_DIR = hotspot/import/jre/lib/$(IN SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) BUILD_DEBUG_JRE_ARCH_DIR = $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) +REWRITER_BUILD_DIR = $(abs_top_builddir)/rewriter.build # Source directories @@ -74,7 +75,7 @@ CORBA = openjdk-boot/corba/src/share/cla CORBA = openjdk-boot/corba/src/share/classes JAXWS = $(BUILD_OUTPUT_DIR)/jaxws/drop/jaxws_src/src -NETX_SRCDIR = $(abs_top_srcdir)/netx +NETX_SRCDIR = netx NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources @@ -257,7 +258,7 @@ OPENJDK_BOOT_TREE = stamps/patch-jaxws.s PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java -REWRITER_SRCS = $(abs_top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java +REWRITER_SRCS = $(top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java # Patch list @@ -609,6 +610,8 @@ GENERATED_FILES = $(top_srcdir)/generate $(top_srcdir)/generated/sun/awt/resources/awt*.java \ $(top_srcdir)/generated/sun/nio/ch/*.java \ $(top_srcdir)/generated/sun/nio/cs/*.java \ + $(top_srcdir)/generated/sun/nio/cs/ext/*.java \ + $(top_srcdir)/generated/sun/nio/fs/*.java \ $(top_srcdir)/generated/sun/misc/*.java \ $(top_srcdir)/generated/sun/util/*.java \ $(top_srcdir)/generated/sun/util/logging/resources/logging*.java \ @@ -713,13 +716,14 @@ PULSEAUDIO_SRCS = $(top_srcdir)/pulseaud $(top_srcdir)/pulseaudio/testsounds/logout.wav \ $(top_srcdir)/pulseaudio/testsounds/error.wav \ $(top_srcdir)/pulseaudio/unittests/org/classpath/icedtea/pulseaudio/*.java \ - $(top_srcdir)/pulseaudio/AUTHORS \ $(top_srcdir)/pulseaudio/COPYING EXTRA_DIST = $(GENERATED_FILES) $(top_srcdir)/patches/*.patch \ $(top_srcdir)/patches/hotspot/default/*.patch \ $(top_srcdir)/patches/boot/*.patch \ $(top_srcdir)/patches/cacao/*.patch \ + $(top_srcdir)/patches/debian/*.patch \ + $(top_srcdir)/patches/extensions/*.patch \ $(top_srcdir)/patches/security/*.patch \ $(top_srcdir)/patches/xrender/*.patch \ tools-copy contrib ports extra overlays \ @@ -727,7 +731,7 @@ EXTRA_DIST = $(GENERATED_FILES) $(top_sr jconsole.desktop policytool.desktop \ $(JTREG_SRCS) \ HACKING $(PULSEAUDIO_SRCS) fsg.sh \ - $(abs_top_srcdir)/plugin $(NETX_SRCDIR) \ + $(top_srcdir)/plugin $(top_srcdir)/$(NETX_SRCDIR) \ hotspot.map autogen.sh \ tapset/hotspot.stp.in \ tapset/hotspot_jni.stp.in \ @@ -750,7 +754,8 @@ clean-local: clean-jtreg clean-jtreg-rep clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ clean-extract clean-generated clean-plugin clean-liveconnect clean-native-ecj \ clean-hgforest clean-icedtea-stage2 clean-icedtea-debug-stage2 clean-icedtea-stage1 \ - clean-add-zero clean-add-zero-debug clean-add-cacao clean-add-cacao-debug clean-rt + clean-add-zero clean-add-zero-debug clean-add-cacao clean-add-cacao-debug clean-rt \ + clean-rewrite-rhino clean-rewriter if [ -e bootstrap ]; then \ rmdir bootstrap ; \ fi @@ -760,6 +765,11 @@ clean-local: clean-jtreg clean-jtreg-rep rm -f jni-common.o distclean-local: clean-local clean-download + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + if [ -e tapset ] ; then \ + rmdir tapset ; \ + fi ; \ + fi if [ -e stamps ] ; then \ rmdir stamps ; \ fi @@ -1315,9 +1325,8 @@ stamps/generated.stamp: stamps/ports.sta stamps/generated.stamp: stamps/ports.stamp set -e ; \ if [ ! -e $(abs_top_builddir)/generated.build ]; then \ - cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/generated $(abs_top_builddir)/generated.build; \ - find $(abs_top_builddir)/generated.build -type f -exec chmod 640 '{}' ';' \ - -o -type d -exec chmod 750 '{}' ';'; \ + cp -pPR $(abs_top_srcdir)/generated $(abs_top_builddir)/generated.build; \ + chmod -R u+w $(abs_top_builddir)/generated.build ; \ fi mkdir -p stamps touch $@ @@ -1517,8 +1526,10 @@ stamps/clone-boot.stamp: $(OPENJDK_TREE) mkdir -p stamps touch $@ -clean-clone-boot: clean-patch-boot +clean-clone-boot: rm -rf openjdk-boot + rm -f stamps/patch-boot.stamp + rm -f stamps/patch-jaxws.stamp rm -f stamps/clone-boot.stamp stamps/patch-boot.stamp: stamps/clone-boot.stamp @@ -1764,9 +1775,9 @@ if ENABLE_PULSE_JAVA $(ZIP) -qur $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) endif if JNLP_ABOUT_NEEDED - cp $(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib - cp $(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ZERO_BUILD @@ -1838,9 +1849,9 @@ if ENABLE_PULSE_JAVA $(ZIP) -qur $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) endif if JNLP_ABOUT_NEEDED - cp $(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib - cp $(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ZERO_BUILD @@ -1989,6 +2000,9 @@ clean-IcedTeaPlugin: clean-IcedTeaPlugin: rm -f $(addprefix $(PLUGIN_BUILD_DIR)/,$(PLUGIN_OBJECTS)) rm -f $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so + rmdir $(PLUGIN_BUILD_DIR) + rmdir plugin.build + rm -f stamps/icedtea-npplugin.stamp endif stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) stamps/liveconnect-dist.stamp @@ -1996,9 +2010,6 @@ stamps/plugin.stamp: $(ICEDTEAPLUGIN_TAR touch $@ clean-plugin: $(ICEDTEAPLUGIN_CLEAN) - if [ -e $(PLUGIN_BUILD_DIR) ] ; then \ - rmdir $(PLUGIN_BUILD_DIR) ; \ - fi rm -f stamps/plugin.stamp liveconnect-source-files.txt: @@ -2044,17 +2055,18 @@ clean-liveconnect: # a patch applied to sun.plugin.AppletViewerPanel and generated sources netx-source-files.txt: - find $(NETX_SRCDIR) -name '*.java' | sort > $@ + find $(top_srcdir)/$(NETX_SRCDIR) -name '*.java' | sort > $@ stamps/netx.stamp: netx-source-files.txt stamps/rt.stamp mkdir -p $(NETX_CLASSES) $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(NETX_CLASSES) \ -classpath $(ICEDTEA_RT) \ - -sourcepath $(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ + -sourcepath $(top_srcdir)/$(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @netx-source-files.txt ; - cp -r $(NETX_RESOURCE_DIR) $(NETX_CLASSES)/net/sourceforge/jnlp + cp -r $(top_srcdir)/$(NETX_RESOURCE_DIR) $(NETX_CLASSES)/net/sourceforge/jnlp + chmod -R u+w $(NETX_CLASSES)/net/sourceforge/jnlp mkdir -p stamps touch $@ @@ -2062,7 +2074,7 @@ stamps/netx-dist.stamp: stamps/netx.stam (cd $(NETX_CLASSES) ; \ mkdir -p lib ; \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $(NETX_JAR) javax/jnlp net ; \ - cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ + cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/$(NETX_SRCDIR) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ $(ICEDTEA_BOOT_DIR)/bin/jar uf $(NETX_JAR) \ @@ -2165,20 +2177,22 @@ endif stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if WITH_RHINO - mkdir -p $(abs_top_builddir)/rewriter && \ - (cd $(abs_top_srcdir)/rewriter ; \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ - ) + mkdir -p $(REWRITER_BUILD_DIR) + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(REWRITER_BUILD_DIR) $(REWRITER_SRCS) endif mkdir -p stamps touch stamps/rewriter.stamp + +clean-rewriter: + rm -rf $(REWRITER_BUILD_DIR) + rm -f stamps/rewriter.stamp stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) if WITH_RHINO mkdir -p rhino/rhino.{old,new} && \ (cd rhino/rhino.old && $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ - $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \ + $(ICEDTEA_BOOT_DIR)/bin/java -cp $(REWRITER_BUILD_DIR) \ com.redhat.rewriter.ClassRewriter \ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ org.mozilla sun.org.mozilla && \ @@ -2195,6 +2209,15 @@ endif endif mkdir -p stamps touch stamps/rewrite-rhino.stamp + +clean-rewrite-rhino: + rm -rf rhino/rhino.old + rm -rf rhino/rhino.new + rm -f rhino/rhino.jar + if [ -e rhino ] ; then \ + rmdir rhino ; \ + fi + rm -f stamps/rewrite-rhino.stamp # CACAO diff -r 8723b60d4996 -r 5c660ac28d6b patches/cacao/version-parsing.patch --- a/patches/cacao/version-parsing.patch Wed Jul 14 00:15:18 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- cacao/cacao/m4/version.m4~ 2010-06-23 16:18:58.000000000 +0100 -+++ cacao/cacao/m4/version.m4 2010-06-24 19:11:36.000000000 +0100 -@@ -29,7 +29,7 @@ - then - major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'` - minor=`echo "$version" | $SED -e 's/^[[0-9]]*\.//' -e 's/\.[[0-9a-z.+]]*$//'` -- micro=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.//' -e 's/[[a-z.+]]*$//'` -+ micro=`echo "$version" | $SED -r -e 's/^[[0-9]]*\.[[0-9]]*\.([[0-9]]*).*/\1/'` - extra=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.[[0-9]]*//'` - else - major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'` From ahughes at redhat.com Wed Jul 14 14:09:11 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 14 Jul 2010 22:09:11 +0100 Subject: [RFC Regression Fix] XWindowPeer override-redirect w/ metacity WM In-Reply-To: <1611921528.457841279138940643.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <250988099.457491279138793416.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1611921528.457841279138940643.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <20100714210911.GF12672@rivendell.middle-earth.co.uk> On 16:22 Wed 14 Jul , jon.vanalten at redhat.com wrote: > > ----- "Andrew John Hughes" wrote: > > > On 1 April 2010 20:47, wrote: > > > Hi, > > > > > > It's been reported that applet windows that should be full-screen > > are being displayed *behind* desktop elements. ?See > > https://bugzilla.redhat.com/show_bug.cgi?id=577953 for one such > > report. ?I agree with Deepak that this is a problem not limited to > > applets, but within openjdk. ?Afaict this is since > > http://icedtea.classpath.org/hg/icedtea6/rev/83619682858e when > > patches/icedtea-override-redirect-metacity.patch was removed. > > ?Changeset indicates the patch has been upstreamed in b17. ?Closer > > inspection reveals that only the first hunk is upstream, the second > > part of the patch which actually addresses the metacity wm is not. ?I > > think this part of the patch needs to be restored. ?Building locally > > with that line back in XWindowPeer.java I see the correct behavior ie > > desktop elements hidden by java window. ?Diff attached. ?Does anyone > > see anything wrong with putting this back in? > > > > > > cheers, > > > > > > jon > > > > > > See http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches > > > > 'The Metacity issue has been marked as not a bug in the JDK, but one > > in Metacity: see S6514512.' > > > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 > > https://bugzilla.gnome.org/show_bug.cgi?id=405269 > > > > No progress since 2007. I think the better course of action would be > > to at least ping the GNOME developers and find out what's going on. > > I > > don't really want the patch back in IcedTea unless we have to, > > especially when upstream have specifically objected to it. > > -- > > Andrew :-) > > > > Hate to flog the dead horse, but nobody's responded to the ping on the Gnome bug and with them originally taking the stance that they are complying with spec it seems unlikely that they will change metacity. Maybe it is time for us to bring this patch back, so that users will have the "expected" behaviour? > Ok, add it back on HEAD but make it very clear in the ChangeLog why we're doing it with appropriate references to e-mails, etc. The most annoying thing about these sort of cases is that we have to do all the research again to find out why we did such-and-such with a patch (as I'm sure you've experienced too by now). Thanks for keeping an eye on this. > jon Cheers, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From dbhole at icedtea.classpath.org Wed Jul 14 14:43:09 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 14 Jul 2010 21:43:09 +0000 Subject: /hg/icedtea6: Fix race conditions in plugin initialization code ... Message-ID: changeset 0b656f7601bd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0b656f7601bd author: Deepak Bhole date: Wed Jul 14 17:42:26 2010 -0400 Fix race conditions in plugin initialization code that were causing hangs when loading multiple applets in parallel. diffstat: 3 files changed, 40 insertions(+), 3 deletions(-) ChangeLog | 16 ++++++ plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 23 ++++++++-- plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 + diffs (102 lines): diff -r 6dbe1524ae3b -r 0b656f7601bd ChangeLog --- a/ChangeLog Wed Jul 14 00:09:56 2010 +0200 +++ b/ChangeLog Wed Jul 14 17:42:26 2010 -0400 @@ -1,3 +1,19 @@ 2010-07-13 Matthias Klose + + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new + processedIds list to track which instances have been instantiated. + (okToProcess): Register width as priority only after handle is acquired. + Process resize messages only after tag and handle are processed. + (notifyWorkerIsFree): Add instance id to processedIds list if the worked + being free'd is an init worker. + (getFreeWorker): Create new normal worked only if worker count is less + than MAX_WORKERS - PRIORITY_WORKERS. + (dumpWorkerStatus): New method. Useful when debugging -- prints status of + all workers. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (toString): New method. Returns the string representation of the worker + instance at call time. + 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul diff -r 6dbe1524ae3b -r 0b656f7601bd plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 00:09:56 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 17:42:26 2010 -0400 @@ -61,6 +61,7 @@ class PluginMessageConsumer { PluginStreamHandler streamHandler = null; AppletSecurity as; ConsumerThread consumerThread = new ConsumerThread(); + private static ArrayList processedIds = new ArrayList(); /** * Registers a reference to wait for. Responses to registered priority @@ -162,7 +163,6 @@ class PluginMessageConsumer { } registerPriorityWait("instance " + instanceNum + " handle"); - registerPriorityWait("instance " + instanceNum + " width"); } else if (msgParts[2].equals("handle")) { Integer instanceNum = new Integer(msgParts[1]); @@ -171,6 +171,16 @@ class PluginMessageConsumer { // Handle messages should NEVER go before tag messages if (!isInInit(instanceNum)) return false; + + registerPriorityWait("instance " + instanceNum + " width"); + } else if (msgParts[2].equals("width")) { + + // width messages cannot proceed until handle and tag have been resolved + Integer instanceNum = new Integer(msgParts[1]); + + if (!processedIds.contains(instanceNum)) { + return false; + } } return true; @@ -181,8 +191,10 @@ class PluginMessageConsumer { Iterator i = initWorkers.keySet().iterator(); while (i.hasNext()) { Integer key = i.next(); - if (initWorkers.get(key).equals(worker)) + if (initWorkers.get(key).equals(worker)) { + processedIds.add(key); initWorkers.remove(key); + } } } @@ -270,7 +282,7 @@ class PluginMessageConsumer { if (workers.size() <= MAX_WORKERS) { PluginMessageHandlerWorker worker = null; - if (workers.size() <= (MAX_WORKERS - PRIORITY_WORKERS)) { + if (workers.size() < (MAX_WORKERS - PRIORITY_WORKERS)) { PluginDebug.debug("Cannot find free worker, creating worker " + workers.size()); worker = new PluginMessageHandlerWorker(this, streamHandler, workers.size(), as, false); } else if (prioritized) { @@ -291,4 +303,9 @@ class PluginMessageConsumer { return null; } + private void dumpWorkerStatus() { + for (PluginMessageHandlerWorker worker: workers) { + PluginDebug.debug(worker.toString()); + } + } } diff -r 6dbe1524ae3b -r 0b656f7601bd plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 00:09:56 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 17:42:26 2010 -0400 @@ -140,4 +140,8 @@ class PluginMessageHandlerWorker extends return free && (prioritized == isPriorityWorker); } } + + public String toString() { + return "Worker #" + this.id + "/IsPriority=" + this.isPriorityWorker + "/IsFree=" + this.free + "/Message=" + message; + } } From dbhole at icedtea.classpath.org Wed Jul 14 14:45:06 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 14 Jul 2010 21:45:06 +0000 Subject: /hg/release/icedtea6-1.7: Fix race conditions in plugin initiali... Message-ID: changeset 064bdf509833 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=064bdf509833 author: Deepak Bhole date: Wed Jul 14 17:42:26 2010 -0400 Fix race conditions in plugin initialization code that were causing hangs when loading multiple applets in parallel. diffstat: 3 files changed, 40 insertions(+), 3 deletions(-) ChangeLog | 16 ++++++ plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 23 ++++++++-- plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 + diffs (102 lines): diff -r 6293abfc6106 -r 064bdf509833 ChangeLog --- a/ChangeLog Wed Jul 14 00:51:32 2010 +0200 +++ b/ChangeLog Wed Jul 14 17:42:26 2010 -0400 @@ -1,3 +1,19 @@ 2010-07-13 Matthias Klose + + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new + processedIds list to track which instances have been instantiated. + (okToProcess): Register width as priority only after handle is acquired. + Process resize messages only after tag and handle are processed. + (notifyWorkerIsFree): Add instance id to processedIds list if the worked + being free'd is an init worker. + (getFreeWorker): Create new normal worked only if worker count is less + than MAX_WORKERS - PRIORITY_WORKERS. + (dumpWorkerStatus): New method. Useful when debugging -- prints status of + all workers. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (toString): New method. Returns the string representation of the worker + instance at call time. + 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul diff -r 6293abfc6106 -r 064bdf509833 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 00:51:32 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 17:42:26 2010 -0400 @@ -61,6 +61,7 @@ class PluginMessageConsumer { PluginStreamHandler streamHandler = null; AppletSecurity as; ConsumerThread consumerThread = new ConsumerThread(); + private static ArrayList processedIds = new ArrayList(); /** * Registers a reference to wait for. Responses to registered priority @@ -162,7 +163,6 @@ class PluginMessageConsumer { } registerPriorityWait("instance " + instanceNum + " handle"); - registerPriorityWait("instance " + instanceNum + " width"); } else if (msgParts[2].equals("handle")) { Integer instanceNum = new Integer(msgParts[1]); @@ -171,6 +171,16 @@ class PluginMessageConsumer { // Handle messages should NEVER go before tag messages if (!isInInit(instanceNum)) return false; + + registerPriorityWait("instance " + instanceNum + " width"); + } else if (msgParts[2].equals("width")) { + + // width messages cannot proceed until handle and tag have been resolved + Integer instanceNum = new Integer(msgParts[1]); + + if (!processedIds.contains(instanceNum)) { + return false; + } } return true; @@ -181,8 +191,10 @@ class PluginMessageConsumer { Iterator i = initWorkers.keySet().iterator(); while (i.hasNext()) { Integer key = i.next(); - if (initWorkers.get(key).equals(worker)) + if (initWorkers.get(key).equals(worker)) { + processedIds.add(key); initWorkers.remove(key); + } } } @@ -270,7 +282,7 @@ class PluginMessageConsumer { if (workers.size() <= MAX_WORKERS) { PluginMessageHandlerWorker worker = null; - if (workers.size() <= (MAX_WORKERS - PRIORITY_WORKERS)) { + if (workers.size() < (MAX_WORKERS - PRIORITY_WORKERS)) { PluginDebug.debug("Cannot find free worker, creating worker " + workers.size()); worker = new PluginMessageHandlerWorker(this, streamHandler, workers.size(), as, false); } else if (prioritized) { @@ -291,4 +303,9 @@ class PluginMessageConsumer { return null; } + private void dumpWorkerStatus() { + for (PluginMessageHandlerWorker worker: workers) { + PluginDebug.debug(worker.toString()); + } + } } diff -r 6293abfc6106 -r 064bdf509833 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 00:51:32 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 17:42:26 2010 -0400 @@ -140,4 +140,8 @@ class PluginMessageHandlerWorker extends return free && (prioritized == isPriorityWorker); } } + + public String toString() { + return "Worker #" + this.id + "/IsPriority=" + this.isPriorityWorker + "/IsFree=" + this.free + "/Message=" + message; + } } From dbhole at icedtea.classpath.org Wed Jul 14 14:46:42 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 14 Jul 2010 21:46:42 +0000 Subject: /hg/release/icedtea6-1.8: Fix race conditions in plugin initiali... Message-ID: changeset c691bc07c5e0 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=c691bc07c5e0 author: Deepak Bhole date: Wed Jul 14 17:42:26 2010 -0400 Fix race conditions in plugin initialization code that were causing hangs when loading multiple applets in parallel. diffstat: 3 files changed, 40 insertions(+), 3 deletions(-) ChangeLog | 16 ++++++ plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 23 ++++++++-- plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 + diffs (102 lines): diff -r 595ea39174ab -r c691bc07c5e0 ChangeLog --- a/ChangeLog Wed Jul 14 00:06:12 2010 +0200 +++ b/ChangeLog Wed Jul 14 17:42:26 2010 -0400 @@ -1,3 +1,19 @@ 2010-07-13 Matthias Klose + + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new + processedIds list to track which instances have been instantiated. + (okToProcess): Register width as priority only after handle is acquired. + Process resize messages only after tag and handle are processed. + (notifyWorkerIsFree): Add instance id to processedIds list if the worked + being free'd is an init worker. + (getFreeWorker): Create new normal worked only if worker count is less + than MAX_WORKERS - PRIORITY_WORKERS. + (dumpWorkerStatus): New method. Useful when debugging -- prints status of + all workers. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (toString): New method. Returns the string representation of the worker + instance at call time. + 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul diff -r 595ea39174ab -r c691bc07c5e0 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 00:06:12 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Jul 14 17:42:26 2010 -0400 @@ -61,6 +61,7 @@ class PluginMessageConsumer { PluginStreamHandler streamHandler = null; AppletSecurity as; ConsumerThread consumerThread = new ConsumerThread(); + private static ArrayList processedIds = new ArrayList(); /** * Registers a reference to wait for. Responses to registered priority @@ -162,7 +163,6 @@ class PluginMessageConsumer { } registerPriorityWait("instance " + instanceNum + " handle"); - registerPriorityWait("instance " + instanceNum + " width"); } else if (msgParts[2].equals("handle")) { Integer instanceNum = new Integer(msgParts[1]); @@ -171,6 +171,16 @@ class PluginMessageConsumer { // Handle messages should NEVER go before tag messages if (!isInInit(instanceNum)) return false; + + registerPriorityWait("instance " + instanceNum + " width"); + } else if (msgParts[2].equals("width")) { + + // width messages cannot proceed until handle and tag have been resolved + Integer instanceNum = new Integer(msgParts[1]); + + if (!processedIds.contains(instanceNum)) { + return false; + } } return true; @@ -181,8 +191,10 @@ class PluginMessageConsumer { Iterator i = initWorkers.keySet().iterator(); while (i.hasNext()) { Integer key = i.next(); - if (initWorkers.get(key).equals(worker)) + if (initWorkers.get(key).equals(worker)) { + processedIds.add(key); initWorkers.remove(key); + } } } @@ -270,7 +282,7 @@ class PluginMessageConsumer { if (workers.size() <= MAX_WORKERS) { PluginMessageHandlerWorker worker = null; - if (workers.size() <= (MAX_WORKERS - PRIORITY_WORKERS)) { + if (workers.size() < (MAX_WORKERS - PRIORITY_WORKERS)) { PluginDebug.debug("Cannot find free worker, creating worker " + workers.size()); worker = new PluginMessageHandlerWorker(this, streamHandler, workers.size(), as, false); } else if (prioritized) { @@ -291,4 +303,9 @@ class PluginMessageConsumer { return null; } + private void dumpWorkerStatus() { + for (PluginMessageHandlerWorker worker: workers) { + PluginDebug.debug(worker.toString()); + } + } } diff -r 595ea39174ab -r c691bc07c5e0 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 00:06:12 2010 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Jul 14 17:42:26 2010 -0400 @@ -140,4 +140,8 @@ class PluginMessageHandlerWorker extends return free && (prioritized == isPriorityWorker); } } + + public String toString() { + return "Worker #" + this.id + "/IsPriority=" + this.isPriorityWorker + "/IsFree=" + this.free + "/Message=" + message; + } } From bugzilla-daemon at icedtea.classpath.org Thu Jul 15 06:11:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Jul 2010 13:11:54 +0000 Subject: [Bug 398] hotspot hs16 / 6b17 build failure on sparc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 EoD at gmx.net changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |EoD at gmx.net ------- Comment #2 from EoD at gmx.net 2010-07-15 13:11 ------- I can confirm this bug from b18 onwards on my sparc/gentoo machine. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From vanaltj at icedtea.classpath.org Thu Jul 15 08:07:57 2010 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Thu, 15 Jul 2010 15:07:57 +0000 Subject: /hg/icedtea6: Restore icedtea-override-metacity.patch to allow f... Message-ID: changeset 5719610f7230 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5719610f7230 author: Jon VanAlten date: Thu Jul 15 11:05:34 2010 -0400 Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. 2010-07-14 Jon VanAlten * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like panels. * Makefile.am: Apply icedtea-override-redirect-metacity.patch. diffstat: 3 files changed, 28 insertions(+), 1 deletion(-) ChangeLog | 15 +++++++++++++++ Makefile.am | 3 ++- patches/icedtea-override-redirect-metacity.patch | 11 +++++++++++ diffs (50 lines): diff -r 0b656f7601bd -r 5719610f7230 ChangeLog --- a/ChangeLog Wed Jul 14 17:42:26 2010 -0400 +++ b/ChangeLog Thu Jul 15 11:05:34 2010 -0400 @@ -1,3 +1,18 @@ 2010-07-14 Deepak Bhole + * patches/icedtea-override-redirect-metacity.patch: Produces the + "expected" behavior for full screen applications or other situations + where developers wish to present elements that would cover things like + panels. We previously had a version of this patch since changeset 876 + ebc064e8892d, but dropped it in changeset changeset 1731 + 83619682858e because upstream had rejected as a metacity bug[1]. + Metacity maintains that this behavior does not break any spec and does + not appear likely to change either[2], so we must be the "good guys" and + provide the expected behavior. See discussion[3]. + [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 + [2] https://bugzilla.gnome.org/show_bug.cgi?id=405269 + [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008862.html + * Makefile.am: Apply icedtea-override-redirect-metacity.patch. + 2010-07-14 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new diff -r 0b656f7601bd -r 5719610f7230 Makefile.am --- a/Makefile.am Wed Jul 14 17:42:26 2010 -0400 +++ b/Makefile.am Thu Jul 15 11:05:34 2010 -0400 @@ -279,7 +279,8 @@ ICEDTEA_PATCHES = \ patches/shark-debug-option.patch \ patches/openjdk/6961732.patch \ patches/debug-dir.patch \ - patches/no-sync.patch + patches/no-sync.patch \ + patches/icedtea-override-redirect-metacity.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 0b656f7601bd -r 5719610f7230 patches/icedtea-override-redirect-metacity.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-override-redirect-metacity.patch Thu Jul 15 11:05:34 2010 -0400 @@ -0,0 +1,11 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig 2008-05-25 17:31:31.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-05-25 17:33:32.000000000 +0200 +@@ -1124,6 +1124,8 @@ + + boolean isOverrideRedirect() { + return (XWM.getWMID() == XWM.OPENLOOK_WM ? true : false) || ++ (XWM.getWMID() == XWM.METACITY_WM ? true : false) || ++ target.getName().equals("###overrideRedirect###") || + ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target) || + XTrayIconPeer.isTrayIconStuffWindow((Window)target); + } From jon.vanalten at redhat.com Thu Jul 15 08:09:45 2010 From: jon.vanalten at redhat.com (Jon VanAlten) Date: Thu, 15 Jul 2010 11:09:45 -0400 (EDT) Subject: [RFC Regression Fix] XWindowPeer override-redirect w/ metacity WM In-Reply-To: <20100714210911.GF12672@rivendell.middle-earth.co.uk> Message-ID: <177570566.540171279206585065.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Andrew John Hughes" wrote: > On 16:22 Wed 14 Jul , jon.vanalten at redhat.com wrote: > > > > ----- "Andrew John Hughes" wrote: > > > > > On 1 April 2010 20:47, wrote: > > > > Hi, > > > > > > > > It's been reported that applet windows that should be > full-screen > > > are being displayed *behind* desktop elements. ?See > > > https://bugzilla.redhat.com/show_bug.cgi?id=577953 for one such > > > report. ?I agree with Deepak that this is a problem not limited > to > > > applets, but within openjdk. ?Afaict this is since > > > http://icedtea.classpath.org/hg/icedtea6/rev/83619682858e when > > > patches/icedtea-override-redirect-metacity.patch was removed. > > > ?Changeset indicates the patch has been upstreamed in b17. > ?Closer > > > inspection reveals that only the first hunk is upstream, the > second > > > part of the patch which actually addresses the metacity wm is not. > ?I > > > think this part of the patch needs to be restored. ?Building > locally > > > with that line back in XWindowPeer.java I see the correct behavior > ie > > > desktop elements hidden by java window. ?Diff attached. ?Does > anyone > > > see anything wrong with putting this back in? > > > > > > > > cheers, > > > > > > > > jon > > > > > > > > > See http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches > > > > > > 'The Metacity issue has been marked as not a bug in the JDK, but > one > > > in Metacity: see S6514512.' > > > > > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 > > > https://bugzilla.gnome.org/show_bug.cgi?id=405269 > > > > > > No progress since 2007. I think the better course of action would > be > > > to at least ping the GNOME developers and find out what's going > on. > > > I > > > don't really want the patch back in IcedTea unless we have to, > > > especially when upstream have specifically objected to it. > > > -- > > > Andrew :-) > > > > > > > Hate to flog the dead horse, but nobody's responded to the ping on > the Gnome bug and with them originally taking the stance that they are > complying with spec it seems unlikely that they will change metacity. > Maybe it is time for us to bring this patch back, so that users will > have the "expected" behaviour? > > > > Ok, add it back on HEAD but make it very clear in the ChangeLog why > we're doing it with appropriate references to e-mails, etc. The most > annoying thing about these sort of cases is that we have to do all > the > research again to find out why we did such-and-such with a patch (as > I'm sure you've experienced too by now). > Done. I did a quick build and test before pushing, and included hopefully enough historical datum in the ChangeLog :) From ahughes at redhat.com Thu Jul 15 08:32:21 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 15 Jul 2010 16:32:21 +0100 Subject: [RFC Regression Fix] XWindowPeer override-redirect w/ metacity WM In-Reply-To: <177570566.540171279206585065.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <20100714210911.GF12672@rivendell.middle-earth.co.uk> <177570566.540171279206585065.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <20100715153221.GA25954@rivendell.middle-earth.co.uk> On 11:09 Thu 15 Jul , Jon VanAlten wrote: > > ----- "Andrew John Hughes" wrote: > > > On 16:22 Wed 14 Jul , jon.vanalten at redhat.com wrote: > > > > > > ----- "Andrew John Hughes" wrote: > > > > > > > On 1 April 2010 20:47, wrote: > > > > > Hi, > > > > > > > > > > It's been reported that applet windows that should be > > full-screen > > > > are being displayed *behind* desktop elements. ?See > > > > https://bugzilla.redhat.com/show_bug.cgi?id=577953 for one such > > > > report. ?I agree with Deepak that this is a problem not limited > > to > > > > applets, but within openjdk. ?Afaict this is since > > > > http://icedtea.classpath.org/hg/icedtea6/rev/83619682858e when > > > > patches/icedtea-override-redirect-metacity.patch was removed. > > > > ?Changeset indicates the patch has been upstreamed in b17. > > ?Closer > > > > inspection reveals that only the first hunk is upstream, the > > second > > > > part of the patch which actually addresses the metacity wm is not. > > ?I > > > > think this part of the patch needs to be restored. ?Building > > locally > > > > with that line back in XWindowPeer.java I see the correct behavior > > ie > > > > desktop elements hidden by java window. ?Diff attached. ?Does > > anyone > > > > see anything wrong with putting this back in? > > > > > > > > > > cheers, > > > > > > > > > > jon > > > > > > > > > > > > See http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches > > > > > > > > 'The Metacity issue has been marked as not a bug in the JDK, but > > one > > > > in Metacity: see S6514512.' > > > > > > > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 > > > > https://bugzilla.gnome.org/show_bug.cgi?id=405269 > > > > > > > > No progress since 2007. I think the better course of action would > > be > > > > to at least ping the GNOME developers and find out what's going > > on. > > > > I > > > > don't really want the patch back in IcedTea unless we have to, > > > > especially when upstream have specifically objected to it. > > > > -- > > > > Andrew :-) > > > > > > > > > > Hate to flog the dead horse, but nobody's responded to the ping on > > the Gnome bug and with them originally taking the stance that they are > > complying with spec it seems unlikely that they will change metacity. > > Maybe it is time for us to bring this patch back, so that users will > > have the "expected" behaviour? > > > > > > > Ok, add it back on HEAD but make it very clear in the ChangeLog why > > we're doing it with appropriate references to e-mails, etc. The most > > annoying thing about these sort of cases is that we have to do all > > the > > research again to find out why we did such-and-such with a patch (as > > I'm sure you've experienced too by now). > > > > Done. I did a quick build and test before pushing, and included hopefully enough historical datum in the ChangeLog :) Yes, very detailed! Thanks a lot, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Thu Jul 15 09:37:30 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 15 Jul 2010 16:37:30 +0000 Subject: /hg/release/icedtea6-1.8: Fix hotspot tapset object_alloc size v... Message-ID: changeset cc8ca057c727 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=cc8ca057c727 author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ tapset/hotspot.stp.in | 2 +- diffs (24 lines): diff -r c691bc07c5e0 -r cc8ca057c727 ChangeLog --- a/ChangeLog Wed Jul 14 17:42:26 2010 -0400 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,8 @@ 2010-07-14 Deepak Bhole + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + 2010-07-14 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new diff -r c691bc07c5e0 -r cc8ca057c727 tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Wed Jul 14 17:42:26 2010 -0400 +++ b/tapset/hotspot.stp.in Tue Jul 13 11:46:10 2010 +0200 @@ -120,7 +120,7 @@ probe hotspot.object_alloc = name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg3; + size = $arg4; probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } From andrew at icedtea.classpath.org Thu Jul 15 09:37:39 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 15 Jul 2010 16:37:39 +0000 Subject: /hg/release/icedtea6-1.7: Fix hotspot tapset object_alloc size v... Message-ID: changeset 883958fa4dd9 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=883958fa4dd9 author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ tapset/hotspot.stp.in | 2 +- diffs (24 lines): diff -r 064bdf509833 -r 883958fa4dd9 ChangeLog --- a/ChangeLog Wed Jul 14 17:42:26 2010 -0400 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,8 @@ 2010-07-14 Deepak Bhole + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + 2010-07-14 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new diff -r 064bdf509833 -r 883958fa4dd9 tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Wed Jul 14 17:42:26 2010 -0400 +++ b/tapset/hotspot.stp.in Tue Jul 13 11:46:10 2010 +0200 @@ -120,7 +120,7 @@ probe hotspot.object_alloc = name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg3; + size = $arg4; probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } From andrew at icedtea.classpath.org Thu Jul 15 09:38:15 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 15 Jul 2010 16:38:15 +0000 Subject: /hg/icedtea: Fix hotspot tapset object_alloc size variable. Message-ID: changeset 0f9a93d2866d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0f9a93d2866d author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ tapset/hotspot.stp.in | 2 +- diffs (24 lines): diff -r 5c660ac28d6b -r 0f9a93d2866d ChangeLog --- a/ChangeLog Wed Jul 14 21:49:22 2010 +0100 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,8 @@ 2010-07-15 Andrew John Hughes + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + 2010-07-15 Andrew John Hughes PR icedtea/521 diff -r 5c660ac28d6b -r 0f9a93d2866d tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Wed Jul 14 21:49:22 2010 +0100 +++ b/tapset/hotspot.stp.in Tue Jul 13 11:46:10 2010 +0200 @@ -120,7 +120,7 @@ probe hotspot.object_alloc = name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg3; + size = $arg4; probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } From dbhole at icedtea.classpath.org Thu Jul 15 11:39:42 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 15 Jul 2010 18:39:42 +0000 Subject: /hg/icedtea6: Backpatched from jdk7 for upstream bug#6678385. Fi... Message-ID: changeset 8cdea18e5d0a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8cdea18e5d0a author: Deepak Bhole date: Thu Jul 15 14:17:09 2010 -0400 Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. diffstat: 3 files changed, 1248 insertions(+) ChangeLog | 6 Makefile.am | 1 patches/openjdk/6678385.patch | 1241 +++++++++++++++++++++++++++++++++++++++++ diffs (truncated from 1269 to 500 lines): diff -r 5719610f7230 -r 8cdea18e5d0a ChangeLog --- a/ChangeLog Thu Jul 15 11:05:34 2010 -0400 +++ b/ChangeLog Thu Jul 15 14:17:09 2010 -0400 @@ -1,3 +1,9 @@ 2010-07-14 Jon VanAlten + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is + resized. + 2010-07-14 Jon VanAlten * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations diff -r 5719610f7230 -r 8cdea18e5d0a Makefile.am --- a/Makefile.am Thu Jul 15 11:05:34 2010 -0400 +++ b/Makefile.am Thu Jul 15 14:17:09 2010 -0400 @@ -277,6 +277,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-jtreg-httpTest.patch \ patches/arm.patch \ patches/shark-debug-option.patch \ + patches/openjdk/6678385.patch \ patches/openjdk/6961732.patch \ patches/debug-dir.patch \ patches/no-sync.patch \ diff -r 5719610f7230 -r 8cdea18e5d0a patches/openjdk/6678385.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6678385.patch Thu Jul 15 14:17:09 2010 -0400 @@ -0,0 +1,1241 @@ +# HG changeset patch +# User art +# Date 1242387635 -14400 +# Node ID f62f7fcc9965cd0b110f07b4cd42c419f77717c1 +# Parent b28b073e72b625a4d8b6e71010a2968b5fc85124 +6678385: Random java.lang.StackOverflowError from various JDKs +Reviewed-by: stayer + +IcedTea6 note: This patch (upstream bz#6678385) fixes rhbz# 551835. + +diff -uNr openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers +--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:21.755105655 -0400 ++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:42.630981569 -0400 +@@ -125,6 +125,7 @@ + Java_sun_awt_X11_XlibWrapper_SetToolkitErrorHandler; + Java_sun_awt_X11_XlibWrapper_XSetErrorHandler; + Java_sun_awt_X11_XlibWrapper_CallErrorHandler; ++ Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent; + Java_sun_awt_X11_XlibWrapper_XInternAtoms; + Java_sun_awt_X11_XlibWrapper_XChangeWindowAttributes; + Java_sun_awt_X11_XlibWrapper_XDeleteProperty; +@@ -269,7 +270,6 @@ + Java_sun_awt_X11_XToolkit_getDefaultXColormap; + Java_sun_awt_X11_XToolkit_getDefaultScreenData; + Java_sun_awt_X11_XToolkit_getEnv; +- Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler; + Java_sun_awt_X11_XlibWrapper_XCreateBitmapFromData; + Java_sun_awt_X11_XlibWrapper_XFreePixmap; + Java_sun_awt_X11_XlibWrapper_XAllocColor; +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:42.631981678 -0400 +@@ -119,7 +119,7 @@ + false, + XlibWrapper.AnyPropertyType); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg.getData() != 0 && +@@ -189,7 +189,7 @@ + try { + Native.putLong(data, motifWindow); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + defaultRootWindow, + XA_MOTIF_DRAG_WINDOW.getAtom(), +@@ -276,7 +276,7 @@ + false, + XA_MOTIF_DRAG_TARGETS.getAtom()); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success + || wpg.getActualType() != XA_MOTIF_DRAG_TARGETS.getAtom() +@@ -390,7 +390,7 @@ + } + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -406,7 +406,7 @@ + // Create a new motif window and retry. + motifWindow = createMotifWindow(); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -530,7 +530,7 @@ + // CARD32 icc_handle + unsafe.putInt(structData + 4, (int)XA_MOTIF_ATOM_0.getAtom()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_ATOM_0.getAtom(), + XA_MOTIF_DRAG_INITIATOR_INFO.getAtom(), +@@ -563,7 +563,7 @@ + unsafe.putShort(data + 10, (short)0); /* pad */ + unsafe.putInt(data + 12, dataSize); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:42.633981353 -0400 +@@ -184,7 +184,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:21.904105558 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:42.636014780 -0400 +@@ -102,7 +102,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -162,7 +162,7 @@ + unsafe.putInt(data + 12, dataSize); + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -204,7 +204,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -236,7 +236,7 @@ + + unsafe.putInt(data + 4, tproxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -276,7 +276,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -325,7 +325,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == (int)XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() != 0 && wpg.getActualFormat() == 8 && +@@ -375,7 +375,7 @@ + MotifDnDConstants.XA_MOTIF_DRAG_INITIATOR_INFO.getAtom()); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() == +@@ -412,7 +412,7 @@ + */ + XWindowAttributes wattr = new XWindowAttributes(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), + source_win, wattr.pData); + +@@ -429,7 +429,7 @@ + wattr.dispose(); + } + +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win, + source_win_mask | + XlibWrapper.StructureNotifyMask); +@@ -1020,7 +1020,7 @@ + if (sourceWindow != 0) { + XToolkit.awtLock(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow, + sourceWindowMask); + XToolkit.RESTORE_XERROR_HANDLER(); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:21.900105578 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:42.637046074 -0400 +@@ -75,7 +75,7 @@ + public int execute() { + return execute(null); + } +- public int execute(XToolkit.XErrorHandler errorHandler) { ++ public int execute(XErrorHandler errorHandler) { + + XToolkit.awtLock(); + try { +@@ -94,7 +94,7 @@ + + // Fix for performance problem - IgnodeBadWindowHandler is + // used too much without reason, just ignore it +- if (errorHandler == XToolkit.IgnoreBadWindowHandler) { ++ if (errorHandler instanceof XErrorHandler.IgnoreBadWindowHandler) { + errorHandler = null; + } + +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:21.896105637 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:42.637981716 -0400 +@@ -122,7 +122,7 @@ + new WindowPropertyGetter(owner, xSettingsPropertyAtom, 0, MAX_LENGTH, + false, xSettingsPropertyAtom.getAtom() ); + try { +- int status = getter.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || getter.getData() == 0) { + if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status ); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400 +@@ -1155,7 +1155,8 @@ + } + + boolean isOverrideRedirect() { +- return false; ++// return false; ++ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); + } + + public boolean requestWindowFocus(long time, boolean timeProvided) { +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400 +@@ -96,7 +96,7 @@ + action_count++; + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndActionList.setAtomData(window, + XAtom.XA_ATOM, + data, action_count); +@@ -117,7 +117,7 @@ + try { + Native.put(data, formats); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndTypeList.setAtomData(window, + XAtom.XA_ATOM, + data, formats.length); +@@ -195,7 +195,7 @@ + new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1, + false, XlibWrapper.AnyPropertyType); + +- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -215,7 +215,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -233,7 +233,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -249,7 +249,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:21.903105589 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:42.645236553 -0400 +@@ -88,7 +88,7 @@ + try { + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); + +@@ -122,7 +122,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -141,7 +141,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -159,7 +159,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -175,7 +175,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +@@ -205,7 +205,7 @@ + + /* The proxy window must have the XdndAware set, as XDnD protocol + prescribes to check the proxy window for XdndAware. */ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(newProxy, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -219,7 +219,7 @@ + Native.putLong(data, 0, newProxy); + + /* The proxy window must have the XdndProxy set to point to itself.*/ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(newProxy, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -232,7 +232,7 @@ + + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -245,7 +245,7 @@ + + Native.putLong(data, 0, newProxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -278,7 +278,7 @@ + try { + Native.putLong(data, 0, entry.getVersion()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -291,7 +291,7 @@ + + Native.putLong(data, 0, (int)entry.getProxy()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -329,7 +329,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -348,7 +348,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -366,7 +366,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -382,7 +382,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +@@ -411,7 +411,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -473,7 +473,7 @@ + 0, 0xFFFF, false, + XAtom.XA_ATOM); + try { +- wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (wpg.getActualType() == XAtom.XA_ATOM && + wpg.getActualFormat() == 32) { +@@ -505,7 +505,7 @@ + 0, 0xFFFF, false, + XAtom.XA_ATOM); + try { +- wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (wpg.getActualType() == XAtom.XA_ATOM && + wpg.getActualFormat() == 32) { +@@ -541,7 +541,7 @@ + */ + XWindowAttributes wattr = new XWindowAttributes(); + try { From bugzilla-daemon at icedtea.classpath.org Thu Jul 15 12:19:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Jul 2010 19:19:32 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #9 from jon.vanalten at redhat.com 2010-07-15 19:19 ------- Created an attachment (id=393) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=393&action=view) Reproducer, altered to take arguments for number of elements. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 15 12:52:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Jul 2010 19:52:23 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #10 from jon.vanalten at redhat.com 2010-07-15 19:52 ------- (In reply to comment #8) > I referred to running the same class file crashing with a segfault on some runs > and working perfectly on others. I haven't reproduced this lately either but it > happened. Odd. I have now reproduced the behavior where it sometimes faults and sometimes not. But, when running in Eclipse, it runs fine (ie does not seg fault) when in debug mode *if* there is at least one breakpoint set. See also below. I added a couple of (ugh) debug println statements and found the spot where, consistently (for me) it faults. So contrary to my prior thought in comment #3 it does manage to run part of the program. It is at the beginning of the while loop for backtracking. The first checkpoint always prints, the line in the loop never prints. Strangely, a breakpoint set even after this point will allow the program to run fine. Next will be to look for oddities in the bytecode, or at least differences from that produced by javac. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Fri Jul 16 06:11:46 2010 From: omajid at redhat.com (Omair Majid) Date: Fri, 16 Jul 2010 09:11:46 -0400 Subject: [RFC] netx: stop using Look and Feel related methods (PR372) In-Reply-To: <4C334BB2.50504@redhat.com> References: <4C334BB2.50504@redhat.com> Message-ID: <4C405A92.3090407@redhat.com> On 07/06/2010 11:28 AM, Omair Majid wrote: > Netx (incorrectly) uses Look and Feel related hooks and methods to > create the security-related dialogs it shows to the user [1]. While most > of the time it has no consequences, a few JNLP applications that modify > the Look and Feel demonstrate incorrect behaviour [2]. The attached > patch uses the standard Swing methods to create and display GUIs. It is > a somewhat large patch, even though most of it is fairly mundane - > creating JDialogs, setting a JPanel in the center depending on the type > of dialog and then adding the appropriate controls to the JPanel. I have > tried to avoid changing anything that goes inside the JPanel - it should > behave exactly as before. I have done some testing and it seems to work > just as well as before, but I would appreciate it if others could look > it over and try it out too. > Can anyone please review this? Thanks, Omair From ptisnovs at icedtea.classpath.org Fri Jul 16 06:57:28 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Jul 2010 13:57:28 +0000 Subject: /hg/gfx-test: Added annotation classes which will be used by tes... Message-ID: changeset 82bf2c575f0a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=82bf2c575f0a author: Pavel Tisnovsky date: Fri Jul 16 15:57:40 2010 +0200 Added annotation classes which will be used by test suites. diffstat: 7 files changed, 285 insertions(+) src/org/gfxtest/framework/annotations/GraphicsPrimitive.java | 46 +++++++++ src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | 49 ++++++++++ src/org/gfxtest/framework/annotations/RenderStyle.java | 46 +++++++++ src/org/gfxtest/framework/annotations/RenderStyles.java | 47 +++++++++ src/org/gfxtest/framework/annotations/TestType.java | 46 +++++++++ src/org/gfxtest/framework/annotations/TestTypes.java | 46 +++++++++ src/org/gfxtest/testsuites/DashedLines.java | 5 + diffs (319 lines): diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/GraphicsPrimitive.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitive.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,46 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public @interface GraphicsPrimitive +{ + GraphicsPrimitives value(); +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/GraphicsPrimitives.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,49 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public enum GraphicsPrimitives +{ + LINE, + POLYLINE, + ARC, + CIRCLE, +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/RenderStyle.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/RenderStyle.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,46 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public @interface RenderStyle +{ + RenderStyles value(); +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/RenderStyles.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/RenderStyles.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,47 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public enum RenderStyles +{ + NORMAL, + DASH +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/TestType.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/TestType.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,46 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public @interface TestType +{ + TestTypes value(); +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/framework/annotations/TestTypes.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/TestTypes.java Fri Jul 16 15:57:40 2010 +0200 @@ -0,0 +1,46 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public enum TestTypes +{ + RENDER_TEST, +} diff -r 21a00e2fa19e -r 82bf2c575f0a src/org/gfxtest/testsuites/DashedLines.java --- a/src/org/gfxtest/testsuites/DashedLines.java Tue Jul 13 14:07:51 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedLines.java Fri Jul 16 15:57:40 2010 +0200 @@ -46,6 +46,11 @@ import java.io.IOException; import org.gfxtest.framework.*; +/** + * This test renders various dashed lines. + * + * @author Pavel Tisnovsky + */ public class DashedLines extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; From ptisnovs at icedtea.classpath.org Fri Jul 16 07:29:33 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Jul 2010 14:29:33 +0000 Subject: /hg/gfx-test: Added proper annotations to all test suites. Message-ID: changeset 1835f1b2615b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1835f1b2615b author: Pavel Tisnovsky date: Fri Jul 16 16:29:45 2010 +0200 Added proper annotations to all test suites. diffstat: 9 files changed, 61 insertions(+) src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | 2 ++ src/org/gfxtest/framework/annotations/RenderStyles.java | 1 + src/org/gfxtest/testsuites/BlankImage.java | 9 +++++++++ src/org/gfxtest/testsuites/DashedLines.java | 4 ++++ src/org/gfxtest/testsuites/DashedPolylines.java | 9 +++++++++ src/org/gfxtest/testsuites/DashedRectangles.java | 9 +++++++++ src/org/gfxtest/testsuites/ScaledLines.java | 9 +++++++++ src/org/gfxtest/testsuites/ScaledPolylines.java | 9 +++++++++ src/org/gfxtest/testsuites/ScaledRectangles.java | 9 +++++++++ diffs (164 lines): diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/framework/annotations/GraphicsPrimitives.java --- a/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Fri Jul 16 16:29:45 2010 +0200 @@ -42,7 +42,9 @@ package org.gfxtest.framework.annotation public enum GraphicsPrimitives { + COMMON_BITMAP, LINE, + RECTANGLE, POLYLINE, ARC, CIRCLE, diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/framework/annotations/RenderStyles.java --- a/src/org/gfxtest/framework/annotations/RenderStyles.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/framework/annotations/RenderStyles.java Fri Jul 16 16:29:45 2010 +0200 @@ -42,6 +42,7 @@ package org.gfxtest.framework.annotation public enum RenderStyles { + NONE, NORMAL, DASH } diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/BlankImage.java --- a/src/org/gfxtest/testsuites/BlankImage.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/BlankImage.java Fri Jul 16 16:29:45 2010 +0200 @@ -43,7 +43,16 @@ import java.awt.*; import java.awt.*; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders bitmap filled by given color. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.COMMON_BITMAP) + at RenderStyle(RenderStyles.NONE) public class BlankImage extends GfxTest { diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/DashedLines.java --- a/src/org/gfxtest/testsuites/DashedLines.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedLines.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,12 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; /** * This test renders various dashed lines. * * @author Pavel Tisnovsky */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.LINE) + at RenderStyle(RenderStyles.DASH) public class DashedLines extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/DashedPolylines.java --- a/src/org/gfxtest/testsuites/DashedPolylines.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedPolylines.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,7 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders various dashed polylines. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.POLYLINE) + at RenderStyle(RenderStyles.DASH) public class DashedPolylines extends GfxTest { private static final int OFFSET = 80; diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/DashedRectangles.java --- a/src/org/gfxtest/testsuites/DashedRectangles.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedRectangles.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,7 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders various dashed rectangles. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.RECTANGLE) + at RenderStyle(RenderStyles.DASH) public class DashedRectangles extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/ScaledLines.java --- a/src/org/gfxtest/testsuites/ScaledLines.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledLines.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,7 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders various scaled lines. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.LINE) + at RenderStyle(RenderStyles.NORMAL) public class ScaledLines extends GfxTest { private static final int OFFSET = 80; diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/ScaledPolylines.java --- a/src/org/gfxtest/testsuites/ScaledPolylines.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledPolylines.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,7 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders various scaled polylines. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.POLYLINE) + at RenderStyle(RenderStyles.NORMAL) public class ScaledPolylines extends GfxTest { private static final int OFFSET = 80; diff -r 82bf2c575f0a -r 1835f1b2615b src/org/gfxtest/testsuites/ScaledRectangles.java --- a/src/org/gfxtest/testsuites/ScaledRectangles.java Fri Jul 16 15:57:40 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledRectangles.java Fri Jul 16 16:29:45 2010 +0200 @@ -45,7 +45,16 @@ import java.io.IOException; import java.io.IOException; import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; +/** + * This test renders scaled rectangles. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.RECTANGLE) + at RenderStyle(RenderStyles.NORMAL) public class ScaledRectangles extends GfxTest { private static final int OFFSET = 80; From ptisnovs at icedtea.classpath.org Fri Jul 16 08:43:56 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Jul 2010 15:43:56 +0000 Subject: /hg/gfx-test: New annotation added to test suites - Transformation. Message-ID: changeset 43d70c352682 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=43d70c352682 author: Pavel Tisnovsky date: Fri Jul 16 17:44:09 2010 +0200 New annotation added to test suites - Transformation. diffstat: 9 files changed, 100 insertions(+) src/org/gfxtest/framework/annotations/Transformation.java | 46 +++++++++++ src/org/gfxtest/framework/annotations/Transformations.java | 47 ++++++++++++ src/org/gfxtest/testsuites/BlankImage.java | 1 src/org/gfxtest/testsuites/DashedLines.java | 1 src/org/gfxtest/testsuites/DashedPolylines.java | 1 src/org/gfxtest/testsuites/DashedRectangles.java | 1 src/org/gfxtest/testsuites/ScaledLines.java | 1 src/org/gfxtest/testsuites/ScaledPolylines.java | 1 src/org/gfxtest/testsuites/ScaledRectangles.java | 1 diffs (178 lines): diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/framework/annotations/Transformation.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/Transformation.java Fri Jul 16 17:44:09 2010 +0200 @@ -0,0 +1,46 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public @interface Transformation +{ + Transformations value(); +} diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/framework/annotations/Transformations.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/annotations/Transformations.java Fri Jul 16 17:44:09 2010 +0200 @@ -0,0 +1,47 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework.annotations; + +public enum Transformations +{ + NONE, + SCALE, +} diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/BlankImage.java --- a/src/org/gfxtest/testsuites/BlankImage.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/BlankImage.java Fri Jul 16 17:44:09 2010 +0200 @@ -53,6 +53,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.COMMON_BITMAP) @RenderStyle(RenderStyles.NONE) + at Transformation(Transformations.NONE) public class BlankImage extends GfxTest { diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/DashedLines.java --- a/src/org/gfxtest/testsuites/DashedLines.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedLines.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.LINE) @RenderStyle(RenderStyles.DASH) + at Transformation(Transformations.NONE) public class DashedLines extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/DashedPolylines.java --- a/src/org/gfxtest/testsuites/DashedPolylines.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedPolylines.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.POLYLINE) @RenderStyle(RenderStyles.DASH) + at Transformation(Transformations.NONE) public class DashedPolylines extends GfxTest { private static final int OFFSET = 80; diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/DashedRectangles.java --- a/src/org/gfxtest/testsuites/DashedRectangles.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedRectangles.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.RECTANGLE) @RenderStyle(RenderStyles.DASH) + at Transformation(Transformations.NONE) public class DashedRectangles extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/ScaledLines.java --- a/src/org/gfxtest/testsuites/ScaledLines.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledLines.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.LINE) @RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.SCALE) public class ScaledLines extends GfxTest { private static final int OFFSET = 80; diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/ScaledPolylines.java --- a/src/org/gfxtest/testsuites/ScaledPolylines.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledPolylines.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.POLYLINE) @RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.SCALE) public class ScaledPolylines extends GfxTest { private static final int OFFSET = 80; diff -r 1835f1b2615b -r 43d70c352682 src/org/gfxtest/testsuites/ScaledRectangles.java --- a/src/org/gfxtest/testsuites/ScaledRectangles.java Fri Jul 16 16:29:45 2010 +0200 +++ b/src/org/gfxtest/testsuites/ScaledRectangles.java Fri Jul 16 17:44:09 2010 +0200 @@ -55,6 +55,7 @@ import org.gfxtest.framework.annotations @TestType(TestTypes.RENDER_TEST) @GraphicsPrimitive(GraphicsPrimitives.RECTANGLE) @RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.SCALE) public class ScaledRectangles extends GfxTest { private static final int OFFSET = 80; From andrew at icedtea.classpath.org Fri Jul 16 09:11:43 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 16 Jul 2010 16:11:43 +0000 Subject: /hg/release/icedtea6-1.8: 2 new changesets Message-ID: changeset b1dfd5460bf9 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=b1dfd5460bf9 author: Jon VanAlten date: Fri Jul 16 17:08:40 2010 +0100 Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. 2010-07-14 Jon VanAlten * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like panels. * Makefile.am: Apply icedtea-override-redirect-metacity.patch. changeset faa4f2e58846 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=faa4f2e58846 author: Deepak Bhole date: Fri Jul 16 17:11:31 2010 +0100 Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. diffstat: 4 files changed, 1277 insertions(+), 1 deletion(-) ChangeLog | 22 Makefile.am | 4 patches/icedtea-override-redirect-metacity.patch | 11 patches/openjdk/6678385.patch | 1241 ++++++++++++++++++++++ diffs (truncated from 1303 to 500 lines): diff -r cc8ca057c727 -r faa4f2e58846 ChangeLog --- a/ChangeLog Tue Jul 13 11:46:10 2010 +0200 +++ b/ChangeLog Fri Jul 16 17:11:31 2010 +0100 @@ -1,3 +1,25 @@ 2010-07-13 Mark Wielaard + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is + resized. + +2010-07-14 Jon VanAlten + + * patches/icedtea-override-redirect-metacity.patch: Produces the + "expected" behavior for full screen applications or other situations + where developers wish to present elements that would cover things like + panels. We previously had a version of this patch since changeset 876 + ebc064e8892d, but dropped it in changeset changeset 1731 + 83619682858e because upstream had rejected as a metacity bug[1]. + Metacity maintains that this behavior does not break any spec and does + not appear likely to change either[2], so we must be the "good guys" and + provide the expected behavior. See discussion[3]. + [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 + [2] https://bugzilla.gnome.org/show_bug.cgi?id=405269 + [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008862.html + * Makefile.am: Apply icedtea-override-redirect-metacity.patch. + 2010-07-13 Mark Wielaard Reported by William Cohen diff -r cc8ca057c727 -r faa4f2e58846 Makefile.am --- a/Makefile.am Tue Jul 13 11:46:10 2010 +0200 +++ b/Makefile.am Fri Jul 16 17:11:31 2010 +0100 @@ -326,7 +326,9 @@ ICEDTEA_PATCHES = \ patches/security/20100330/6932480.patch \ patches/ant-1.8.0.patch \ patches/icedtea-nss-6763530.patch \ - patches/nss-debug.patch + patches/nss-debug.patch \ + patches/icedtea-override-redirect-metacity.patch \ + patches/openjdk/6678385.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r cc8ca057c727 -r faa4f2e58846 patches/icedtea-override-redirect-metacity.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-override-redirect-metacity.patch Fri Jul 16 17:11:31 2010 +0100 @@ -0,0 +1,11 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig 2008-05-25 17:31:31.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-05-25 17:33:32.000000000 +0200 +@@ -1124,6 +1124,8 @@ + + boolean isOverrideRedirect() { + return (XWM.getWMID() == XWM.OPENLOOK_WM ? true : false) || ++ (XWM.getWMID() == XWM.METACITY_WM ? true : false) || ++ target.getName().equals("###overrideRedirect###") || + ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target) || + XTrayIconPeer.isTrayIconStuffWindow((Window)target); + } diff -r cc8ca057c727 -r faa4f2e58846 patches/openjdk/6678385.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6678385.patch Fri Jul 16 17:11:31 2010 +0100 @@ -0,0 +1,1241 @@ +# HG changeset patch +# User art +# Date 1242387635 -14400 +# Node ID f62f7fcc9965cd0b110f07b4cd42c419f77717c1 +# Parent b28b073e72b625a4d8b6e71010a2968b5fc85124 +6678385: Random java.lang.StackOverflowError from various JDKs +Reviewed-by: stayer + +IcedTea6 note: This patch (upstream bz#6678385) fixes rhbz# 551835. + +diff -uNr openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers +--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:21.755105655 -0400 ++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:42.630981569 -0400 +@@ -125,6 +125,7 @@ + Java_sun_awt_X11_XlibWrapper_SetToolkitErrorHandler; + Java_sun_awt_X11_XlibWrapper_XSetErrorHandler; + Java_sun_awt_X11_XlibWrapper_CallErrorHandler; ++ Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent; + Java_sun_awt_X11_XlibWrapper_XInternAtoms; + Java_sun_awt_X11_XlibWrapper_XChangeWindowAttributes; + Java_sun_awt_X11_XlibWrapper_XDeleteProperty; +@@ -269,7 +270,6 @@ + Java_sun_awt_X11_XToolkit_getDefaultXColormap; + Java_sun_awt_X11_XToolkit_getDefaultScreenData; + Java_sun_awt_X11_XToolkit_getEnv; +- Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler; + Java_sun_awt_X11_XlibWrapper_XCreateBitmapFromData; + Java_sun_awt_X11_XlibWrapper_XFreePixmap; + Java_sun_awt_X11_XlibWrapper_XAllocColor; +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:42.631981678 -0400 +@@ -119,7 +119,7 @@ + false, + XlibWrapper.AnyPropertyType); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg.getData() != 0 && +@@ -189,7 +189,7 @@ + try { + Native.putLong(data, motifWindow); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + defaultRootWindow, + XA_MOTIF_DRAG_WINDOW.getAtom(), +@@ -276,7 +276,7 @@ + false, + XA_MOTIF_DRAG_TARGETS.getAtom()); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success + || wpg.getActualType() != XA_MOTIF_DRAG_TARGETS.getAtom() +@@ -390,7 +390,7 @@ + } + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -406,7 +406,7 @@ + // Create a new motif window and retry. + motifWindow = createMotifWindow(); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -530,7 +530,7 @@ + // CARD32 icc_handle + unsafe.putInt(structData + 4, (int)XA_MOTIF_ATOM_0.getAtom()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_ATOM_0.getAtom(), + XA_MOTIF_DRAG_INITIATOR_INFO.getAtom(), +@@ -563,7 +563,7 @@ + unsafe.putShort(data + 10, (short)0); /* pad */ + unsafe.putInt(data + 12, dataSize); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:42.633981353 -0400 +@@ -184,7 +184,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:21.904105558 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:42.636014780 -0400 +@@ -102,7 +102,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -162,7 +162,7 @@ + unsafe.putInt(data + 12, dataSize); + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -204,7 +204,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -236,7 +236,7 @@ + + unsafe.putInt(data + 4, tproxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -276,7 +276,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -325,7 +325,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == (int)XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() != 0 && wpg.getActualFormat() == 8 && +@@ -375,7 +375,7 @@ + MotifDnDConstants.XA_MOTIF_DRAG_INITIATOR_INFO.getAtom()); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() == +@@ -412,7 +412,7 @@ + */ + XWindowAttributes wattr = new XWindowAttributes(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), + source_win, wattr.pData); + +@@ -429,7 +429,7 @@ + wattr.dispose(); + } + +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win, + source_win_mask | + XlibWrapper.StructureNotifyMask); +@@ -1020,7 +1020,7 @@ + if (sourceWindow != 0) { + XToolkit.awtLock(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow, + sourceWindowMask); + XToolkit.RESTORE_XERROR_HANDLER(); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:21.900105578 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:42.637046074 -0400 +@@ -75,7 +75,7 @@ + public int execute() { + return execute(null); + } +- public int execute(XToolkit.XErrorHandler errorHandler) { ++ public int execute(XErrorHandler errorHandler) { + + XToolkit.awtLock(); + try { +@@ -94,7 +94,7 @@ + + // Fix for performance problem - IgnodeBadWindowHandler is + // used too much without reason, just ignore it +- if (errorHandler == XToolkit.IgnoreBadWindowHandler) { ++ if (errorHandler instanceof XErrorHandler.IgnoreBadWindowHandler) { + errorHandler = null; + } + +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:21.896105637 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:42.637981716 -0400 +@@ -122,7 +122,7 @@ + new WindowPropertyGetter(owner, xSettingsPropertyAtom, 0, MAX_LENGTH, + false, xSettingsPropertyAtom.getAtom() ); + try { +- int status = getter.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || getter.getData() == 0) { + if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status ); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400 +@@ -1155,7 +1155,8 @@ + } + + boolean isOverrideRedirect() { +- return false; ++// return false; ++ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); + } + + public boolean requestWindowFocus(long time, boolean timeProvided) { +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400 +@@ -96,7 +96,7 @@ + action_count++; + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndActionList.setAtomData(window, + XAtom.XA_ATOM, + data, action_count); +@@ -117,7 +117,7 @@ + try { + Native.put(data, formats); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndTypeList.setAtomData(window, + XAtom.XA_ATOM, + data, formats.length); +@@ -195,7 +195,7 @@ + new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1, + false, XlibWrapper.AnyPropertyType); + +- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -215,7 +215,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -233,7 +233,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -249,7 +249,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:21.903105589 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:42.645236553 -0400 +@@ -88,7 +88,7 @@ + try { + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); + +@@ -122,7 +122,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -141,7 +141,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -159,7 +159,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -175,7 +175,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +@@ -205,7 +205,7 @@ + + /* The proxy window must have the XdndAware set, as XDnD protocol + prescribes to check the proxy window for XdndAware. */ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(newProxy, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -219,7 +219,7 @@ + Native.putLong(data, 0, newProxy); + + /* The proxy window must have the XdndProxy set to point to itself.*/ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(newProxy, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -232,7 +232,7 @@ + + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -245,7 +245,7 @@ + + Native.putLong(data, 0, newProxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -278,7 +278,7 @@ + try { + Native.putLong(data, 0, entry.getVersion()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -291,7 +291,7 @@ + + Native.putLong(data, 0, (int)entry.getProxy()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -329,7 +329,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -348,7 +348,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -366,7 +366,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -382,7 +382,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); From dbhole at redhat.com Fri Jul 16 09:12:21 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 16 Jul 2010 12:12:21 -0400 Subject: RFE: Inclusion of correct permission resolution patch in IcedTea Message-ID: <20100716161220.GB6221@redhat.com> Hi, Currently, there is a permission resolution problem in OpenJDK that prevents it from resolving policies as per spec. The bug and the necessary patch are here: https://bugs.openjdk.java.net/show_bug.cgi?id=100142 Is it okay to commit this into IcedTea until the fix reaches upstream? Patch attached for convenience. Thanks, Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: 100142.patch Type: text/x-patch Size: 1323 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100716/84553289/100142.patch From andrew at icedtea.classpath.org Fri Jul 16 09:13:01 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 16 Jul 2010 16:13:01 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 7a29091cd9f7 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=7a29091cd9f7 author: Jon VanAlten date: Fri Jul 16 17:07:19 2010 +0100 Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. 2010-07-14 Jon VanAlten * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like panels. * Makefile.am: Apply icedtea-override-redirect-metacity.patch. changeset f84adc4b21cf in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=f84adc4b21cf author: Deepak Bhole date: Fri Jul 16 17:12:55 2010 +0100 Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. diffstat: 4 files changed, 1277 insertions(+), 1 deletion(-) ChangeLog | 22 Makefile.am | 4 patches/icedtea-override-redirect-metacity.patch | 11 patches/openjdk/6678385.patch | 1241 ++++++++++++++++++++++ diffs (truncated from 1303 to 500 lines): diff -r 883958fa4dd9 -r f84adc4b21cf ChangeLog --- a/ChangeLog Tue Jul 13 11:46:10 2010 +0200 +++ b/ChangeLog Fri Jul 16 17:12:55 2010 +0100 @@ -1,3 +1,25 @@ 2010-07-13 Mark Wielaard + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is + resized. + +2010-07-14 Jon VanAlten + + * patches/icedtea-override-redirect-metacity.patch: Produces the + "expected" behavior for full screen applications or other situations + where developers wish to present elements that would cover things like + panels. We previously had a version of this patch since changeset 876 + ebc064e8892d, but dropped it in changeset changeset 1731 + 83619682858e because upstream had rejected as a metacity bug[1]. + Metacity maintains that this behavior does not break any spec and does + not appear likely to change either[2], so we must be the "good guys" and + provide the expected behavior. See discussion[3]. + [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 + [2] https://bugzilla.gnome.org/show_bug.cgi?id=405269 + [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008862.html + * Makefile.am: Apply icedtea-override-redirect-metacity.patch. + 2010-07-13 Mark Wielaard Reported by William Cohen diff -r 883958fa4dd9 -r f84adc4b21cf Makefile.am --- a/Makefile.am Tue Jul 13 11:46:10 2010 +0200 +++ b/Makefile.am Fri Jul 16 17:12:55 2010 +0100 @@ -332,7 +332,9 @@ ICEDTEA_PATCHES = \ patches/security/20100330/6914866.patch \ patches/security/20100330/6932480.patch \ patches/ant-1.8.0.patch \ - patches/icedtea-use-system-tzdata.patch + patches/icedtea-use-system-tzdata.patch \ + patches/icedtea-override-redirect-metacity.patch \ + patches/openjdk/6678385.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 883958fa4dd9 -r f84adc4b21cf patches/icedtea-override-redirect-metacity.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-override-redirect-metacity.patch Fri Jul 16 17:12:55 2010 +0100 @@ -0,0 +1,11 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig 2008-05-25 17:31:31.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-05-25 17:33:32.000000000 +0200 +@@ -1124,6 +1124,8 @@ + + boolean isOverrideRedirect() { + return (XWM.getWMID() == XWM.OPENLOOK_WM ? true : false) || ++ (XWM.getWMID() == XWM.METACITY_WM ? true : false) || ++ target.getName().equals("###overrideRedirect###") || + ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target) || + XTrayIconPeer.isTrayIconStuffWindow((Window)target); + } diff -r 883958fa4dd9 -r f84adc4b21cf patches/openjdk/6678385.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6678385.patch Fri Jul 16 17:12:55 2010 +0100 @@ -0,0 +1,1241 @@ +# HG changeset patch +# User art +# Date 1242387635 -14400 +# Node ID f62f7fcc9965cd0b110f07b4cd42c419f77717c1 +# Parent b28b073e72b625a4d8b6e71010a2968b5fc85124 +6678385: Random java.lang.StackOverflowError from various JDKs +Reviewed-by: stayer + +IcedTea6 note: This patch (upstream bz#6678385) fixes rhbz# 551835. + +diff -uNr openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers +--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:21.755105655 -0400 ++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:42.630981569 -0400 +@@ -125,6 +125,7 @@ + Java_sun_awt_X11_XlibWrapper_SetToolkitErrorHandler; + Java_sun_awt_X11_XlibWrapper_XSetErrorHandler; + Java_sun_awt_X11_XlibWrapper_CallErrorHandler; ++ Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent; + Java_sun_awt_X11_XlibWrapper_XInternAtoms; + Java_sun_awt_X11_XlibWrapper_XChangeWindowAttributes; + Java_sun_awt_X11_XlibWrapper_XDeleteProperty; +@@ -269,7 +270,6 @@ + Java_sun_awt_X11_XToolkit_getDefaultXColormap; + Java_sun_awt_X11_XToolkit_getDefaultScreenData; + Java_sun_awt_X11_XToolkit_getEnv; +- Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler; + Java_sun_awt_X11_XlibWrapper_XCreateBitmapFromData; + Java_sun_awt_X11_XlibWrapper_XFreePixmap; + Java_sun_awt_X11_XlibWrapper_XAllocColor; +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:42.631981678 -0400 +@@ -119,7 +119,7 @@ + false, + XlibWrapper.AnyPropertyType); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg.getData() != 0 && +@@ -189,7 +189,7 @@ + try { + Native.putLong(data, motifWindow); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + defaultRootWindow, + XA_MOTIF_DRAG_WINDOW.getAtom(), +@@ -276,7 +276,7 @@ + false, + XA_MOTIF_DRAG_TARGETS.getAtom()); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success + || wpg.getActualType() != XA_MOTIF_DRAG_TARGETS.getAtom() +@@ -390,7 +390,7 @@ + } + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -406,7 +406,7 @@ + // Create a new motif window and retry. + motifWindow = createMotifWindow(); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -530,7 +530,7 @@ + // CARD32 icc_handle + unsafe.putInt(structData + 4, (int)XA_MOTIF_ATOM_0.getAtom()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_ATOM_0.getAtom(), + XA_MOTIF_DRAG_INITIATOR_INFO.getAtom(), +@@ -563,7 +563,7 @@ + unsafe.putShort(data + 10, (short)0); /* pad */ + unsafe.putInt(data + 12, dataSize); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:42.633981353 -0400 +@@ -184,7 +184,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:21.904105558 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:42.636014780 -0400 +@@ -102,7 +102,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -162,7 +162,7 @@ + unsafe.putInt(data + 12, dataSize); + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -204,7 +204,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -236,7 +236,7 @@ + + unsafe.putInt(data + 4, tproxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -276,7 +276,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -325,7 +325,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == (int)XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() != 0 && wpg.getActualFormat() == 8 && +@@ -375,7 +375,7 @@ + MotifDnDConstants.XA_MOTIF_DRAG_INITIATOR_INFO.getAtom()); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() == +@@ -412,7 +412,7 @@ + */ + XWindowAttributes wattr = new XWindowAttributes(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), + source_win, wattr.pData); + +@@ -429,7 +429,7 @@ + wattr.dispose(); + } + +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win, + source_win_mask | + XlibWrapper.StructureNotifyMask); +@@ -1020,7 +1020,7 @@ + if (sourceWindow != 0) { + XToolkit.awtLock(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow, + sourceWindowMask); + XToolkit.RESTORE_XERROR_HANDLER(); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:21.900105578 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:42.637046074 -0400 +@@ -75,7 +75,7 @@ + public int execute() { + return execute(null); + } +- public int execute(XToolkit.XErrorHandler errorHandler) { ++ public int execute(XErrorHandler errorHandler) { + + XToolkit.awtLock(); + try { +@@ -94,7 +94,7 @@ + + // Fix for performance problem - IgnodeBadWindowHandler is + // used too much without reason, just ignore it +- if (errorHandler == XToolkit.IgnoreBadWindowHandler) { ++ if (errorHandler instanceof XErrorHandler.IgnoreBadWindowHandler) { + errorHandler = null; + } + +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:21.896105637 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:42.637981716 -0400 +@@ -122,7 +122,7 @@ + new WindowPropertyGetter(owner, xSettingsPropertyAtom, 0, MAX_LENGTH, + false, xSettingsPropertyAtom.getAtom() ); + try { +- int status = getter.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || getter.getData() == 0) { + if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status ); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400 +@@ -1155,7 +1155,8 @@ + } + + boolean isOverrideRedirect() { +- return false; ++// return false; ++ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); + } + + public boolean requestWindowFocus(long time, boolean timeProvided) { +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400 +@@ -96,7 +96,7 @@ + action_count++; + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndActionList.setAtomData(window, + XAtom.XA_ATOM, + data, action_count); +@@ -117,7 +117,7 @@ + try { + Native.put(data, formats); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndTypeList.setAtomData(window, + XAtom.XA_ATOM, + data, formats.length); +@@ -195,7 +195,7 @@ + new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1, + false, XlibWrapper.AnyPropertyType); + +- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -215,7 +215,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -233,7 +233,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -249,7 +249,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:21.903105589 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:42.645236553 -0400 +@@ -88,7 +88,7 @@ + try { + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); + +@@ -122,7 +122,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -141,7 +141,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -159,7 +159,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -175,7 +175,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +@@ -205,7 +205,7 @@ + + /* The proxy window must have the XdndAware set, as XDnD protocol + prescribes to check the proxy window for XdndAware. */ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(newProxy, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -219,7 +219,7 @@ + Native.putLong(data, 0, newProxy); + + /* The proxy window must have the XdndProxy set to point to itself.*/ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(newProxy, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -232,7 +232,7 @@ + + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -245,7 +245,7 @@ + + Native.putLong(data, 0, newProxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -278,7 +278,7 @@ + try { + Native.putLong(data, 0, entry.getVersion()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -291,7 +291,7 @@ + + Native.putLong(data, 0, (int)entry.getProxy()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -329,7 +329,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -348,7 +348,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -366,7 +366,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -382,7 +382,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); From ahughes at redhat.com Fri Jul 16 09:16:14 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Fri, 16 Jul 2010 17:16:14 +0100 Subject: RFE: Inclusion of correct permission resolution patch in IcedTea In-Reply-To: <20100716161220.GB6221@redhat.com> References: <20100716161220.GB6221@redhat.com> Message-ID: On 16 July 2010 17:12, Deepak Bhole wrote: > Hi, > > Currently, there is a permission resolution problem in OpenJDK that > prevents it from resolving policies as per spec. The bug and the > necessary patch are here: > > https://bugs.openjdk.java.net/show_bug.cgi?id=100142 > > Is it okay to commit this into IcedTea until the fix reaches upstream? > > Patch attached for convenience. > > Thanks, > Deepak > As it's a regression from the proprietary JDK's behaviour and the spec., I agree that this should be applied. Please add it to HEAD, and backport it to the 1.6 & 1.7 branches. doko, do you want this for 1.8 too? Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Fri Jul 16 09:24:15 2010 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 16 Jul 2010 18:24:15 +0200 Subject: RFE: Inclusion of correct permission resolution patch in IcedTea In-Reply-To: References: <20100716161220.GB6221@redhat.com> Message-ID: <4C4087AF.2030304@ubuntu.com> On 16.07.2010 18:16, Andrew John Hughes wrote: > On 16 July 2010 17:12, Deepak Bhole wrote: >> Hi, >> >> Currently, there is a permission resolution problem in OpenJDK that >> prevents it from resolving policies as per spec. The bug and the >> necessary patch are here: >> >> https://bugs.openjdk.java.net/show_bug.cgi?id=100142 >> >> Is it okay to commit this into IcedTea until the fix reaches upstream? >> >> Patch attached for convenience. >> >> Thanks, >> Deepak >> > > As it's a regression from the proprietary JDK's behaviour and the > spec., I agree that this should be applied. Please add it to HEAD, > and backport it to the 1.6& 1.7 branches. > > doko, do you want this for 1.8 too? yes, if it's already in 1.7 and icedtea6. I'm just trying to avoid extensive backports to the build system in the branch (1.6 didn't build anymore for configurations used by me). Matthias From andrew at icedtea.classpath.org Fri Jul 16 09:25:52 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 16 Jul 2010 16:25:52 +0000 Subject: /hg/release/icedtea6-1.6: 3 new changesets Message-ID: changeset 64567ce4112b in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=64567ce4112b author: Andrew John Hughes date: Fri Jul 16 17:22:19 2010 +0100 Fix issues found when building on Gentoo/ppc64 with 32-bit userland and --enable-cacao. 2010-07-16 Andrew John Hughes * acinclude.m4: (IT_SET_ARCH_DIRS): Check for LINUX32 here as this is the macro that needs it. (FIND_ECJ_JAR): Check for /usr/share/eclipse-ecj/ecj.jar, as this is used by the bootstrap ecj-gcj package on Gentoo. (ENABLE_ZERO_BUILD): Add requirement on CACAO check. (IT_CHECK_ENABLE_CACAO): Renamed from AC_CHECK_ENABLE_CACAO, as this is not an autoconf macro but an IcedTea one. * configure.ac: Remove search for LINUX32 (moved to IT_SET_ARCH_DIRS). Fix name of CACAO macro (see above). changeset caa873752fc9 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=caa873752fc9 author: Deepak Bhole date: Fri Jul 16 17:25:03 2010 +0100 Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. changeset bcdcc12c519e in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=bcdcc12c519e author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. diffstat: 6 files changed, 1276 insertions(+), 5 deletions(-) ChangeLog | 25 Makefile.am | 3 acinclude.m4 | 7 configure.ac | 3 patches/openjdk/6678385.patch | 1241 +++++++++++++++++++++++++++++++++++++++++ tapset/hotspot.stp.in | 2 diffs (truncated from 1359 to 500 lines): diff -r c3605faebe92 -r bcdcc12c519e ChangeLog --- a/ChangeLog Wed Jun 02 16:59:01 2010 +0100 +++ b/ChangeLog Tue Jul 13 11:46:10 2010 +0200 @@ -1,3 +1,28 @@ 2009-12-22 Andrew John Hughes + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + +2010-07-15 Deepak Bhole + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is + resized. + +2010-07-16 Andrew John Hughes + + * acinclude.m4: + (IT_SET_ARCH_DIRS): Check for LINUX32 here + as this is the macro that needs it. + (FIND_ECJ_JAR): Check for /usr/share/eclipse-ecj/ecj.jar, + as this is used by the bootstrap ecj-gcj package on Gentoo. + (ENABLE_ZERO_BUILD): Add requirement on CACAO check. + (IT_CHECK_ENABLE_CACAO): Renamed from AC_CHECK_ENABLE_CACAO, + as this is not an autoconf macro but an IcedTea one. + * configure.ac: + Remove search for LINUX32 (moved to IT_SET_ARCH_DIRS). + Fix name of CACAO macro (see above). + 2009-12-22 Andrew John Hughes Backport --with-tzdata-dir option from IcedTea6. diff -r c3605faebe92 -r bcdcc12c519e Makefile.am --- a/Makefile.am Wed Jun 02 16:59:01 2010 +0100 +++ b/Makefile.am Tue Jul 13 11:46:10 2010 +0200 @@ -668,7 +668,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-fortify-source.patch \ patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \ - patches/icedtea-use-system-tzdata.patch + patches/icedtea-use-system-tzdata.patch \ + patches/openjdk/6678385.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r c3605faebe92 -r bcdcc12c519e acinclude.m4 --- a/acinclude.m4 Wed Jun 02 16:59:01 2010 +0100 +++ b/acinclude.m4 Tue Jul 13 11:46:10 2010 +0200 @@ -1,5 +1,6 @@ AC_DEFUN_ONCE([IT_SET_ARCH_DIRS], AC_DEFUN_ONCE([IT_SET_ARCH_DIRS], [ + AC_PATH_TOOL([LINUX32],[linux32]) case "${host}" in x86_64-*-*) BUILD_ARCH_DIR=amd64 @@ -257,6 +258,9 @@ AC_DEFUN([FIND_ECJ_JAR], AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/java/ecj.jar"; then ECJ_JAR=/usr/share/java/ecj.jar + AC_MSG_RESULT(${ECJ_JAR}) + elif test -e "/usr/share/eclipse-ecj/ecj.jar"; then + ECJ_JAR=/usr/share/eclipse-ecj/ecj.jar AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/eclipse-ecj-3.3/lib/ecj.jar"; then ECJ_JAR=/usr/share/eclipse-ecj-3.3/lib/ecj.jar @@ -680,6 +684,7 @@ AC_DEFUN_ONCE([ENABLE_ZERO_BUILD], [ AC_REQUIRE([SET_SHARK_BUILD]) AC_REQUIRE([IT_SET_ARCH_DIRS]) + AC_REQUIRE([IT_CHECK_ENABLE_CACAO]) AC_MSG_CHECKING(whether to use the zero-assembler port) use_zero=no AC_ARG_ENABLE([zero], @@ -798,7 +803,7 @@ AC_DEFUN_ONCE([SET_SHARK_BUILD], AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes) ]) -AC_DEFUN([AC_CHECK_ENABLE_CACAO], +AC_DEFUN([IT_CHECK_ENABLE_CACAO], [ AC_MSG_CHECKING(whether to use CACAO as VM) AC_ARG_ENABLE([cacao], diff -r c3605faebe92 -r bcdcc12c519e configure.ac --- a/configure.ac Wed Jun 02 16:59:01 2010 +0100 +++ b/configure.ac Tue Jul 13 11:46:10 2010 +0200 @@ -44,7 +44,6 @@ AC_PATH_TOOL([LSB_RELEASE],[lsb_release] AC_PATH_TOOL([LSB_RELEASE],[lsb_release]) AC_CHECK_WITH_GCJ AC_CHECK_WITH_HOTSPOT_BUILD -AC_PATH_TOOL([LINUX32],[linux32]) AC_CHECK_GCC_VERSION AC_CHECK_FOR_OPENJDK @@ -240,7 +239,7 @@ WITH_HOTSPOT_SRC_ZIP WITH_HOTSPOT_SRC_ZIP WITH_OPENJDK_SRC_DIR WITH_ALT_JAR_BINARY -AC_CHECK_ENABLE_CACAO +IT_CHECK_ENABLE_CACAO AC_CHECK_WITH_CACAO_HOME AC_CHECK_WITH_CACAO_SRC_ZIP ENABLE_OPTIMIZATIONS diff -r c3605faebe92 -r bcdcc12c519e patches/openjdk/6678385.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6678385.patch Tue Jul 13 11:46:10 2010 +0200 @@ -0,0 +1,1241 @@ +# HG changeset patch +# User art +# Date 1242387635 -14400 +# Node ID f62f7fcc9965cd0b110f07b4cd42c419f77717c1 +# Parent b28b073e72b625a4d8b6e71010a2968b5fc85124 +6678385: Random java.lang.StackOverflowError from various JDKs +Reviewed-by: stayer + +IcedTea6 note: This patch (upstream bz#6678385) fixes rhbz# 551835. + +diff -uNr openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers +--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:21.755105655 -0400 ++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:42.630981569 -0400 +@@ -125,6 +125,7 @@ + Java_sun_awt_X11_XlibWrapper_SetToolkitErrorHandler; + Java_sun_awt_X11_XlibWrapper_XSetErrorHandler; + Java_sun_awt_X11_XlibWrapper_CallErrorHandler; ++ Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent; + Java_sun_awt_X11_XlibWrapper_XInternAtoms; + Java_sun_awt_X11_XlibWrapper_XChangeWindowAttributes; + Java_sun_awt_X11_XlibWrapper_XDeleteProperty; +@@ -269,7 +270,6 @@ + Java_sun_awt_X11_XToolkit_getDefaultXColormap; + Java_sun_awt_X11_XToolkit_getDefaultScreenData; + Java_sun_awt_X11_XToolkit_getEnv; +- Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler; + Java_sun_awt_X11_XlibWrapper_XCreateBitmapFromData; + Java_sun_awt_X11_XlibWrapper_XFreePixmap; + Java_sun_awt_X11_XlibWrapper_XAllocColor; +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:42.631981678 -0400 +@@ -119,7 +119,7 @@ + false, + XlibWrapper.AnyPropertyType); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg.getData() != 0 && +@@ -189,7 +189,7 @@ + try { + Native.putLong(data, motifWindow); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + defaultRootWindow, + XA_MOTIF_DRAG_WINDOW.getAtom(), +@@ -276,7 +276,7 @@ + false, + XA_MOTIF_DRAG_TARGETS.getAtom()); + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success + || wpg.getActualType() != XA_MOTIF_DRAG_TARGETS.getAtom() +@@ -390,7 +390,7 @@ + } + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -406,7 +406,7 @@ + // Create a new motif window and retry. + motifWindow = createMotifWindow(); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), + motifWindow, + XA_MOTIF_DRAG_TARGETS.getAtom(), +@@ -530,7 +530,7 @@ + // CARD32 icc_handle + unsafe.putInt(structData + 4, (int)XA_MOTIF_ATOM_0.getAtom()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_ATOM_0.getAtom(), + XA_MOTIF_DRAG_INITIATOR_INFO.getAtom(), +@@ -563,7 +563,7 @@ + unsafe.putShort(data + 10, (short)0); /* pad */ + unsafe.putInt(data + 12, dataSize); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window, + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:21.905105617 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:42.633981353 -0400 +@@ -184,7 +184,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:21.904105558 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:42.636014780 -0400 +@@ -102,7 +102,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -162,7 +162,7 @@ + unsafe.putInt(data + 12, dataSize); + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -204,7 +204,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -236,7 +236,7 @@ + + unsafe.putInt(data + 4, tproxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder, + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), + MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(), +@@ -276,7 +276,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + /* + * DragICCI.h: +@@ -325,7 +325,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == (int)XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() != 0 && wpg.getActualFormat() == 8 && +@@ -375,7 +375,7 @@ + MotifDnDConstants.XA_MOTIF_DRAG_INITIATOR_INFO.getAtom()); + + try { +- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && wpg.getData() != 0 && + wpg.getActualType() == +@@ -412,7 +412,7 @@ + */ + XWindowAttributes wattr = new XWindowAttributes(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), + source_win, wattr.pData); + +@@ -429,7 +429,7 @@ + wattr.dispose(); + } + +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win, + source_win_mask | + XlibWrapper.StructureNotifyMask); +@@ -1020,7 +1020,7 @@ + if (sourceWindow != 0) { + XToolkit.awtLock(); + try { +- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow, + sourceWindowMask); + XToolkit.RESTORE_XERROR_HANDLER(); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:21.900105578 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:42.637046074 -0400 +@@ -75,7 +75,7 @@ + public int execute() { + return execute(null); + } +- public int execute(XToolkit.XErrorHandler errorHandler) { ++ public int execute(XErrorHandler errorHandler) { + + XToolkit.awtLock(); + try { +@@ -94,7 +94,7 @@ + + // Fix for performance problem - IgnodeBadWindowHandler is + // used too much without reason, just ignore it +- if (errorHandler == XToolkit.IgnoreBadWindowHandler) { ++ if (errorHandler instanceof XErrorHandler.IgnoreBadWindowHandler) { + errorHandler = null; + } + +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:21.896105637 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:42.637981716 -0400 +@@ -122,7 +122,7 @@ + new WindowPropertyGetter(owner, xSettingsPropertyAtom, 0, MAX_LENGTH, + false, xSettingsPropertyAtom.getAtom() ); + try { +- int status = getter.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || getter.getData() == 0) { + if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status ); +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400 +@@ -1155,7 +1155,8 @@ + } + + boolean isOverrideRedirect() { +- return false; ++// return false; ++ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); + } + + public boolean requestWindowFocus(long time, boolean timeProvided) { +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400 +@@ -96,7 +96,7 @@ + action_count++; + } + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndActionList.setAtomData(window, + XAtom.XA_ATOM, + data, action_count); +@@ -117,7 +117,7 @@ + try { + Native.put(data, formats); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndTypeList.setAtomData(window, + XAtom.XA_ATOM, + data, formats.length); +@@ -195,7 +195,7 @@ + new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1, + false, XlibWrapper.AnyPropertyType); + +- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -215,7 +215,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -233,7 +233,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -249,7 +249,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:21.903105589 -0400 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:42.645236553 -0400 +@@ -88,7 +88,7 @@ + try { + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); + +@@ -122,7 +122,7 @@ + false, XlibWrapper.AnyPropertyType); + + try { +- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) { +@@ -141,7 +141,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status == XlibWrapper.Success && + wpg2.getData() != 0 && +@@ -159,7 +159,7 @@ + 0, 1, false, XAtom.XA_WINDOW); + + try { +- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg3.getData() == 0 || +@@ -175,7 +175,7 @@ + XlibWrapper.AnyPropertyType); + + try { +- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler); ++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance()); + + if (status != XlibWrapper.Success || + wpg4.getData() == 0 || +@@ -205,7 +205,7 @@ + + /* The proxy window must have the XdndAware set, as XDnD protocol + prescribes to check the proxy window for XdndAware. */ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(newProxy, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -219,7 +219,7 @@ + Native.putLong(data, 0, newProxy); + + /* The proxy window must have the XdndProxy set to point to itself.*/ +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(newProxy, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -232,7 +232,7 @@ + + Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -245,7 +245,7 @@ + + Native.putLong(data, 0, newProxy); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW, + data, 1); + XToolkit.RESTORE_XERROR_HANDLER(); +@@ -278,7 +278,7 @@ + try { + Native.putLong(data, 0, entry.getVersion()); + +- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler); ++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance()); + XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM, From ahughes at redhat.com Fri Jul 16 09:28:45 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Fri, 16 Jul 2010 17:28:45 +0100 Subject: RFE: Inclusion of correct permission resolution patch in IcedTea In-Reply-To: <4C4087AF.2030304@ubuntu.com> References: <20100716161220.GB6221@redhat.com> <4C4087AF.2030304@ubuntu.com> Message-ID: On 16 July 2010 17:24, Matthias Klose wrote: > On 16.07.2010 18:16, Andrew John Hughes wrote: >> >> On 16 July 2010 17:12, Deepak Bhole ?wrote: >>> >>> Hi, >>> >>> Currently, there is a permission resolution problem in OpenJDK that >>> prevents it from resolving policies as per spec. The bug and the >>> necessary patch are here: >>> >>> https://bugs.openjdk.java.net/show_bug.cgi?id=100142 >>> >>> Is it okay to commit this into IcedTea until the fix reaches upstream? >>> >>> Patch attached for convenience. >>> >>> Thanks, >>> Deepak >>> >> >> As it's a regression from the proprietary JDK's behaviour and the >> spec., I agree that this should be applied. ?Please add it to HEAD, >> and backport it to the 1.6& ?1.7 branches. >> >> doko, do you want this for 1.8 too? > > yes, if it's already in 1.7 and icedtea6. I'm just trying to avoid extensive > backports to the build system in the branch (1.6 didn't build anymore for > configurations used by me). > > ?Matthias > I agree; that's why I was wary about backporting the change to the plugin build. I don't recall any 'extensive backports' to 1.6, only changes to keep the branch building. If there is a particular issue, let me know what it is then I can look into it. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Fri Jul 16 09:38:32 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Fri, 16 Jul 2010 17:38:32 +0100 Subject: Imminent Releases Message-ID: New releases from the 1.6 branch (1.6.3), 1.7 branch (1.7.4) and IcedTea7 (1.12) will take place this coming Wednesday, the 21st, except in the event of a serious issue being discovered. 1.6 and IcedTea7 especially are in bitter need of an update. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Fri Jul 16 09:41:45 2010 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 16 Jul 2010 18:41:45 +0200 Subject: Imminent Releases In-Reply-To: References: Message-ID: <4C408BC9.90103@ubuntu.com> On 16.07.2010 18:38, Andrew John Hughes wrote: > New releases from the 1.6 branch (1.6.3), 1.7 branch (1.7.4) and > IcedTea7 (1.12) will take place this coming Wednesday, the 21st, > except in the event of a serious issue being discovered. > > 1.6 and IcedTea7 especially are in bitter need of an update. Same for 1.8. Preliminary testing shows that it builds on all Debian and Ubuntu architectures, except for mips [1] where ecj/gcj fails to build with a bus error, and an old openjdk-6 build is not good enough to build itself. the mipsel build did succeed. Matthias [1] https://buildd.debian.org/fetch.cgi?pkg=openjdk-6;ver=6b18-1.8-4;arch=mips;stamp=1279194834 From andrew at icedtea.classpath.org Fri Jul 16 12:00:19 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 16 Jul 2010 19:00:19 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset 99972c76b4ef in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=99972c76b4ef author: Andrew John Hughes date: Fri Jul 16 19:54:08 2010 +0100 Make variable naming clearer and increase usage to avoid errors. 2010-07-16 Andrew John Hughes Make variable naming clearer. Replace bootstrap/boot, bootstrap/icedtea, bootstrap/jdk1.6.0 and $(PLUGIN_SRCDIR)/java throughout with variable equivalents. * Makefile.am: (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. (RUNTIME): Renamed from ICEDTEA_RT. (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. (CLS_DIR_BOOT): Renamed from ICEDTEA_CLS_DIR_BOOT. (STAGE1_BOOT_DIR): Shortcut for bootstrap/boot. (STAGE2_BOOT_DIR): Shortcut for bootstrap/icedtea. (LIVECONNECT_DIR): Match ordering used by IcedTea6. (LIVECONNECT_SRCS): Added from IcedTea6. (clean-bootstrap-directory-stage1): Delete produce before stamp, in case of failure. (clean-bootstrap-directory-stage2): Likewise. (clean-bootstrap-directory-symlink-stage1): Likewise. changeset a7b8e4ae90c0 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a7b8e4ae90c0 author: Andrew John Hughes date: Fri Jul 16 19:59:59 2010 +0100 Always check for existence before using rmdir. Give the PulseAudio build directory a different name from the source directory. 2010-07-16 Andrew John Hughes * Makefile.am: (clean-IcedTeaPlugin): Always check for existence before using rmdir. (clean-pulse- java): Likewise. 2010-07-06 Andrew John Hughes * Makefile.am: (PULSE_JAVA_BUILDDIR): Use a different name from the source directory to avoid confusion. diffstat: 2 files changed, 131 insertions(+), 92 deletions(-) ChangeLog | 32 +++++++++ Makefile.am | 191 ++++++++++++++++++++++++++++++----------------------------- diffs (truncated from 532 to 500 lines): diff -r 0f9a93d2866d -r a7b8e4ae90c0 ChangeLog --- a/ChangeLog Tue Jul 13 11:46:10 2010 +0200 +++ b/ChangeLog Fri Jul 16 19:59:59 2010 +0100 @@ -1,3 +1,35 @@ 2010-07-13 Mark Wielaard + + * Makefile.am: + (clean-IcedTeaPlugin): Always check for existence + before using rmdir. + (clean-pulse-java): Likewise. + +2010-07-06 Andrew John Hughes + + * Makefile.am: + (PULSE_JAVA_BUILDDIR): Use a different name from + the source directory to avoid confusion. + +2010-07-16 Andrew John Hughes + + Make variable naming clearer. Replace bootstrap/boot, + bootstrap/icedtea, bootstrap/jdk1.6.0 and $(PLUGIN_SRCDIR)/java + throughout with variable equivalents. + * Makefile.am: + (BOOT_DIR): Renamed from ICEDTEA_BOOT_DIR. + (RUNTIME): Renamed from ICEDTEA_RT. + (ENDORSED_DIR): Renamed from ICEDTEA_ENDORSED_DIR. + (CLS_DIR_BOOT): Renamed from ICEDTEA_CLS_DIR_BOOT. + (STAGE1_BOOT_DIR): Shortcut for bootstrap/boot. + (STAGE2_BOOT_DIR): Shortcut for bootstrap/icedtea. + (LIVECONNECT_DIR): Match ordering used by IcedTea6. + (LIVECONNECT_SRCS): Added from IcedTea6. + (clean-bootstrap-directory-stage1): Delete produce before stamp, + in case of failure. + (clean-bootstrap-directory-stage2): Likewise. + (clean-bootstrap-directory-symlink-stage1): Likewise. + 2010-07-13 Mark Wielaard Reported by William Cohen diff -r 0f9a93d2866d -r a7b8e4ae90c0 Makefile.am --- a/Makefile.am Tue Jul 13 11:46:10 2010 +0200 +++ b/Makefile.am Fri Jul 16 19:59:59 2010 +0100 @@ -55,17 +55,19 @@ BUILD_OUTPUT_DIR = $(abs_top_builddir)/$ BUILD_OUTPUT_DIR = $(abs_top_builddir)/$(BUILD_DIR) DEBUG_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-debug BOOT_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-boot -ICEDTEA_BOOT_DIR= $(abs_top_builddir)/bootstrap/jdk1.6.0 -ICEDTEA_RT = $(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar +BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar NETX_CLASSES = $(abs_top_builddir)/netx.build NETX_JAR = $(NETX_CLASSES)/lib/classes.jar NETX_SRC = $(NETX_CLASSES)/lib/src.zip -ICEDTEA_ENDORSED_DIR = $(ICEDTEA_BOOT_DIR)/lib/endorsed -ICEDTEA_CLS_DIR_BOOT = $(BOOT_BUILD_OUTPUT_DIR)/classes +ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed +CLS_DIR_BOOT = $(BOOT_BUILD_OUTPUT_DIR)/classes SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) BUILD_DEBUG_JRE_ARCH_DIR = $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) REWRITER_BUILD_DIR = $(abs_top_builddir)/rewriter.build +STAGE1_BOOT_DIR = $(abs_top_builddir)/bootstrap/boot +STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea # Source directories @@ -180,7 +182,8 @@ PLUGIN_BUILD_DIR=$(abs_top_builddir)/plu PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin.build/icedteanp ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin.stamp ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -LIVECONNECT_DIR = sun/applet netscape +LIVECONNECT_DIR = netscape sun/applet +LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java JNLP_ABOUT_TARGET = extra-lib/about.jar LIVECONNECT_CLASSES = $(abs_top_builddir)/liveconnect LIVECONNECT_JAR = $(LIVECONNECT_CLASSES)/lib/classes.jar @@ -192,7 +195,7 @@ PULSE_JAVA_DIR = $(abs_top_srcdir)/pulse PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio +PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native PULSE_JAVA_NATIVE_OBJECTS = \ $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) @@ -221,7 +224,7 @@ endif if BOOTSTRAPPING BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory-stage2.stamp - ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea + ICEDTEA_HOME = $(STAGE2_BOOT_DIR) INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-stage1.stamp else BOOTSTRAP_DIRECTORY_STAMP = @@ -470,19 +473,19 @@ PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKA PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ - ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ + ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.7.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ LANG="C" \ - PATH="$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$(OS_PATH):$$PATH" \ - ALT_BOOTDIR="$(ICEDTEA_BOOT_DIR)" \ + PATH="$(BOOT_DIR)/bin:$(OS_PATH):$$PATH" \ + ALT_BOOTDIR="$(BOOT_DIR)" \ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \ - ICEDTEA_RT="$(ICEDTEA_RT)" \ - ICEDTEA_ENDORSED_DIR="$(ICEDTEA_ENDORSED_DIR)" \ - ENDORSED="-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ + ICEDTEA_RT="$(RUNTIME)" \ + ICEDTEA_ENDORSED_DIR="$(ENDORSED_DIR)" \ + ENDORSED="-Djava.endorsed.dirs=$(ENDORSED_DIR)" \ CLASSPATH="" \ LD_LIBRARY_PATH="" \ ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \ @@ -550,9 +553,9 @@ endif # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ - BOOTCLASSPATH_CLS_RT="-bootclasspath $(ICEDTEA_CLS_DIR_BOOT):$(ICEDTEA_RT)" \ - BOOTCLASSPATH_CLS="-bootclasspath $(ICEDTEA_CLS_DIR_BOOT)" \ - BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(ICEDTEA_RT)" \ + BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ + BOOTCLASSPATH_CLS="-bootclasspath $(CLS_DIR_BOOT)" \ + BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(RUNTIME)" \ GENSRCDIR="$(abs_top_builddir)/generated.build" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ @@ -746,7 +749,7 @@ EXTRA_DIST = $(GENERATED_FILES) $(top_sr all-local: icedtea-stage2 -check-local: jtregcheck +#check-local: jtregcheck clean-local: clean-jtreg clean-jtreg-reports clean-pulse-java \ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ @@ -1659,76 +1662,76 @@ clean-native-ecj: # bootstrap/stage1 stamps/bootstrap-directory-stage1.stamp: stamps/native-ecj.stamp - mkdir -p bootstrap/boot/bin stamps/ - ln -sf $(JAVA) bootstrap/boot/bin/java - ln -sf $(JAVAH) bootstrap/boot/bin/javah - ln -sf $(RMIC) bootstrap/boot/bin/rmic - ln -sf $(JAR) bootstrap/boot/bin/jar - ln -sf ../../../javac bootstrap/boot/bin/javac - ln -sf ../../../javap bootstrap/boot/bin/javap - mkdir -p bootstrap/boot/lib/endorsed && \ - ln -sf $(XALAN2_JAR) bootstrap/boot/lib/endorsed/xalan-j2.jar && \ + mkdir -p $(STAGE1_BOOT_DIR)/bin stamps/ + ln -sf $(JAVA) $(STAGE1_BOOT_DIR)/bin/java + ln -sf $(JAVAH) $(STAGE1_BOOT_DIR)/bin/javah + ln -sf $(RMIC) $(STAGE1_BOOT_DIR)/bin/rmic + ln -sf $(JAR) $(STAGE1_BOOT_DIR)/bin/jar + ln -sf ../../../javac $(STAGE1_BOOT_DIR)/bin/javac + ln -sf ../../../javap $(STAGE1_BOOT_DIR)/bin/javap + mkdir -p $(STAGE1_BOOT_DIR)/lib/endorsed && \ + ln -sf $(XALAN2_JAR) $(STAGE1_BOOT_DIR)/lib/endorsed/xalan-j2.jar && \ ln -sf $(XALAN2_SERIALIZER_JAR) \ - bootstrap/boot/lib/endorsed/xalan-j2-serializer.jar && \ - ln -sf $(XERCES2_JAR) bootstrap/boot/lib/endorsed/xerces-j2.jar - mkdir -p bootstrap/boot/jre/lib && \ + $(STAGE1_BOOT_DIR)/lib/endorsed/xalan-j2-serializer.jar && \ + ln -sf $(XERCES2_JAR) $(STAGE1_BOOT_DIR)/lib/endorsed/xerces-j2.jar + mkdir -p $(STAGE1_BOOT_DIR)/jre/lib && \ cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - bootstrap/boot/jre/lib/rt.jar && \ - chmod u+w bootstrap/boot/jre/lib/rt.jar && \ + $(STAGE1_BOOT_DIR)/jre/lib/rt.jar && \ + chmod u+w $(STAGE1_BOOT_DIR)/jre/lib/rt.jar && \ ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ - bootstrap/boot/jre/lib/ && \ - if ! test -d bootstrap/boot/jre/lib/$(INSTALL_ARCH_DIR); \ + $(STAGE1_BOOT_DIR)/jre/lib/ && \ + if ! test -d $(STAGE1_BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ then \ ln -sf ./$(JRE_ARCH_DIR) \ - bootstrap/boot/jre/lib/$(INSTALL_ARCH_DIR); \ + $(STAGE1_BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ fi - mkdir -p bootstrap/boot/include && \ + mkdir -p $(STAGE1_BOOT_DIR)/include && \ for i in $(SYSTEM_JDK_DIR)/include/*; do \ test -r $$i | continue; \ i=`basename $$i`; \ - rm -f bootstrap/boot/include/$$i; \ - ln -s $(SYSTEM_JDK_DIR)/include/$$i bootstrap/boot/include/$$i; \ + rm -f $(STAGE1_BOOT_DIR)/include/$$i; \ + ln -s $(SYSTEM_JDK_DIR)/include/$$i $(STAGE1_BOOT_DIR)/include/$$i; \ done; mkdir -p stamps touch $@ clean-bootstrap-directory-stage1: + rm -rf $(STAGE1_BOOT_DIR) rm -f stamps/bootstrap-directory-stage1.stamp - rm -rf bootstrap/boot # bootstrap/stage2. stamps/bootstrap-directory-stage2.stamp: stamps/icedtea-stage1.stamp - rm -rf bootstrap/icedtea - ln -s $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/ bootstrap/icedtea - if ! test -d bootstrap/icedtea/include; then \ - ln -sf $(BOOT_BUILD_OUTPUT_DIR)/include bootstrap/icedtea/include; \ + rm -rf $(STAGE2_BOOT_DIR) + ln -s $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/ $(STAGE2_BOOT_DIR) + if ! test -d $(STAGE2_BOOT_DIR)/include; then \ + ln -sf $(BOOT_BUILD_OUTPUT_DIR)/include $(STAGE2_BOOT_DIR)/include; \ fi mkdir -p stamps touch $@ clean-bootstrap-directory-stage2: + rm -rf $(STAGE2_BOOT_DIR) rm -f stamps/bootstrap-directory-stage2.stamp - rm -rf bootstrap/icedtea # stage 1 symlink. stamps/bootstrap-directory-symlink-stage1.stamp: stamps/bootstrap-directory-stage1.stamp - rm -f bootstrap/jdk1.6.0 - ln -sf boot bootstrap/jdk1.6.0 + rm -f $(BOOT_DIR) + ln -sf $(STAGE1_BOOT_DIR) $(BOOT_DIR) mkdir -p stamps touch $@ clean-bootstrap-directory-symlink-stage1: + rm -f $(BOOT_DIR) rm -f stamps/bootstrap-directory-symlink-stage1.stamp - rm -f bootstrap/jdk1.6.0 # stage 2 symlink. stamps/bootstrap-directory-symlink-stage2.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) mkdir -p bootstrap - rm -f bootstrap/jdk1.6.0 - ln -sf $(ICEDTEA_HOME) bootstrap/jdk1.6.0; \ - if ! bootstrap/jdk1.6.0/bin/java -version ; \ + rm -f $(BOOT_DIR) + ln -sf $(ICEDTEA_HOME) $(BOOT_DIR); \ + if ! $(BOOT_DIR)/bin/java -version ; \ then \ - echo "bootstrap/jdk1.6.0/bin/java" \ + echo "$(BOOT_DIR)/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi @@ -1736,8 +1739,8 @@ stamps/bootstrap-directory-symlink-stage touch $@ clean-bootstrap-directory-symlink-stage2: + rm -f $(BOOT_DIR) rm -f stamps/bootstrap-directory-symlink-stage2.stamp - rm -f bootstrap/jdk1.6.0 # OpenJDK Targets # =============== @@ -2000,8 +2003,12 @@ clean-IcedTeaPlugin: clean-IcedTeaPlugin: rm -f $(addprefix $(PLUGIN_BUILD_DIR)/,$(PLUGIN_OBJECTS)) rm -f $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so - rmdir $(PLUGIN_BUILD_DIR) - rmdir plugin.build + if [ -e $(PLUGIN_BUILD_DIR) ] ; then \ + rmdir $(PLUGIN_BUILD_DIR) ; \ + fi + if [ -e plugin.build ] ; then \ + rmdir plugin.build ; \ + fi rm -f stamps/icedtea-npplugin.stamp endif @@ -2014,16 +2021,16 @@ clean-plugin: $(ICEDTEAPLUGIN_CLEAN) liveconnect-source-files.txt: if test "x${LIVECONNECT_DIR}" != x; then \ - find $(PLUGIN_SRCDIR)/java -name '*.java' | sort > $@ ; \ + find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \ fi touch $@ stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp if test "x${LIVECONNECT_DIR}" != x; then \ mkdir -p $(LIVECONNECT_CLASSES) && \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(LIVECONNECT_CLASSES) \ - -classpath $(ICEDTEA_RT):$(NETX_CLASSES) \ + -classpath $(RUNTIME):$(NETX_CLASSES) \ -sourcepath $(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @liveconnect-source-files.txt ; \ @@ -2035,8 +2042,8 @@ stamps/liveconnect-dist.stamp: stamps/li if test "x${LIVECONNECT_DIR}" != x; then \ (cd $(LIVECONNECT_CLASSES) ; \ mkdir -p lib ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf $(LIVECONNECT_JAR) $(LIVECONNECT_DIR) ; \ - cp -pPR $(SRC_DIR_LINK) $(PLUGIN_SRCDIR)/java src; \ + $(BOOT_DIR)/bin/jar cf $(LIVECONNECT_JAR) $(LIVECONNECT_DIR) ; \ + cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ $(ZIP) -qr $(LIVECONNECT_SRC) ${LIVECONNECT_DIR} ) ; \ @@ -2059,9 +2066,9 @@ netx-source-files.txt: stamps/netx.stamp: netx-source-files.txt stamps/rt.stamp mkdir -p $(NETX_CLASSES) - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(NETX_CLASSES) \ - -classpath $(ICEDTEA_RT) \ + -classpath $(RUNTIME) \ -sourcepath $(top_srcdir)/$(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @netx-source-files.txt ; @@ -2073,11 +2080,11 @@ stamps/netx-dist.stamp: stamps/netx.stam stamps/netx-dist.stamp: stamps/netx.stamp (cd $(NETX_CLASSES) ; \ mkdir -p lib ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf $(NETX_JAR) javax/jnlp net ; \ + $(BOOT_DIR)/bin/jar cf $(NETX_JAR) javax/jnlp net ; \ cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/$(NETX_SRCDIR) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar uf $(NETX_JAR) \ + $(BOOT_DIR)/bin/jar uf $(NETX_JAR) \ `find . -type f -not -name '*.java'` ; \ $(ZIP) -qr $(NETX_SRC) javax net ) mkdir -p stamps @@ -2094,9 +2101,9 @@ extra-source-files.txt: stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp mkdir -p extra-lib - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ -sourcepath $(abs_top_srcdir)/extra \ - -bootclasspath $(ICEDTEA_RT) @extra-source-files.txt + -bootclasspath $(RUNTIME) @extra-source-files.txt cp -r $(NETX_EXTRA_DIR) extra-lib/net/sourceforge/jnlp/about find extra-lib/net/sourceforge/jnlp/about -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';' @@ -2109,7 +2116,7 @@ clean-extra: rm -f extra-source-files.txt extra-lib/about.jar: stamps/extra-class-files.stamp - $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net + $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net # PulseAudio based mixer # (pulse-java) @@ -2122,8 +2129,8 @@ stamps/pulse-java-class.stamp: $(INITIAL stamps/pulse-java-class.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) mkdir -p $(PULSE_JAVA_CLASS_DIR) (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ - -bootclasspath $(ICEDTEA_RT) org/classpath/icedtea/pulseaudio/*.java \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ + -bootclasspath $(RUNTIME) org/classpath/icedtea/pulseaudio/*.java \ ) cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) chmod -R ug+w $(PULSE_JAVA_CLASS_DIR)/META-INF @@ -2131,27 +2138,27 @@ stamps/pulse-java-class.stamp: $(INITIAL touch $@ stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp - $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; + $(BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; mkdir -p stamps touch $@ stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.EventLoop ; - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.Stream - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.Operation - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.PulseAudioSourcePort - $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ + $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ org.classpath.icedtea.pulseaudio.PulseAudioTargetPort mkdir -p stamps touch $@ $(PULSE_JAVA_NATIVE_BUILDDIR)/%.o: $(PULSE_JAVA_NATIVE_SRCDIR)/%.c stamps/pulse-java-headers.stamp - $(CC) $(IT_CFLAGS) -fPIC -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include \ + $(CC) $(IT_CFLAGS) -fPIC -I$(BOOT_DIR)/include/linux -I$(BOOT_DIR)/include \ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $< $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS) @@ -2165,8 +2172,8 @@ if ENABLE_PULSE_JAVA [ -z "$(PULSE_JAVA_NATIVE_BUILDDIR)" ] || rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) [ -z "$(PULSE_JAVA_CLASS_DIR)" ] || rm -rf $(PULSE_JAVA_CLASS_DIR) rm -f pulse-java.jar - if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - rmdir $(abs_top_builddir)/pulseaudio ; \ + if [ -e $(PULSE_JAVA_BUILDDIR) ]; then \ + rmdir $(PULSE_JAVA_BUILDDIR) ; \ fi endif rm -f stamps/pulse-java*.stamp @@ -2178,7 +2185,7 @@ stamps/rewriter.stamp: $(INITIAL_BOOTSTR stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if WITH_RHINO mkdir -p $(REWRITER_BUILD_DIR) - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(REWRITER_BUILD_DIR) $(REWRITER_SRCS) endif mkdir -p stamps @@ -2191,8 +2198,8 @@ stamps/rewrite-rhino.stamp: stamps/rewri stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) if WITH_RHINO mkdir -p rhino/rhino.{old,new} && \ - (cd rhino/rhino.old && $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ - $(ICEDTEA_BOOT_DIR)/bin/java -cp $(REWRITER_BUILD_DIR) \ + (cd rhino/rhino.old && $(BOOT_DIR)/bin/jar xf $(RHINO_JAR)) && \ + $(BOOT_DIR)/bin/java -cp $(REWRITER_BUILD_DIR) \ com.redhat.rewriter.ClassRewriter \ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ org.mozilla sun.org.mozilla && \ @@ -2205,7 +2212,7 @@ if WITH_RHINO done \ ) && \ (cd rhino/rhino.new && \ - $(ICEDTEA_BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) + $(BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) endif mkdir -p stamps touch stamps/rewrite-rhino.stamp @@ -2233,7 +2240,7 @@ if !USE_SYSTEM_CACAO --prefix=$(abs_top_builddir)/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \ - --with-java-runtime-library-classes=$(ICEDTEA_RT) \ + --with-java-runtime-library-classes=$(RUNTIME) \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client @@ -2398,10 +2405,10 @@ if ENABLE_PLUGIN if ENABLE_PLUGIN stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp mkdir -p plugin/tests/LiveConnect - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d plugin/tests/LiveConnect \ -classpath $(LIVECONNECT_JAR) $(PLUGIN_TEST_SRCS) ; - $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ plugin/tests/LiveConnect/*.class ; cp -pPR --reflink-auto $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ plugin/tests/LiveConnect ; @@ -2415,10 +2422,10 @@ stamps/jtreg.stamp: stamps/icedtea-stage stamps/jtreg.stamp: stamps/icedtea-stage2.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes - $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d test/jtreg/classes \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d test/jtreg/classes \ `find $(abs_top_srcdir)/test/jtreg/com -name '*.java'` (cd $(abs_top_srcdir)/test/jtreg; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ + $(BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ META-INF/MANIFEST.MF \ legal README JavaTest.cmdMgrs.lst JavaTest.toolMgrs.lst \ `find com -type f -a -not -name '*.java'` \ @@ -2433,7 +2440,7 @@ clean-jtreg: check-hotspot: stamps/jtreg.stamp mkdir -p test/hotspot/JTwork test/hotspot/JTreport - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/hotspot/JTwork -r:test/hotspot/JTreport \ -jdk:$(BUILD_OUTPUT_DIR)/j2sdk-image \ $(ICEDTEA_JTREG_OPTIONS) \ @@ -2442,7 +2449,7 @@ check-hotspot: stamps/jtreg.stamp check-langtools: stamps/jtreg.stamp mkdir -p test/langtools/JTwork test/langtools/JTreport - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/langtools/JTwork -r:test/langtools/JTreport \ $${ICEDTEA_JTREG_OTHERVM:--samevm} \ -jdk:$(BUILD_OUTPUT_DIR)/j2sdk-image \ @@ -2456,7 +2463,7 @@ if WITH_CACAO if WITH_CACAO CACAO_EXCLUDE="-exclude:$(abs_top_srcdir)/test/jtreg/excludelist.jdk.cacao.jtx" endif - $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ + $(BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ From dbhole at icedtea.classpath.org Fri Jul 16 12:20:41 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 16 Jul 2010 19:20:41 +0000 Subject: /hg/icedtea6: Fix policy evaluation to match the proprietary JDK. Message-ID: changeset b4455c6c313f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b4455c6c313f author: Deepak Bhole date: Fri Jul 16 15:19:55 2010 -0400 Fix policy evaluation to match the proprietary JDK. diffstat: 3 files changed, 41 insertions(+) ChangeLog | 5 ++++ Makefile.am | 1 patches/icedtea-policy-evaluation.patch | 35 +++++++++++++++++++++++++++++++ diffs (62 lines): diff -r 8cdea18e5d0a -r b4455c6c313f ChangeLog --- a/ChangeLog Thu Jul 15 14:17:09 2010 -0400 +++ b/ChangeLog Fri Jul 16 15:19:55 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-15 Deepak Bhole + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for diff -r 8cdea18e5d0a -r b4455c6c313f Makefile.am --- a/Makefile.am Thu Jul 15 14:17:09 2010 -0400 +++ b/Makefile.am Fri Jul 16 15:19:55 2010 -0400 @@ -269,6 +269,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ + patches/icedtea-policy-evaluation.patch \ patches/libpng.patch \ patches/shark.patch \ patches/extensions/netx.patch \ diff -r 8cdea18e5d0a -r b4455c6c313f patches/icedtea-policy-evaluation.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-policy-evaluation.patch Fri Jul 16 15:19:55 2010 -0400 @@ -0,0 +1,35 @@ +# This patch aligns policy evaluation to be the same as the proprietary JDK. +# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009658.html +# https://bugs.openjdk.java.net/show_bug.cgi?id=100142 + +diff -up ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav ./jdk/src/share/classes/sun/security/provider/PolicyFile.java +--- ./openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav 2010-04-20 14:49:13.000000000 -0400 ++++ ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java 2010-04-20 14:50:26.000000000 -0400 +@@ -1799,6 +1799,27 @@ public class PolicyFile extends java.sec + + CodeSource canonCs = cs; + URL u = cs.getLocation(); ++ ++ // If this is a jar protocol url, collapse it to a ++ // file protocol to process it as per the javadocs ++ if (u != null && u.getProtocol().equals("jar")) { ++ try { ++ String fileURL = ""; ++ ++ // remove the initial jar: ++ fileURL = u.getPath(); ++ ++ // remove the part after the ! ++ fileURL = fileURL.substring(0, fileURL.indexOf('!')); ++ ++ u = new URL(fileURL); ++ ++ } catch (Exception e) { ++ // Fail silently. In this case, url stays what it was above ++ } ++ ++ } ++ + if (u != null && u.getProtocol().equals("file")) { + boolean isLocalFile = false; + String host = u.getHost(); From dbhole at icedtea.classpath.org Fri Jul 16 12:22:34 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 16 Jul 2010 19:22:34 +0000 Subject: /hg/release/icedtea6-1.7: Fix policy evaluation to match the pro... Message-ID: changeset 02f558ca98d8 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=02f558ca98d8 author: Deepak Bhole date: Fri Jul 16 15:19:55 2010 -0400 Fix policy evaluation to match the proprietary JDK. diffstat: 3 files changed, 41 insertions(+) ChangeLog | 5 ++++ Makefile.am | 1 patches/icedtea-policy-evaluation.patch | 35 +++++++++++++++++++++++++++++++ diffs (62 lines): diff -r f84adc4b21cf -r 02f558ca98d8 ChangeLog --- a/ChangeLog Fri Jul 16 17:12:55 2010 +0100 +++ b/ChangeLog Fri Jul 16 15:19:55 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-15 Deepak Bhole + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for diff -r f84adc4b21cf -r 02f558ca98d8 Makefile.am --- a/Makefile.am Fri Jul 16 17:12:55 2010 +0100 +++ b/Makefile.am Fri Jul 16 15:19:55 2010 -0400 @@ -308,6 +308,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ + patches/icedtea-policy-evaluation.patch \ patches/libpng.patch \ patches/icedtea-jtreg-httpTest.patch \ patches/security/20100330/hotspot/$(HSBUILD)/6626217.patch \ diff -r f84adc4b21cf -r 02f558ca98d8 patches/icedtea-policy-evaluation.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-policy-evaluation.patch Fri Jul 16 15:19:55 2010 -0400 @@ -0,0 +1,35 @@ +# This patch aligns policy evaluation to be the same as the proprietary JDK. +# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009658.html +# https://bugs.openjdk.java.net/show_bug.cgi?id=100142 + +diff -up ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav ./jdk/src/share/classes/sun/security/provider/PolicyFile.java +--- ./openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav 2010-04-20 14:49:13.000000000 -0400 ++++ ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java 2010-04-20 14:50:26.000000000 -0400 +@@ -1799,6 +1799,27 @@ public class PolicyFile extends java.sec + + CodeSource canonCs = cs; + URL u = cs.getLocation(); ++ ++ // If this is a jar protocol url, collapse it to a ++ // file protocol to process it as per the javadocs ++ if (u != null && u.getProtocol().equals("jar")) { ++ try { ++ String fileURL = ""; ++ ++ // remove the initial jar: ++ fileURL = u.getPath(); ++ ++ // remove the part after the ! ++ fileURL = fileURL.substring(0, fileURL.indexOf('!')); ++ ++ u = new URL(fileURL); ++ ++ } catch (Exception e) { ++ // Fail silently. In this case, url stays what it was above ++ } ++ ++ } ++ + if (u != null && u.getProtocol().equals("file")) { + boolean isLocalFile = false; + String host = u.getHost(); From dbhole at icedtea.classpath.org Fri Jul 16 12:23:24 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 16 Jul 2010 19:23:24 +0000 Subject: /hg/release/icedtea6-1.8: Fix policy evaluation to match the pro... Message-ID: changeset 0e8791bf2170 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=0e8791bf2170 author: Deepak Bhole date: Fri Jul 16 15:19:55 2010 -0400 Fix policy evaluation to match the proprietary JDK. diffstat: 3 files changed, 41 insertions(+) ChangeLog | 5 ++++ Makefile.am | 1 patches/icedtea-policy-evaluation.patch | 35 +++++++++++++++++++++++++++++++ diffs (62 lines): diff -r faa4f2e58846 -r 0e8791bf2170 ChangeLog --- a/ChangeLog Fri Jul 16 17:11:31 2010 +0100 +++ b/ChangeLog Fri Jul 16 15:19:55 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-15 Deepak Bhole + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for diff -r faa4f2e58846 -r 0e8791bf2170 Makefile.am --- a/Makefile.am Fri Jul 16 17:11:31 2010 +0100 +++ b/Makefile.am Fri Jul 16 15:19:55 2010 -0400 @@ -298,6 +298,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ + patches/icedtea-policy-evaluation.patch \ patches/libpng.patch \ patches/extensions/netx.patch \ patches/extensions/netx-dist.patch \ diff -r faa4f2e58846 -r 0e8791bf2170 patches/icedtea-policy-evaluation.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-policy-evaluation.patch Fri Jul 16 15:19:55 2010 -0400 @@ -0,0 +1,35 @@ +# This patch aligns policy evaluation to be the same as the proprietary JDK. +# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009658.html +# https://bugs.openjdk.java.net/show_bug.cgi?id=100142 + +diff -up ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav ./jdk/src/share/classes/sun/security/provider/PolicyFile.java +--- ./openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav 2010-04-20 14:49:13.000000000 -0400 ++++ ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java 2010-04-20 14:50:26.000000000 -0400 +@@ -1799,6 +1799,27 @@ public class PolicyFile extends java.sec + + CodeSource canonCs = cs; + URL u = cs.getLocation(); ++ ++ // If this is a jar protocol url, collapse it to a ++ // file protocol to process it as per the javadocs ++ if (u != null && u.getProtocol().equals("jar")) { ++ try { ++ String fileURL = ""; ++ ++ // remove the initial jar: ++ fileURL = u.getPath(); ++ ++ // remove the part after the ! ++ fileURL = fileURL.substring(0, fileURL.indexOf('!')); ++ ++ u = new URL(fileURL); ++ ++ } catch (Exception e) { ++ // Fail silently. In this case, url stays what it was above ++ } ++ ++ } ++ + if (u != null && u.getProtocol().equals("file")) { + boolean isLocalFile = false; + String host = u.getHost(); From bugzilla-daemon at icedtea.classpath.org Fri Jul 16 12:50:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 16 Jul 2010 19:50:40 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #11 from jon.vanalten at redhat.com 2010-07-16 19:50 ------- Well, my not-incredibly-experienced eyes also do not see anything in bytecode that obviously would be troublesome. But, it seems likely that the problem instead is in what is produced by JIT. Using -XX:-UseCompiler to turn off hot-compiling gets rid of seg fault consistently. So, it seems like the "number of elements" threshold to hitting this bug corresponds to "allowing the compile thread(s) enough time to jit the affected portion". I'm going to try and reduce this to a smaller example to report upstream. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Fri Jul 16 13:40:18 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 16 Jul 2010 16:40:18 -0400 Subject: [RFC] netx: stop using Look and Feel related methods (PR372) In-Reply-To: <4C334BB2.50504@redhat.com> References: <4C334BB2.50504@redhat.com> Message-ID: <20100716204017.GA8193@redhat.com> * Omair Majid [2010-07-06 11:29]: > Hi, > > Netx (incorrectly) uses Look and Feel related hooks and methods to > create the security-related dialogs it shows to the user [1]. While > most of the time it has no consequences, a few JNLP applications > that modify the Look and Feel demonstrate incorrect behaviour [2]. > The attached patch uses the standard Swing methods to create and > display GUIs. It is a somewhat large patch, even though most of it > is fairly mundane - creating JDialogs, setting a JPanel in the > center depending on the type of dialog and then adding the > appropriate controls to the JPanel. I have tried to avoid changing > anything that goes inside the JPanel - it should behave exactly as > before. I have done some testing and it seems to work just as well > as before, but I would appreciate it if others could look it over > and try it out too. > > Cheers, > Omair > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 > [2] https://substance.dev.java.net/webstart/test.jnlp Doh! I thought I went through this one when I approved the rest. A lot of these changes do look mechanical as you stated. I am fine with committing this to head, but please make sure you have THOROUGHLY tested this.. breakages in things like security dialog would make netx/plugin unusable for signed applications, so we need to make sure it works well. Cheers, Deepak > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/AccessWarningPane.java > --- a/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -51,13 +51,11 @@ > import javax.swing.ImageIcon; > import javax.swing.JButton; > import javax.swing.JCheckBox; > -import javax.swing.JComponent; > import javax.swing.JLabel; > import javax.swing.JPanel; > import javax.swing.SwingConstants; > > import net.sourceforge.jnlp.JNLPFile; > -import net.sourceforge.jnlp.runtime.JNLPRuntime; > > /** > * Provides the look and feel for a SecurityWarningDialog. These dialogs are > @@ -67,28 +65,29 @@ > * > * @author Joshua Sumali > */ > -public class AccessWarningPane extends SecurityDialogUI { > +public class AccessWarningPane extends SecurityDialogPanel { > > JCheckBox alwaysAllow; > Object[] extras; > > - public AccessWarningPane(JComponent x, CertVerifier certVerifier) { > + public AccessWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > + addComponents(); > } > + > > - public AccessWarningPane(JComponent x, Object[] extras, CertVerifier certVerifier) { > + public AccessWarningPane(SecurityWarningDialog x, Object[] extras, CertVerifier certVerifier) { > super(x, certVerifier); > this.extras = extras; > + addComponents(); > } > > /** > * Creates the actual GUI components, and adds it to optionPane > */ > - protected void installComponents() { > - SecurityWarningDialog.AccessType type = > - ((SecurityWarningDialog)optionPane).getType(); > - JNLPFile file = > - ((SecurityWarningDialog)optionPane).getFile(); > + private void addComponents() { > + SecurityWarningDialog.AccessType type = parent.getType(); > + JNLPFile file = parent.getFile(); > > String name = ""; > String publisher = ""; > @@ -173,35 +172,22 @@ > > JButton run = new JButton("Allow"); > JButton cancel = new JButton("Cancel"); > - run.addActionListener(createButtonActionListener(0)); > + run.addActionListener(createButtonToSetValueListener(parent,0)); > run.addActionListener(new CheckBoxListener()); > - cancel.addActionListener(createButtonActionListener(1)); > + cancel.addActionListener(createButtonToSetValueListener(parent, 1)); > initialFocusComponent = cancel; > buttonPanel.add(run); > buttonPanel.add(cancel); > buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); > > //all of the above > - JPanel main = new JPanel(); > - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); > - main.add(topPanel); > - main.add(infoPanel); > - main.add(buttonPanel); > + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); > + add(topPanel); > + add(infoPanel); > + add(buttonPanel); > > - optionPane.add(main, BorderLayout.CENTER); > } > > - private static String R(String key) { > - return JNLPRuntime.getMessage(key); > - } > - > - private static String R(String key, Object param) { > - return JNLPRuntime.getMessage(key, new Object[] {param}); > - } > - > - protected String htmlWrap (String s) { > - return ""+s+""; > - } > > private class CheckBoxListener implements ActionListener { > public void actionPerformed(ActionEvent e) { > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/AppletWarningPane.java > --- a/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -46,18 +46,18 @@ > import javax.swing.BorderFactory; > import javax.swing.BoxLayout; > import javax.swing.JButton; > -import javax.swing.JComponent; > import javax.swing.JLabel; > import javax.swing.JPanel; > > > -public class AppletWarningPane extends SecurityDialogUI { > +public class AppletWarningPane extends SecurityDialogPanel { > > - public AppletWarningPane(JComponent x, CertVerifier certVerifier) { > + public AppletWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > + addComponents(); > } > > - protected void installComponents() { > + protected void addComponents() { > > //Top label > String topLabelText = "While support for verifying signed code" + > @@ -95,9 +95,9 @@ > yes.setPreferredSize(d); > no.setPreferredSize(d); > cancel.setPreferredSize(d); > - yes.addActionListener(createButtonActionListener(0)); > - no.addActionListener(createButtonActionListener(1)); > - cancel.addActionListener(createButtonActionListener(2)); > + yes.addActionListener(createButtonToSetValueListener(parent, 0)); > + no.addActionListener(createButtonToSetValueListener(parent, 1)); > + cancel.addActionListener(createButtonToSetValueListener(parent, 2)); > initialFocusComponent = cancel; > buttonPanel.add(yes); > buttonPanel.add(no); > @@ -105,17 +105,12 @@ > buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); > > //all of the above > - JPanel main = new JPanel(); > - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); > - main.add(topPanel); > - main.add(infoPanel); > - main.add(buttonPanel); > + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); > + add(topPanel); > + add(infoPanel); > + add(buttonPanel); > > - optionPane.add(main, BorderLayout.CENTER); > } > > - protected String htmlWrap (String s) { > - return ""+s+""; > - } > } > > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/CertWarningPane.java > --- a/netx/net/sourceforge/jnlp/security/CertWarningPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/CertWarningPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -53,7 +53,6 @@ > import javax.swing.ImageIcon; > import javax.swing.JButton; > import javax.swing.JCheckBox; > -import javax.swing.JComponent; > import javax.swing.JLabel; > import javax.swing.JPanel; > import javax.swing.SwingConstants; > @@ -71,26 +70,24 @@ > * > * @author Joshua Sumali > */ > -public class CertWarningPane extends SecurityDialogUI { > +public class CertWarningPane extends SecurityDialogPanel { > > JCheckBox alwaysTrust; > CertVerifier certVerifier; > > - public CertWarningPane(JComponent x, CertVerifier certVerifier) { > + public CertWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > this.certVerifier = certVerifier; > + addComponents(); > } > > /** > - * Creates the actual GUI components, and adds it to optionPane > + * Creates the actual GUI components, and adds it to the parent > */ > - protected void installComponents() { > - SecurityWarningDialog.AccessType type = > - ((SecurityWarningDialog)optionPane).getType(); > - JNLPFile file = > - ((SecurityWarningDialog)optionPane).getFile(); > - Certificate c = ((SecurityWarningDialog)optionPane) > - .getJarSigner().getPublisher(); > + private void addComponents() { > + SecurityWarningDialog.AccessType type = parent.getType(); > + JNLPFile file = parent.getFile(); > + Certificate c = parent.getJarSigner().getPublisher(); > > String name = ""; > String publisher = ""; > @@ -193,26 +190,25 @@ > Dimension d = new Dimension(buttonWidth, buttonHeight); > run.setPreferredSize(d); > cancel.setPreferredSize(d); > - run.addActionListener(createButtonActionListener(0)); > + run.addActionListener(createButtonToSetValueListener(parent, 0)); > run.addActionListener(new CheckBoxListener()); > - cancel.addActionListener(createButtonActionListener(1)); > + cancel.addActionListener(createButtonToSetValueListener(parent, 1)); > initialFocusComponent = cancel; > buttonPanel.add(run); > buttonPanel.add(cancel); > buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); > > //all of the above > - JPanel main = new JPanel(); > - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); > - main.add(topPanel); > - main.add(infoPanel); > - main.add(buttonPanel); > + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); > + add(topPanel); > + add(infoPanel); > + add(buttonPanel); > > JLabel bottomLabel; > JButton moreInfo = new JButton("More information..."); > moreInfo.addActionListener(new MoreInfoButtonListener()); > > - if (((SecurityWarningDialog)optionPane).getJarSigner().getRootInCacerts()) > + if (parent.getJarSigner().getRootInCacerts()) > bottomLabel = new JLabel(htmlWrap(R("STrustedSource"))); > else > bottomLabel = new JLabel(htmlWrap(R("SUntrustedSource"))); > @@ -223,27 +219,14 @@ > bottomPanel.add(moreInfo); > bottomPanel.setPreferredSize(new Dimension(500,100)); > bottomPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); > - main.add(bottomPanel); > + add(bottomPanel); > > - optionPane.add(main, BorderLayout.CENTER); > } > > - private static String R(String key) { > - return JNLPRuntime.getMessage(key); > - } > - > - protected String htmlWrap (String s) { > - return ""+s+""; > - } > - > private class MoreInfoButtonListener implements ActionListener { > public void actionPerformed(ActionEvent e) { > - > - // TODO: Can we change this to just > - // optionPane.showMoreInfo(); ? > - SecurityWarningDialog.showMoreInfoDialog( > - ((SecurityWarningDialog)optionPane).getJarSigner(), > - optionPane); > + SecurityWarningDialog.showMoreInfoDialog(parent.getJarSigner(), > + parent); > } > } > > @@ -255,9 +238,11 @@ > if (alwaysTrust != null && alwaysTrust.isSelected()) { > try { > KeyTool kt = new KeyTool(); > - Certificate c = > - ((SecurityWarningDialog)optionPane).getJarSigner().getPublisher(); > + Certificate c = parent.getJarSigner().getPublisher(); > kt.importCert(c); > + if (JNLPRuntime.isDebug()) { > + System.out.println("certificate is now permanently trusted"); > + } > } catch (Exception ex) { > //TODO: Let NetX show a dialog here notifying user > //about being unable to add cert to keystore > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/CertsInfoPane.java > --- a/netx/net/sourceforge/jnlp/security/CertsInfoPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/CertsInfoPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -63,7 +63,7 @@ > * > * @author Joshua Sumali > */ > -public class CertsInfoPane extends SecurityDialogUI { > +public class CertsInfoPane extends SecurityDialogPanel { > > private ArrayList certs; > private JList list; > @@ -76,15 +76,16 @@ > private String[] columnNames = { "Field", "Value" }; > protected ArrayList certsData; > > - public CertsInfoPane(JComponent x, CertVerifier certVerifier) { > + public CertsInfoPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > + addComponents(); > } > > /** > * Builds the JTree out of CertPaths. > */ > void buildTree() { > - certs = ((SecurityWarningDialog)optionPane).getJarSigner().getCerts(); > + certs = parent.getJarSigner().getCerts(); > //for now, we're only going to display the first signer, even though > //jars can be signed by multiple people. > CertPath firstPath = certs.get(0); > @@ -178,7 +179,7 @@ > /** > * Constructs the GUI components of this UI > */ > - protected void installComponents() { > + protected void addComponents() { > buildTree(); > populateTable(); > /** > @@ -224,14 +225,14 @@ > JPanel buttonPane = new JPanel(new BorderLayout()); > JButton close = new JButton("Close"); > JButton copyToClipboard = new JButton("Copy to Clipboard"); > - close.addActionListener(createButtonActionListener(0)); > + close.addActionListener(createButtonToSetValueListener(parent, 0)); > copyToClipboard.addActionListener(new CopyToClipboardHandler()); > buttonPane.add(close, BorderLayout.EAST); > buttonPane.add(copyToClipboard, BorderLayout.WEST); > buttonPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); > > - optionPane.add(mainPane, BorderLayout.CENTER); > - optionPane.add(buttonPane, BorderLayout.SOUTH); > + add(mainPane, BorderLayout.CENTER); > + add(buttonPane, BorderLayout.SOUTH); > } > > /** > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/MoreInfoPane.java > --- a/netx/net/sourceforge/jnlp/security/MoreInfoPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/MoreInfoPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -47,29 +47,27 @@ > import javax.swing.BorderFactory; > import javax.swing.ImageIcon; > import javax.swing.JButton; > -import javax.swing.JComponent; > import javax.swing.JLabel; > import javax.swing.JPanel; > import javax.swing.SwingConstants; > > -import net.sourceforge.jnlp.runtime.JNLPRuntime; > - > /** > * Provides the UI for the More Info dialog. This dialog shows details about an > * application's signing status. > * > * @author Joshua Sumali > */ > -public class MoreInfoPane extends SecurityDialogUI { > +public class MoreInfoPane extends SecurityDialogPanel { > > - public MoreInfoPane(JComponent x, CertVerifier certVerifier) { > + public MoreInfoPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > + addComponents(); > } > > /** > * Constructs the GUI components of this UI > */ > - protected void installComponents() { > + private void addComponents() { > ArrayList details = certVerifier.getDetails(); > > int numLabels = details.size(); > @@ -93,35 +91,21 @@ > JButton certDetails = new JButton("Certificate Details"); > certDetails.addActionListener(new CertInfoButtonListener()); > JButton close = new JButton("Close"); > - close.addActionListener(createButtonActionListener(0)); > + close.addActionListener(createButtonToSetValueListener(parent, 0)); > buttonsPanel.add(certDetails, BorderLayout.WEST); > buttonsPanel.add(close, BorderLayout.EAST); > buttonsPanel.setBorder(BorderFactory.createEmptyBorder(15,15,15,15)); > > - JPanel main = new JPanel(new BorderLayout()); > - main.add(errorPanel, BorderLayout.NORTH); > - main.add(buttonsPanel, BorderLayout.SOUTH); > + add(errorPanel, BorderLayout.NORTH); > + add(buttonsPanel, BorderLayout.SOUTH); > > - optionPane.add(main); > } > > - private static String R(String key) { > - return JNLPRuntime.getMessage(key); > - } > - > - /** > - * Needed to get word-wrap working in JLabels. > - */ > - private String htmlWrap (String s) { > - return ""+s+""; > - } > - > private class CertInfoButtonListener implements ActionListener { > public void actionPerformed(ActionEvent e) { > //TODO: Change to ((SecurityWarningDialog) optionPane).showCertInfoDialog() > - SecurityWarningDialog.showCertInfoDialog( > - ((SecurityWarningDialog)optionPane).getJarSigner(), > - optionPane); > + SecurityWarningDialog.showCertInfoDialog(parent.getJarSigner(), > + parent); > } > } > } > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java Mon Jul 05 11:59:03 2010 -0400 > @@ -0,0 +1,129 @@ > + /* SecurityDialogUI.java > + Copyright (C) 2008-2010 Red Hat, Inc. > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or > +modify it under the terms of the GNU General Public License as published by > +the Free Software Foundation, version 2. > + > +IcedTea is distributed in the hope that it will be useful, > +but WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. If not, write to > +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. An independent module is a module which is not derived from > +or based on this library. If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package net.sourceforge.jnlp.security; > + > +import java.awt.BorderLayout; > +import java.awt.event.ActionEvent; > +import java.awt.event.ActionListener; > + > +import javax.swing.JComponent; > +import javax.swing.JPanel; > + > + > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > + > +/** > + * Provides a JPanel for use in JNLP warning dialogs. > + */ > +public abstract class SecurityDialogPanel extends JPanel { > + > + protected SecurityWarningDialog parent; > + > + JComponent initialFocusComponent = null; > + > + CertVerifier certVerifier; > + > + public SecurityDialogPanel(SecurityWarningDialog dialog, CertVerifier certVerifier){ > + this.parent = dialog; > + this.certVerifier = certVerifier; > + this.setLayout(new BorderLayout()); > + } > + > + /* > + * String translation functions > + */ > + > + protected static String R(String key) { > + return JNLPRuntime.getMessage(key); > + } > + > + protected static String R(String key, Object param) { > + return JNLPRuntime.getMessage(key, new Object[] {param}); > + } > + > + /** > + * Needed to get word wrap working in JLabels. > + */ > + protected String htmlWrap (String s) { > + return ""+s+""; > + } > + > + /** > + * Create an ActionListener suitable for use with buttons. When this {@link ActionListener} > + * is invoked, it will set the value of the {@link SecurityWarningDialog} and then dispossed. > + * > + * @param buttonIndex the index of the button. By convention 0 = Yes. 1 = No, 2 = Cancel > + * @return > + */ > + protected ActionListener createButtonToSetValueListener(SecurityWarningDialog dialog, int buttonIndex) { > + return new ButtonActionHandler(dialog, buttonIndex); > + } > + > + @Override > + public void setVisible(boolean aFlag) { > + super.setVisible(aFlag); > + requestFocusOnDefaultButton(); > + } > + > + public void requestFocusOnDefaultButton() { > + if (initialFocusComponent != null) { > + initialFocusComponent.requestFocusInWindow(); > + } > + } > + > + /** > + * Creates a handler that sets a dialog's value and then disposes it when activated > + * > + */ > + private class ButtonActionHandler implements ActionListener { > + > + Integer buttonIndex; > + SecurityWarningDialog dialog; > + > + public ButtonActionHandler(SecurityWarningDialog dialog, int buttonIndex) { > + this.dialog = dialog; > + this.buttonIndex = buttonIndex; > + } > + > + @Override > + public void actionPerformed(ActionEvent e) { > + dialog.setValue(buttonIndex); > + dialog.dispose(); > + } > + } > +} > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/SecurityDialogUI.java > --- a/netx/net/sourceforge/jnlp/security/SecurityDialogUI.java Wed Jun 30 19:15:49 2010 -0400 > +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 > @@ -1,204 +0,0 @@ > -/* SecurityDialogUI.java > - Copyright (C) 2008 Red Hat, Inc. > - > -This file is part of IcedTea. > - > -IcedTea is free software; you can redistribute it and/or > -modify it under the terms of the GNU General Public License as published by > -the Free Software Foundation, version 2. > - > -IcedTea is distributed in the hope that it will be useful, > -but WITHOUT ANY WARRANTY; without even the implied warranty of > -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > -General Public License for more details. > - > -You should have received a copy of the GNU General Public License > -along with IcedTea; see the file COPYING. If not, write to > -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > -02110-1301 USA. > - > -Linking this library statically or dynamically with other modules is > -making a combined work based on this library. Thus, the terms and > -conditions of the GNU General Public License cover the whole > -combination. > - > -As a special exception, the copyright holders of this library give you > -permission to link this library with independent modules to produce an > -executable, regardless of the license terms of these independent > -modules, and to copy and distribute the resulting executable under > -terms of your choice, provided that you also meet, for each linked > -independent module, the terms and conditions of the license of that > -module. An independent module is a module which is not derived from > -or based on this library. If you modify this library, you may extend > -this exception to your version of the library, but you are not > -obligated to do so. If you do not wish to do so, delete this > -exception statement from your version. > -*/ > - > -package net.sourceforge.jnlp.security; > - > -import java.awt.BorderLayout; > -import java.awt.Component; > -import java.awt.ComponentOrientation; > -import java.awt.event.ActionEvent; > -import java.awt.event.ActionListener; > -import java.beans.PropertyChangeEvent; > -import java.beans.PropertyChangeListener; > - > -import javax.swing.JButton; > -import javax.swing.JComponent; > -import javax.swing.JOptionPane; > -import javax.swing.JRootPane; > -import javax.swing.SwingUtilities; > -import javax.swing.UIManager; > -import javax.swing.plaf.OptionPaneUI; > - > -import net.sourceforge.jnlp.runtime.JNLPRuntime; > - > -/** > - * Provides a base for JNLP warning dialogs. > - * > - * @author Joshua Sumali > - */ > -public abstract class SecurityDialogUI extends OptionPaneUI { > - > - /** The JOptionPane that we're providing the L&F for */ > - protected JOptionPane optionPane; > - > - /** Component to receive focus when messaged with selectInitialValue. */ > - Component initialFocusComponent; > - > - CertVerifier certVerifier; > - > - /** PropertyChangeListener for optionPane */ > - private PropertyChangeListener propertyChangeListener; > - private Handler handler; > - > - public SecurityDialogUI(JComponent x, CertVerifier certVerifier){ > - optionPane = (JOptionPane)x; > - this.certVerifier = certVerifier; > - } > - > - /** > - * Installs the user interface for the SecurityWarningDialog. > - */ > - public void installUI(JComponent c) { > - > - //Only install the UI when type and file in SecurityWarningDialog > - //have been set. > - if (((SecurityWarningDialog)c).isInitialized()) { > - setSystemLookAndFeel(); > - optionPane = (JOptionPane)c; > - optionPane.setLayout(new BorderLayout()); > - installComponents(); > - installListeners(); > - } > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - protected void installListeners() { > - if ((propertyChangeListener = getHandler()) != null) > - optionPane.addPropertyChangeListener(propertyChangeListener); > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - protected void uninstallComponents() { > - initialFocusComponent = null; > - optionPane.removeAll(); > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - private Handler getHandler() { > - if (handler == null) > - handler = new Handler(); > - return handler; > - } > - > - //Inherited from OptionPaneUI > - //Modified from javax.swing.plaf.basic.BasicOptionPaneUI > - public void selectInitialValue(JOptionPane op) { > - if (initialFocusComponent != null) > - initialFocusComponent.requestFocus(); > - > - if (initialFocusComponent instanceof JButton) { > - JRootPane root = SwingUtilities.getRootPane(initialFocusComponent); > - if (root != null) > - root.setDefaultButton((JButton) initialFocusComponent); > - } > - } > - > - //Inherited from OptionPaneUI > - public boolean containsCustomComponents(JOptionPane op) { > - return false; > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - protected ActionListener createButtonActionListener(int buttonIndex) { > - return new ButtonActionListener(buttonIndex); > - } > - > - private static String R(String key) { > - return JNLPRuntime.getMessage(key); > - } > - > - /** > - * Needed to get word wrap working in JLabels. > - */ > - private String htmlWrap (String s) { > - return ""+s+""; > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - private class Handler implements PropertyChangeListener { > - public void propertyChange(PropertyChangeEvent e) { > - if (e.getSource() == optionPane) { > - String changeName = e.getPropertyName(); > - if (changeName == JOptionPane.OPTIONS_PROPERTY || > - changeName == JOptionPane.INITIAL_VALUE_PROPERTY || > - changeName == JOptionPane.ICON_PROPERTY || > - changeName == JOptionPane.MESSAGE_TYPE_PROPERTY || > - changeName == JOptionPane.OPTION_TYPE_PROPERTY || > - changeName == JOptionPane.MESSAGE_PROPERTY || > - changeName == JOptionPane.SELECTION_VALUES_PROPERTY || > - changeName == JOptionPane.INITIAL_SELECTION_VALUE_PROPERTY || > - changeName == JOptionPane.WANTS_INPUT_PROPERTY) { > - uninstallComponents(); > - installComponents(); > - optionPane.validate(); > - } else if (changeName == "componentOrientation") { > - ComponentOrientation o = (ComponentOrientation)e.getNewValue(); > - JOptionPane op = (JOptionPane)e.getSource(); > - if (o != (ComponentOrientation)e.getOldValue()) { > - op.applyComponentOrientation(o); > - } > - } > - } > - } > - } > - > - //Taken from javax.swing.plaf.basic.BasicOptionPaneUI > - public class ButtonActionListener implements ActionListener { > - protected int buttonIndex; > - > - public ButtonActionListener(int buttonIndex) { > - this.buttonIndex = buttonIndex; > - } > - > - public void actionPerformed(ActionEvent e) { > - if (optionPane != null) { > - optionPane.setValue(new Integer(buttonIndex)); > - } > - } > - } > - > - private void setSystemLookAndFeel() { > - try { > - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); > - } catch (Exception e) { > - //don't worry if we can't. > - } > - } > - > - //this is for the different dialogs to fill in. > - protected abstract void installComponents(); > -} > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java > --- a/netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java Mon Jul 05 11:59:03 2010 -0400 > @@ -40,12 +40,11 @@ > import net.sourceforge.jnlp.JNLPFile; > > import java.awt.*; > + > import javax.swing.*; > + > import java.awt.event.*; > -import javax.swing.plaf.OptionPaneUI; > > -import java.beans.PropertyChangeListener; > -import java.beans.PropertyChangeEvent; > import java.security.cert.X509Certificate; > > /** > @@ -54,7 +53,7 @@ > * > * @author Joshua Sumali > */ > -public class SecurityWarningDialog extends JOptionPane { > +public class SecurityWarningDialog extends JDialog { > > /** Types of dialogs we can create */ > public static enum DialogType { > @@ -86,6 +85,8 @@ > /** The type of access that this dialog is for */ > private AccessType accessType; > > + private SecurityDialogPanel panel; > + > /** The application file associated with this security warning */ > private JNLPFile file; > > @@ -102,6 +103,10 @@ > /** Whether or not this object has been fully initialized */ > private boolean initialized = false; > > + private Object value; > + > + // FIXME we never call super()... is that a problem? > + > public SecurityWarningDialog(DialogType dialogType, AccessType accessType, > JNLPFile file) { > this.dialogType = dialogType; > @@ -109,7 +114,7 @@ > this.file = file; > this.certVerifier = null; > initialized = true; > - updateUI(); > + initDialog(); > } > > public SecurityWarningDialog(DialogType dialogType, AccessType accessType, > @@ -119,7 +124,7 @@ > this.file = file; > this.certVerifier = jarSigner; > initialized = true; > - updateUI(); > + initDialog(); > } > > public SecurityWarningDialog(DialogType dialogType, AccessType accessType, > @@ -129,7 +134,7 @@ > this.file = null; > this.certVerifier = certVerifier; > initialized = true; > - updateUI(); > + initDialog(); > } > > public SecurityWarningDialog(DialogType dialogType, AccessType accessType, > @@ -140,7 +145,7 @@ > this.certVerifier = null; > initialized = true; > this.extras = extras; > - updateUI(); > + initDialog(); > } > > //for displaying a single certificate > @@ -151,7 +156,7 @@ > this.certVerifier = null; > this.cert = c; > initialized = true; > - updateUI(); > + initDialog(); > } > > /** > @@ -187,16 +192,12 @@ > */ > public static boolean showAccessWarningDialog(AccessType accessType, > JNLPFile file, Object[] extras) { > - SecurityWarningDialog swd = new SecurityWarningDialog( > + SecurityWarningDialog dialog = new SecurityWarningDialog( > DialogType.ACCESS_WARNING, accessType, file, extras); > - JDialog dialog = swd.createDialog(); > - swd.selectInitialValue(); > - dialog.setResizable(true); > - centerDialog(dialog); > dialog.setVisible(true); > dialog.dispose(); > > - Object selectedValue = swd.getValue(); > + Object selectedValue = dialog.getValue(); > if (selectedValue == null) { > return false; > } else if (selectedValue instanceof Integer) { > @@ -221,17 +222,13 @@ > */ > public static boolean showCertWarningDialog(AccessType accessType, > JNLPFile file, CertVerifier jarSigner) { > - SecurityWarningDialog swd = > + SecurityWarningDialog dialog = > new SecurityWarningDialog(DialogType.CERT_WARNING, accessType, file, > jarSigner); > - JDialog dialog = swd.createDialog(); > - swd.selectInitialValue(); > - dialog.setResizable(true); > - centerDialog(dialog); > dialog.setVisible(true); > dialog.dispose(); > > - Object selectedValue = swd.getValue(); > + Object selectedValue = dialog.getValue(); > if (selectedValue == null) { > return false; > } else if (selectedValue instanceof Integer) { > @@ -251,15 +248,11 @@ > * @param parent the parent option pane > */ > public static void showMoreInfoDialog( > - CertVerifier jarSigner, JOptionPane parent) { > + CertVerifier jarSigner, SecurityWarningDialog parent) { > > - SecurityWarningDialog swd = > + SecurityWarningDialog dialog = > new SecurityWarningDialog(DialogType.MORE_INFO, null, null, > jarSigner); > - JDialog dialog = swd.createDialog(); > - dialog.setLocationRelativeTo(parent); > - swd.selectInitialValue(); > - dialog.setResizable(true); > dialog.setVisible(true); > dialog.dispose(); > } > @@ -270,13 +263,10 @@ > * @param certs the certificates used in signing. > */ > public static void showCertInfoDialog(CertVerifier jarSigner, > - JOptionPane parent) { > - SecurityWarningDialog swd = new SecurityWarningDialog(DialogType.CERT_INFO, > + SecurityWarningDialog parent) { > + SecurityWarningDialog dialog = new SecurityWarningDialog(DialogType.CERT_INFO, > null, null, jarSigner); > - JDialog dialog = swd.createDialog(); > dialog.setLocationRelativeTo(parent); > - swd.selectInitialValue(); > - dialog.setResizable(true); > dialog.setVisible(true); > dialog.dispose(); > } > @@ -288,28 +278,20 @@ > * @param optionPane > */ > public static void showSingleCertInfoDialog(X509Certificate c, > - JOptionPane parent) { > - > - SecurityWarningDialog swd = new SecurityWarningDialog(DialogType.SINGLE_CERT_INFO, c); > - JDialog dialog = swd.createDialog(); > + JDialog parent) { > + SecurityWarningDialog dialog = new SecurityWarningDialog(DialogType.SINGLE_CERT_INFO, c); > dialog.setLocationRelativeTo(parent); > - swd.selectInitialValue(); > - dialog.setResizable(true); > dialog.setVisible(true); > dialog.dispose(); > } > > public static int showAppletWarning() { > - SecurityWarningDialog swd = new SecurityWarningDialog(DialogType.APPLET_WARNING, > + SecurityWarningDialog dialog = new SecurityWarningDialog(DialogType.APPLET_WARNING, > null, null, (CertVerifier) null); > - JDialog dialog = swd.createDialog(); > - centerDialog(dialog); > - swd.selectInitialValue(); > - dialog.setResizable(true); > dialog.setVisible(true); > dialog.dispose(); > > - Object selectedValue = swd.getValue(); > + Object selectedValue = dialog.getValue(); > > //result 0 = Yes, 1 = No, 2 = Cancel > if (selectedValue == null) { > @@ -321,8 +303,11 @@ > } > } > > - //Modified from javax.swing.JOptionPane > - private JDialog createDialog() { > + > + private void initDialog() { > + setSystemLookAndFeel(); > + > + > String dialogTitle = ""; > if (dialogType == DialogType.CERT_WARNING) > dialogTitle = "Warning - Security"; > @@ -335,53 +320,41 @@ > else if (dialogType == DialogType.APPLET_WARNING) > dialogTitle = "Applet Warning"; > > - final JDialog dialog = new JDialog((Frame)null, dialogTitle, true); > + setTitle(dialogTitle); > + setModal(true); > > - Container contentPane = dialog.getContentPane(); > - contentPane.setLayout(new BorderLayout()); > - contentPane.add(this, BorderLayout.CENTER); > - dialog.pack(); > + setDefaultCloseOperation(DISPOSE_ON_CLOSE); > + > + installPanel(); > + > + pack(); > > WindowAdapter adapter = new WindowAdapter() { > private boolean gotFocus = false; > + @Override > public void windowClosing(WindowEvent we) { > setValue(null); > } > + @Override > public void windowGainedFocus(WindowEvent we) { > // Once window gets focus, set initial focus > if (!gotFocus) { > - selectInitialValue(); > + selectDefaultButton(); > gotFocus = true; > } > } > - }; > - dialog.addWindowListener(adapter); > - dialog.addWindowFocusListener(adapter); > - > - dialog.addComponentListener(new ComponentAdapter() { > - public void componentShown(ComponentEvent ce) { > - // reset value to ensure closing works properly > - setValue(JOptionPane.UNINITIALIZED_VALUE); > - } > - }); > - > - addPropertyChangeListener( new PropertyChangeListener() { > - public void propertyChange(PropertyChangeEvent event) { > - // Let the defaultCloseOperation handle the closing > - // if the user closed the window without selecting a button > - // (newValue = null in that case). Otherwise, close the dialog. > - if (dialog.isVisible() && > - event.getSource() == SecurityWarningDialog.this && > - (event.getPropertyName().equals(VALUE_PROPERTY) || > - event.getPropertyName().equals(INPUT_VALUE_PROPERTY)) && > - event.getNewValue() != null && > - event.getNewValue() != JOptionPane.UNINITIALIZED_VALUE) { > - dialog.setVisible(false); > + @Override > + public void windowOpened(WindowEvent e) { > + if (e.getSource() instanceof SecurityWarningDialog) { > + SecurityWarningDialog dialog = (SecurityWarningDialog) e.getSource(); > + dialog.setResizable(true); > + centerDialog(dialog); > } > } > - }); > + }; > + addWindowListener(adapter); > + addWindowFocusListener(adapter); > > - return dialog; > } > > public AccessType getType() { > @@ -401,23 +374,24 @@ > } > > /** > - * Updates the UI using SecurityWarningOptionPane, instead of the > - * basic dialog box. > + * Adds the appropriate JPanel to this Dialog, based on {@link DialogType}. > */ > - public void updateUI() { > + private void installPanel() { > > if (dialogType == DialogType.CERT_WARNING) > - setUI((OptionPaneUI) new CertWarningPane(this, this.certVerifier)); > + panel = new CertWarningPane(this, this.certVerifier); > else if (dialogType == DialogType.MORE_INFO) > - setUI((OptionPaneUI) new MoreInfoPane(this, this.certVerifier)); > + panel = new MoreInfoPane(this, this.certVerifier); > else if (dialogType == DialogType.CERT_INFO) > - setUI((OptionPaneUI) new CertsInfoPane(this, this.certVerifier)); > + panel = new CertsInfoPane(this, this.certVerifier); > else if (dialogType == DialogType.SINGLE_CERT_INFO) > - setUI((OptionPaneUI) new SingleCertInfoPane(this, this.certVerifier)); > + panel = new SingleCertInfoPane(this, this.certVerifier); > else if (dialogType == DialogType.ACCESS_WARNING) > - setUI((OptionPaneUI) new AccessWarningPane(this, extras, this.certVerifier)); > + panel = new AccessWarningPane(this, extras, this.certVerifier); > else if (dialogType == DialogType.APPLET_WARNING) > - setUI((OptionPaneUI) new AppletWarningPane(this, this.certVerifier)); > + panel = new AppletWarningPane(this, this.certVerifier); > + > + add(panel); > } > > private static void centerDialog(JDialog dialog) { > @@ -427,4 +401,35 @@ > dialog.setLocation((screen.width - dialogSize.width)/2, > (screen.height - dialogSize.height)/2); > } > + > + > + private void selectDefaultButton() { > + if (panel == null) { > + System.out.println("initial value panel is null"); > + } > + panel.requestFocusOnDefaultButton(); > + } > + > + protected void setValue(Object value) { > + // FIXME remove > + System.out.println("Setting value:" + value); > + this.value = value; > + } > + > + protected Object getValue() { > + // FIXME remove > + System.out.println("returnign value:" + value); > + return value; > + } > + > + /** > + * Updates the look and feel of the window to be the system look and feel > + */ > + protected void setSystemLookAndFeel() { > + try { > + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); > + } catch (Exception e) { > + //don't worry if we can't. > + } > + } > } > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java > --- a/netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -40,7 +40,6 @@ > import java.security.cert.X509Certificate; > import java.util.ArrayList; > > -import javax.swing.JComponent; > import javax.swing.JTree; > import javax.swing.tree.DefaultMutableTreeNode; > import javax.swing.tree.TreeSelectionModel; > @@ -48,12 +47,12 @@ > > public class SingleCertInfoPane extends CertsInfoPane { > > - public SingleCertInfoPane(JComponent x, CertVerifier certVerifier) { > + public SingleCertInfoPane(SecurityWarningDialog x, CertVerifier certVerifier) { > super(x, certVerifier); > } > > protected void buildTree() { > - X509Certificate cert = ((SecurityWarningDialog)optionPane).getCert(); > + X509Certificate cert = parent.getCert(); > String subjectString = > SecurityUtil.getCN(cert.getSubjectX500Principal().getName()); > String issuerString = > @@ -68,7 +67,7 @@ > } > > protected void populateTable() { > - X509Certificate c = ((SecurityWarningDialog)optionPane).getCert(); > + X509Certificate c = parent.getCert(); > certNames = new String[1]; > certsData = new ArrayList(); > certsData.add(parseCert(c)); > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java > --- a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java Mon Jul 05 11:59:03 2010 -0400 > @@ -54,30 +54,20 @@ > import javax.swing.BorderFactory; > import javax.swing.JButton; > import javax.swing.JComponent; > +import javax.swing.JDialog; > import javax.swing.JFileChooser; > import javax.swing.JOptionPane; > import javax.swing.JPanel; > import javax.swing.JScrollPane; > import javax.swing.JTabbedPane; > import javax.swing.JTable; > -import javax.swing.UIManager; > import javax.swing.table.DefaultTableModel; > > -import net.sourceforge.jnlp.security.CertVerifier; > -import net.sourceforge.jnlp.security.SecurityDialogUI; > import net.sourceforge.jnlp.security.SecurityUtil; > import net.sourceforge.jnlp.security.SecurityWarningDialog; > import net.sourceforge.jnlp.tools.KeyTool; > > -//import java.security.KeyStoreException; > -//import java.security.NoSuchAlgorithmException; > -//import java.security.cert.CertificateException; > -//import java.io.FileNotFoundException; > -//import java.io.IOException; > - > - > -// note: We might want to extend OptionPaneUI instead > -public class CertificatePane extends SecurityDialogUI { > +public class CertificatePane extends JPanel { > > /** > * The certificates stored in the user's trusted.certs file. > @@ -92,14 +82,20 @@ > > private JTable table; > > + private JDialog parent; > + > + private JComponent defaultFocusComponent = null; > + > /** > * The KeyStore associated with the user's trusted.certs file. > */ > private KeyStore keyStore = null; > > - public CertificatePane(JComponent x) { > - super(x, null); > + public CertificatePane(JDialog parent) { > + super(); > + this.parent = parent; > initializeKeyStore(); > + addComponents(); > } > > /** > @@ -114,32 +110,8 @@ > } > } > > - /** > - * Installs the user interface for the SecurityWarningDialog. > - */ > - public void installUI(JComponent c) { > - > - //Only install the UI when type and file in SecurityWarningDialog > - //have been set. > - if (((CertificateViewer)c).isInitialized()) { > - setSystemLookAndFeel(); > - optionPane = (JOptionPane)c; > - optionPane.setLayout(new BorderLayout()); > - installComponents(); > - installListeners(); > - } > - } > - > - private void setSystemLookAndFeel() { > - try { > - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); > - } catch (Exception e) { > - //don't worry if we can't. > - } > - } > - > //create the GUI here. > - protected void installComponents() { > + protected void addComponents() { > readKeyStore(); > > JPanel main = new JPanel(new BorderLayout()); > @@ -193,13 +165,14 @@ > JPanel closePanel = new JPanel(new BorderLayout()); > closePanel.setBorder(BorderFactory.createEmptyBorder(7,7,7,7)); > JButton closeButton = new JButton("Close"); > - closeButton.addActionListener(createButtonActionListener(0)); > + closeButton.addActionListener(new CloseButtonListener()); > + defaultFocusComponent = closeButton; > closePanel.add(closeButton, BorderLayout.EAST); > > main.add(tablePanel, BorderLayout.CENTER); > main.add(closePanel, BorderLayout.SOUTH); > > - optionPane.add(main); > + add(main); > > } > > @@ -245,14 +218,20 @@ > = new DefaultTableModel(issuedToAndBy, columnNames); > > table.setModel(tableModel); > - optionPane.repaint(); > + repaint(); > + } > + > + public void focusOnDefaultButton() { > + if (defaultFocusComponent != null) { > + defaultFocusComponent.requestFocusInWindow(); > + } > } > > private class ImportButtonListener implements ActionListener { > public void actionPerformed(ActionEvent e) { > > JFileChooser chooser = new JFileChooser(); > - int returnVal = chooser.showOpenDialog(optionPane); > + int returnVal = chooser.showOpenDialog(parent); > if(returnVal == JFileChooser.APPROVE_OPTION) { > try { > KeyTool kt = new KeyTool(); > @@ -276,7 +255,7 @@ > int selectedRow = table.getSelectedRow(); > if (selectedRow != -1) { > JFileChooser chooser = new JFileChooser(); > - int returnVal = chooser.showOpenDialog(optionPane); > + int returnVal = chooser.showOpenDialog(parent); > if(returnVal == JFileChooser.APPROVE_OPTION) { > String alias = keyStore.getCertificateAlias(certs > .get(selectedRow)); > @@ -309,7 +288,7 @@ > String alias = keyStore.getCertificateAlias(certs.get(selectedRow)); > if (alias != null) { > > - int i = JOptionPane.showConfirmDialog(optionPane, > + int i = JOptionPane.showConfirmDialog(parent, > "Are you sure you want to remove the selected certificate?", > "Confirmation - Remove Certificate?", > JOptionPane.YES_NO_OPTION); > @@ -341,10 +320,17 @@ > int selectedRow = table.getSelectedRow(); > if (selectedRow != -1 && selectedRow >= 0) { > X509Certificate c = certs.get(selectedRow); > - SecurityWarningDialog.showSingleCertInfoDialog(c, optionPane); > + SecurityWarningDialog.showSingleCertInfoDialog(c, parent); > } > } > } > + > + private class CloseButtonListener implements ActionListener { > + @Override > + public void actionPerformed(ActionEvent e) { > + parent.dispose(); > + } > + } > > } > > diff -r 7649271c60ab netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java > --- a/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java Wed Jun 30 19:15:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java Mon Jul 05 11:59:03 2010 -0400 > @@ -51,96 +51,75 @@ > > import javax.swing.JDialog; > import javax.swing.JOptionPane; > +import javax.swing.UIManager; > import javax.swing.plaf.OptionPaneUI; > > -public class CertificateViewer extends JOptionPane { > +public class CertificateViewer extends JDialog { > > - private boolean initialized = false; > - > - public CertificateViewer() throws Exception { > + private boolean initialized = false; > + private static final String dialogTitle = "Certificates"; > > + CertificatePane panel; > + > + public CertificateViewer() { > + super((Frame)null, dialogTitle, true); > + > + Container contentPane = getContentPane(); > + contentPane.setLayout(new BorderLayout()); > + > + panel = new CertificatePane(this); > + > + add(panel); > + > + pack(); > + > + WindowAdapter adapter = new WindowAdapter() { > + private boolean gotFocus = false; > + > + public void windowGainedFocus(WindowEvent we) { > + // Once window gets focus, set initial focus > + if (!gotFocus) { > + panel.focusOnDefaultButton(); > + gotFocus = true; > + } > + } > + }; > + addWindowFocusListener(adapter); > + > initialized = true; > - updateUI(); > } > > public boolean isInitialized(){ > return initialized; > } > > - public void updateUI() { > - setUI((OptionPaneUI) new CertificatePane(this)); > - } > - > - private static void centerDialog(JDialog dialog) { > + private void centerDialog() { > Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); > - Dimension dialogSize = dialog.getSize(); > + Dimension dialogSize = getSize(); > > - dialog.setLocation((screen.width - dialogSize.width)/2, > + setLocation((screen.width - dialogSize.width)/2, > (screen.height - dialogSize.height)/2); > } > > - //Modified from javax.swing.JOptionPane > - private JDialog createDialog() { > - String dialogTitle = "Certificates"; > - final JDialog dialog = new JDialog((Frame)null, dialogTitle, true); > - > - Container contentPane = dialog.getContentPane(); > - contentPane.setLayout(new BorderLayout()); > - contentPane.add(this, BorderLayout.CENTER); > - dialog.pack(); > - > - WindowAdapter adapter = new WindowAdapter() { > - private boolean gotFocus = false; > - public void windowClosing(WindowEvent we) { > - setValue(null); > - } > - public void windowGainedFocus(WindowEvent we) { > - // Once window gets focus, set initial focus > - if (!gotFocus) { > - selectInitialValue(); > - gotFocus = true; > - } > - } > - }; > - dialog.addWindowListener(adapter); > - dialog.addWindowFocusListener(adapter); > - > - dialog.addComponentListener(new ComponentAdapter() { > - public void componentShown(ComponentEvent ce) { > - // reset value to ensure closing works properly > - setValue(JOptionPane.UNINITIALIZED_VALUE); > - } > - }); > - > - addPropertyChangeListener( new PropertyChangeListener() { > - public void propertyChange(PropertyChangeEvent event) { > - // Let the defaultCloseOperation handle the closing > - // if the user closed the window without selecting a button > - // (newValue = null in that case). Otherwise, close the dialog. > - if (dialog.isVisible() && > - event.getSource() == CertificateViewer.this && > - (event.getPropertyName().equals(VALUE_PROPERTY) || > - event.getPropertyName().equals(INPUT_VALUE_PROPERTY)) && > - event.getNewValue() != null && > - event.getNewValue() != JOptionPane.UNINITIALIZED_VALUE) { > - dialog.setVisible(false); > - } > - } > - }); > - > - return dialog; > + > + public static void showCertificateViewer() throws Exception { > + setSystemLookAndFeel(); > + > + CertificateViewer cv = new CertificateViewer(); > + cv.setResizable(true); > + cv.centerDialog(); > + cv.setVisible(true); > + cv.dispose(); > } > > - public static void showCertificateViewer() throws Exception { > - CertificateViewer cv = new CertificateViewer(); > - JDialog dialog = cv.createDialog(); > - cv.selectInitialValue(); > - dialog.setResizable(true); > - centerDialog(dialog); > - dialog.setVisible(true); > - dialog.dispose(); > - } > - > + private static void setSystemLookAndFeel() { > + try { > + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); > + } catch (Exception e) { > + // don't worry if we can't. > + } > + } > + > public static void main(String[] args) throws Exception { > CertificateViewer.showCertificateViewer(); > } From dbhole at icedtea.classpath.org Fri Jul 16 13:55:21 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 16 Jul 2010 20:55:21 +0000 Subject: /hg/release/icedtea6-1.6: Fix policy evaluation to match the pro... Message-ID: changeset 18fa77d40df5 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=18fa77d40df5 author: Deepak Bhole date: Fri Jul 16 16:53:35 2010 -0400 Fix policy evaluation to match the proprietary JDK. diffstat: 3 files changed, 41 insertions(+) ChangeLog | 5 ++++ Makefile.am | 1 patches/icedtea-policy-evaluation.patch | 35 +++++++++++++++++++++++++++++++ diffs (62 lines): diff -r bcdcc12c519e -r 18fa77d40df5 ChangeLog --- a/ChangeLog Tue Jul 13 11:46:10 2010 +0200 +++ b/ChangeLog Fri Jul 16 16:53:35 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-13 Mark Wielaard + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + 2010-07-13 Mark Wielaard Reported by William Cohen diff -r bcdcc12c519e -r 18fa77d40df5 Makefile.am --- a/Makefile.am Tue Jul 13 11:46:10 2010 +0200 +++ b/Makefile.am Fri Jul 16 16:53:35 2010 -0400 @@ -621,6 +621,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-cc-interp-jvmti.patch \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ + patches/icedtea-policy-evaluation.patch \ patches/openjdk/bidi-tests.patch \ patches/openjdk/annotation-tests.patch \ patches/openjdk/rename-execvpe.patch \ diff -r bcdcc12c519e -r 18fa77d40df5 patches/icedtea-policy-evaluation.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-policy-evaluation.patch Fri Jul 16 16:53:35 2010 -0400 @@ -0,0 +1,35 @@ +# This patch aligns policy evaluation to be the same as the proprietary JDK. +# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009658.html +# https://bugs.openjdk.java.net/show_bug.cgi?id=100142 + +diff -up ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav ./jdk/src/share/classes/sun/security/provider/PolicyFile.java +--- ./openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav 2010-04-20 14:49:13.000000000 -0400 ++++ ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java 2010-04-20 14:50:26.000000000 -0400 +@@ -1799,6 +1799,27 @@ public class PolicyFile extends java.sec + + CodeSource canonCs = cs; + URL u = cs.getLocation(); ++ ++ // If this is a jar protocol url, collapse it to a ++ // file protocol to process it as per the javadocs ++ if (u != null && u.getProtocol().equals("jar")) { ++ try { ++ String fileURL = ""; ++ ++ // remove the initial jar: ++ fileURL = u.getPath(); ++ ++ // remove the part after the ! ++ fileURL = fileURL.substring(0, fileURL.indexOf('!')); ++ ++ u = new URL(fileURL); ++ ++ } catch (Exception e) { ++ // Fail silently. In this case, url stays what it was above ++ } ++ ++ } ++ + if (u != null && u.getProtocol().equals("file")) { + boolean isLocalFile = false; + String host = u.getHost(); From dbhole at icedtea.classpath.org Fri Jul 16 13:57:30 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 16 Jul 2010 20:57:30 +0000 Subject: /hg/release/icedtea6-1.6: Revert behaviour of isOverrideRedirect... Message-ID: changeset f5cff4063cf3 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f5cff4063cf3 author: Deepak Bhole date: Fri Jul 16 16:56:44 2010 -0400 Revert behaviour of isOverrideRedirect to always return false, since XToolKit does not support isOverrideRedirect (as upstream patch assumes). diffstat: 2 files changed, 6 insertions(+), 13 deletions(-) ChangeLog | 6 ++++++ patches/openjdk/6678385.patch | 13 ------------- diffs (36 lines): diff -r 18fa77d40df5 -r f5cff4063cf3 ChangeLog --- a/ChangeLog Fri Jul 16 16:53:35 2010 -0400 +++ b/ChangeLog Fri Jul 16 16:56:44 2010 -0400 @@ -1,3 +1,9 @@ 2010-07-16 Deepak Bhole + + * patches/openjdk/6678385.patch: Revert behaviour of isOverrideRedirect to + always return false, since XToolKit does not support isOverrideRedirect (as + upstream patch assumes). + 2010-07-16 Deepak Bhole * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy diff -r 18fa77d40df5 -r f5cff4063cf3 patches/openjdk/6678385.patch --- a/patches/openjdk/6678385.patch Fri Jul 16 16:53:35 2010 -0400 +++ b/patches/openjdk/6678385.patch Fri Jul 16 16:56:44 2010 -0400 @@ -231,19 +231,6 @@ diff -uNr openjdk.orig/jdk/src/solaris/c if (status != XlibWrapper.Success || getter.getData() == 0) { if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status ); -diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400 -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400 -@@ -1155,7 +1155,8 @@ - } - - boolean isOverrideRedirect() { -- return false; -+// return false; -+ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); - } - - public boolean requestWindowFocus(long time, boolean timeProvided) { diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java --- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400 +++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400 From ahughes at redhat.com Sun Jul 18 04:49:57 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 18 Jul 2010 12:49:57 +0100 Subject: /hg/release/icedtea6-1.6: Revert behaviour of isOverrideRedirect... In-Reply-To: References: Message-ID: On 16 July 2010 21:57, wrote: > changeset f5cff4063cf3 in /hg/release/icedtea6-1.6 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f5cff4063cf3 > author: Deepak Bhole > date: Fri Jul 16 16:56:44 2010 -0400 > > ? ? ? ?Revert behaviour of isOverrideRedirect to always return false, since > ? ? ? ?XToolKit does not support isOverrideRedirect (as upstream patch > ? ? ? ?assumes). > > > diffstat: > > 2 files changed, 6 insertions(+), 13 deletions(-) > ChangeLog ? ? ? ? ? ? ? ? ? ? | ? ?6 ++++++ > patches/openjdk/6678385.patch | ? 13 ------------- > > diffs (36 lines): > > diff -r 18fa77d40df5 -r f5cff4063cf3 ChangeLog > --- a/ChangeLog Fri Jul 16 16:53:35 2010 -0400 > +++ b/ChangeLog Fri Jul 16 16:56:44 2010 -0400 > @@ -1,3 +1,9 @@ 2010-07-16 ?Deepak Bhole +2010-07-15 ?Deepak Bhole > + > + ? ? ? * patches/openjdk/6678385.patch: Revert behaviour of isOverrideRedirect to > + ? ? ? always return false, since XToolKit does not support isOverrideRedirect (as > + ? ? ? upstream patch assumes). > + > ?2010-07-16 ?Deepak Bhole > > ? ? ? ?* patches/icedtea-policy-evaluation.patch: New patch. Fixes policy > diff -r 18fa77d40df5 -r f5cff4063cf3 patches/openjdk/6678385.patch > --- a/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:53:35 2010 -0400 > +++ b/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:56:44 2010 -0400 > @@ -231,19 +231,6 @@ diff -uNr openjdk.orig/jdk/src/solaris/c > > ? ? ? ? ? ? ? ? ?if (status != XlibWrapper.Success || getter.getData() == 0) { > ? ? ? ? ? ? ? ? ? ? ?if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed ?status = " + status ); > -diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java > ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ? ? 2010-07-15 10:28:21.895105718 -0400 > -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ?2010-07-15 10:28:42.640232090 -0400 > -@@ -1155,7 +1155,8 @@ > - ? ? } > - > - ? ? boolean isOverrideRedirect() { > -- ? ? ? ?return false; > -+// ? ? ? ?return false; > -+ ? ? ? ?return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); > - ? ? } > - > - ? ? public boolean requestWindowFocus(long time, boolean timeProvided) { > ?diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java > ?--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ? ? 2010-07-15 10:28:21.906105640 -0400 > ?+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ?2010-07-15 10:28:42.642232277 -0400 > I don't see any discussion of this on the list. You shouldn't be committing patches to the release branches without prior approval. What is this for? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Sun Jul 18 05:53:05 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 18 Jul 2010 13:53:05 +0100 Subject: /hg/release/icedtea6-1.6: Revert behaviour of isOverrideRedirect... In-Reply-To: References: Message-ID: On 18 July 2010 12:49, Andrew John Hughes wrote: > On 16 July 2010 21:57, ? wrote: >> changeset f5cff4063cf3 in /hg/release/icedtea6-1.6 >> details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f5cff4063cf3 >> author: Deepak Bhole >> date: Fri Jul 16 16:56:44 2010 -0400 >> >> ? ? ? ?Revert behaviour of isOverrideRedirect to always return false, since >> ? ? ? ?XToolKit does not support isOverrideRedirect (as upstream patch >> ? ? ? ?assumes). >> >> >> diffstat: >> >> 2 files changed, 6 insertions(+), 13 deletions(-) >> ChangeLog ? ? ? ? ? ? ? ? ? ? | ? ?6 ++++++ >> patches/openjdk/6678385.patch | ? 13 ------------- >> >> diffs (36 lines): >> >> diff -r 18fa77d40df5 -r f5cff4063cf3 ChangeLog >> --- a/ChangeLog Fri Jul 16 16:53:35 2010 -0400 >> +++ b/ChangeLog Fri Jul 16 16:56:44 2010 -0400 >> @@ -1,3 +1,9 @@ 2010-07-16 ?Deepak Bhole > +2010-07-15 ?Deepak Bhole >> + >> + ? ? ? * patches/openjdk/6678385.patch: Revert behaviour of isOverrideRedirect to >> + ? ? ? always return false, since XToolKit does not support isOverrideRedirect (as >> + ? ? ? upstream patch assumes). >> + >> ?2010-07-16 ?Deepak Bhole >> >> ? ? ? ?* patches/icedtea-policy-evaluation.patch: New patch. Fixes policy >> diff -r 18fa77d40df5 -r f5cff4063cf3 patches/openjdk/6678385.patch >> --- a/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:53:35 2010 -0400 >> +++ b/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:56:44 2010 -0400 >> @@ -231,19 +231,6 @@ diff -uNr openjdk.orig/jdk/src/solaris/c >> >> ? ? ? ? ? ? ? ? ?if (status != XlibWrapper.Success || getter.getData() == 0) { >> ? ? ? ? ? ? ? ? ? ? ?if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed ?status = " + status ); >> -diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java >> ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ? ? 2010-07-15 10:28:21.895105718 -0400 >> -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ?2010-07-15 10:28:42.640232090 -0400 >> -@@ -1155,7 +1155,8 @@ >> - ? ? } >> - >> - ? ? boolean isOverrideRedirect() { >> -- ? ? ? ?return false; >> -+// ? ? ? ?return false; >> -+ ? ? ? ?return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); >> - ? ? } >> - >> - ? ? public boolean requestWindowFocus(long time, boolean timeProvided) { >> ?diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java >> ?--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ? ? 2010-07-15 10:28:21.906105640 -0400 >> ?+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ?2010-07-15 10:28:42.642232277 -0400 >> > > I don't see any discussion of this on the list. ?You shouldn't be > committing patches to the release branches without prior approval. > > What is this for? > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 > I just saw a message about this on internal IRC. For the benefit of others: gnu_andrew: Does 1.6 build for you? it doesn't for me openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java:1159: cannot find symbol symbol : method isOverrideRedirect(java.awt.Window) location: class sun.awt.X11.XToolkit return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); gnu_andrew: Looks like the 6678385 patch broke it * dbhole sees if it can be fixed If you'd instead posted the same to the list, it could have been trivially approved by someone and there wouldn't be an issue. It isn't clear from just the commit that this fixes build breakage. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Sun Jul 18 10:25:09 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 18 Jul 2010 17:25:09 +0000 Subject: /hg/icedtea: Allow all or individual test suites to be disabled.... Message-ID: changeset e63ec10f8b3d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e63ec10f8b3d author: Andrew John Hughes date: Sun Jul 18 18:25:01 2010 +0100 Allow all or individual test suites to be disabled. Allows quicker make distcheck runs. 2010-07-18 Andrew John Hughes Allow all or individual test suites to be disabled. * Makefile.am: (TEST_SUITES): Test suites to run. (TESTS_TO_RUN): Dependencies of jtregcheck. (check-local): Re-enable. (.PHONY): Add jtregcheck. (jtregcheck): Use TEST_SUITES and TESTS_TO_RUN. * acinclude.m4: (IT_DISABLE_TESTS): New option to allow all tests to be turned off. (IT_DISABLE_HOTSPOT_TESTS): Likewise just for HotSpot tests. (IT_DISABLE_LANGTOOLS_TESTS): Likewise just for langtools tests. (IT_DISABLE_JDK_TESTS): Likewise just for JDK tests. * configure.ac: Call new macros. diffstat: 4 files changed, 129 insertions(+), 4 deletions(-) ChangeLog | 19 ++++++++++++ Makefile.am | 21 +++++++++++-- acinclude.m4 | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 4 ++ diffs (188 lines): diff -r a7b8e4ae90c0 -r e63ec10f8b3d ChangeLog --- a/ChangeLog Fri Jul 16 19:59:59 2010 +0100 +++ b/ChangeLog Sun Jul 18 18:25:01 2010 +0100 @@ -1,3 +1,22 @@ 2010-07-16 Andrew John Hughes + + Allow all or individual test suites to be + disabled. + * Makefile.am: + (TEST_SUITES): Test suites to run. + (TESTS_TO_RUN): Dependencies of jtregcheck. + (check-local): Re-enable. + (.PHONY): Add jtregcheck. + (jtregcheck): Use TEST_SUITES and TESTS_TO_RUN. + * acinclude.m4: + (IT_DISABLE_TESTS): New option to allow all tests + to be turned off. + (IT_DISABLE_HOTSPOT_TESTS): Likewise just for HotSpot tests. + (IT_DISABLE_LANGTOOLS_TESTS): Likewise just for langtools tests. + (IT_DISABLE_JDK_TESTS): Likewise just for JDK tests. + * configure.ac: + Call new macros. + 2010-07-16 Andrew John Hughes * Makefile.am: diff -r a7b8e4ae90c0 -r e63ec10f8b3d Makefile.am --- a/Makefile.am Fri Jul 16 19:59:59 2010 +0100 +++ b/Makefile.am Sun Jul 18 18:25:01 2010 +0100 @@ -246,6 +246,19 @@ if SRC_DIR_HARDLINKABLE SRC_DIR_LINK = -l else SRC_DIR_LINK = $(REFLINK) +endif + +if !DISABLE_TESTS +if !DISABLE_HOTSPOT_TESTS +TEST_SUITES = hotspot +endif +if !DISABLE_JDK_TESTS +TEST_SUITES = $(TEST_SUITES) jdk +endif +if !DISABLE_LANGTOOLS_TESTS +TEST_SUITES = $(TEST_SUITES) langtools +endif +TESTS_TO_RUN = jtreg $(addprefix check-,$(TEST_SUITES)) endif # Target to ensure a patched OpenJDK tree containing Zero & Shark @@ -749,7 +762,7 @@ EXTRA_DIST = $(GENERATED_FILES) $(top_sr all-local: icedtea-stage2 -#check-local: jtregcheck +check-local: jtregcheck clean-local: clean-jtreg clean-jtreg-reports clean-pulse-java \ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ @@ -786,7 +799,7 @@ install: clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \ clean-icedtea icedtea-stage2 clean-icedtea-boot \ clean-rt clean-plugin hotspot hotspot-helper clean-extra clean-jtreg \ - clean-jtreg-reports clean-netx clean-drops + clean-jtreg-reports clean-netx clean-drops jtregcheck env: @echo 'unset JAVA_HOME' @@ -2483,8 +2496,8 @@ jtreg_pids = ps x --no-headers -ww -o pi jtreg_pids = ps x --no-headers -ww -o pid,ppid,args \ | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,$(CURDIR)/$(sdkimg))/ {print $$1}' -jtregcheck: jtreg check-hotspot check-langtools check-jdk - for i in hotspot langtools jdk; do \ +jtregcheck: $(TESTS_TO_RUN) + for i in $(TEST_SUITES); do \ echo "--------------- jtreg console summary for $$i ---------------"; \ egrep -v '^(Passed:|Directory|Re[a-z]+\ written\ to)' test/check-$$i.log; \ done | tee test/jtreg-summary.log diff -r a7b8e4ae90c0 -r e63ec10f8b3d acinclude.m4 --- a/acinclude.m4 Fri Jul 16 19:59:59 2010 +0100 +++ b/acinclude.m4 Sun Jul 18 18:25:01 2010 +0100 @@ -1855,3 +1855,92 @@ AC_MSG_RESULT(${PARALLEL_JOBS}) AC_MSG_RESULT(${PARALLEL_JOBS}) AC_SUBST(PARALLEL_JOBS) ]) + +AC_DEFUN_ONCE([IT_DISABLE_TESTS], +[ + AC_MSG_CHECKING([whether to disable the execution of the JTReg tests]) + AC_ARG_ENABLE([tests], + [AS_HELP_STRING(--disable-tests,do not run the JTReg tests via make check [[default=no]])], + [ + case "${enableval}" in + no) + disable_tests=yes + ;; + *) + disable_tests=no + ;; + esac + ], + [ + disable_tests=no + ]) + AC_MSG_RESULT([$disable_tests]) + AM_CONDITIONAL([DISABLE_TESTS], test x"${disable_tests}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_DISABLE_HOTSPOT_TESTS], +[ + AC_MSG_CHECKING([whether to disable the execution of the HotSpot JTReg tests]) + AC_ARG_ENABLE([hotspot-tests], + [AS_HELP_STRING(--disable-hotspot-tests,do not run the HotSpot JTReg tests via make check-hotspot [[default=no]])], + [ + case "${enableval}" in + no) + disable_hotspot_tests=yes + ;; + *) + disable_hotspot_tests=no + ;; + esac + ], + [ + disable_hotspot_tests=no + ]) + AC_MSG_RESULT([$disable_hotspot_tests]) + AM_CONDITIONAL([DISABLE_HOTSPOT_TESTS], test x"${disable_hotspot_tests}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_DISABLE_LANGTOOLS_TESTS], +[ + AC_MSG_CHECKING([whether to disable the execution of the langtools JTReg tests]) + AC_ARG_ENABLE([langtools-tests], + [AS_HELP_STRING(--disable-tests,do not run the langtools JTReg tests via make check-langtools [[default=no]])], + [ + case "${enableval}" in + no) + disable_langtools_tests=yes + ;; + *) + disable_langtools_tests=no + ;; + esac + ], + [ + disable_langtools_tests=no + ]) + AC_MSG_RESULT([$disable_langtools_tests]) + AM_CONDITIONAL([DISABLE_LANGTOOLS_TESTS], test x"${disable_langtools_tests}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_DISABLE_JDK_TESTS], +[ + AC_MSG_CHECKING([whether to disable the execution of the JDK JTReg tests]) + AC_ARG_ENABLE([jdk-tests], + [AS_HELP_STRING(--disable-tests,do not run the JDK JTReg tests via make check-jdk [[default=no]])], + [ + case "${enableval}" in + no) + disable_jdk_tests=yes + ;; + *) + disable_jdk_tests=no + ;; + esac + ], + [ + disable_jdk_tests=no + ]) + AC_MSG_RESULT([$disable_jdk_tests]) + AM_CONDITIONAL([DISABLE_JDK_TESTS], test x"${disable_jdk_tests}" = "xyes") +]) + diff -r a7b8e4ae90c0 -r e63ec10f8b3d configure.ac --- a/configure.ac Fri Jul 16 19:59:59 2010 +0100 +++ b/configure.ac Sun Jul 18 18:25:01 2010 +0100 @@ -50,6 +50,10 @@ IT_FIND_NUMBER_OF_PROCESSORS IT_FIND_NUMBER_OF_PROCESSORS IT_CP_SUPPORTS_REFLINK IT_CAN_HARDLINK_TO_SOURCE_TREE +IT_DISABLE_TESTS +IT_DISABLE_HOTSPOT_TESTS +IT_DISABLE_LANGTOOLS_TESTS +IT_DISABLE_JDK_TESTS AC_MSG_CHECKING([whether to build the LiveConnect plugin]) AC_ARG_ENABLE([plugin], From xranby at icedtea.classpath.org Mon Jul 19 05:40:16 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 19 Jul 2010 12:40:16 +0000 Subject: /hg/icedtea6: PR icedtea/498: Catch-all handler can be unloaded. Message-ID: changeset bd443070a313 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bd443070a313 author: Xerxes R?nby date: Mon Jul 19 14:39:53 2010 +0200 PR icedtea/498: Catch-all handler can be unloaded. 2010-07-19 Gary Benson Xerxes R?nby PR icedtea/498 * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. diffstat: 2 files changed, 8 insertions(+), 5 deletions(-) ChangeLog | 7 +++++++ ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 6 +----- diffs (30 lines): diff -r b4455c6c313f -r bd443070a313 ChangeLog --- a/ChangeLog Fri Jul 16 15:19:55 2010 -0400 +++ b/ChangeLog Mon Jul 19 14:39:53 2010 +0200 @@ -1,3 +1,10 @@ 2010-07-16 Deepak Bhole + Xerxes R??nby + + PR icedtea/498 + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. + 2010-07-16 Deepak Bhole * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy diff -r b4455c6c313f -r bd443070a313 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Fri Jul 16 15:19:55 2010 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Mon Jul 19 14:39:53 2010 +0200 @@ -526,11 +526,7 @@ void SharkTopLevelBlock::handle_exceptio // Install the catch-all handler, if present if (has_catch_all) { - SharkTopLevelBlock* handler = this->exception(num_options); - assert(handler != NULL, "catch-all handler cannot be unloaded"); - - builder()->CreateBr(handler->entry_block()); - handler->add_incoming(current_state()); + builder()->CreateBr(handler_for_exception(num_options)); return; } } From bugzilla-daemon at icedtea.classpath.org Mon Jul 19 05:43:58 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Jul 2010 12:43:58 +0000 Subject: [Bug 498] Shark sigsegv in new exception handler code regression Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=498 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |6-1.9 ------- Comment #3 from xerxes at zafena.se 2010-07-19 12:43 ------- fix pushed to: http://icedtea.classpath.org/hg/icedtea6/rev/bd443070a313 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xranby at icedtea.classpath.org Mon Jul 19 07:01:31 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 19 Jul 2010 14:01:31 +0000 Subject: /hg/release/icedtea6-1.8: Fix signedness of T_BYTE and T_CHAR re... Message-ID: changeset 162af9c88f31 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=162af9c88f31 author: Gary Benson date: Thu May 13 15:53:35 2010 +0100 Fix signedness of T_BYTE and T_CHAR results diffstat: 2 files changed, 9 insertions(+), 2 deletions(-) ChangeLog | 7 +++++++ ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp | 4 ++-- diffs (31 lines): diff -r 0e8791bf2170 -r 162af9c88f31 ChangeLog --- a/ChangeLog Fri Jul 16 15:19:55 2010 -0400 +++ b/ChangeLog Thu May 13 15:53:35 2010 +0100 @@ -1,3 +1,10 @@ 2010-07-16 Deepak Bhole + + PR icedtea/483 + * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp + (SharkNativeWrapper::initialize): Fix signedness of T_BYTE + and T_CHAR results. + 2010-07-16 Deepak Bhole * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy diff -r 0e8791bf2170 -r 162af9c88f31 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp --- a/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Fri Jul 16 15:19:55 2010 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Thu May 13 15:53:35 2010 +0100 @@ -327,11 +327,11 @@ void SharkNativeWrapper::initialize(cons needs_cast = true; break; - case T_BYTE: + case T_CHAR: needs_cast = true; break; - case T_CHAR: + case T_BYTE: case T_SHORT: needs_cast = true; is_signed = true; From bugzilla-daemon at icedtea.classpath.org Mon Jul 19 07:04:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Jul 2010 14:04:46 +0000 Subject: [Bug 483] Shark miscompiles sun.misc.Unsafe::getByte Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=483 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.9 ------- Comment #2 from xerxes at zafena.se 2010-07-19 14:04 ------- backported to the icedtea6-1.8 release branch for the icedtea6 1.8.1 release. http://icedtea.classpath.org/hg/release/icedtea6-1.8/rev/162af9c88f31 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 19 07:43:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Jul 2010 14:43:43 +0000 Subject: [Bug 514] shark build failure on ARM using thumb toolchain Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=514 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|shark build failure on ARM |shark build failure on ARM | |using thumb toolchain ------- Comment #4 from xerxes at zafena.se 2010-07-19 14:43 ------- llvm/lib/System/Unix/Host.inc contain this switch at LLVM compiletime: // FIXME: We need to pick the right ARM triple (which involves querying the // chip). However, for now this is most important for LLVM arch selection, so // we only need to make sure to distinguish ARM and Thumb. # if defined(__thumb__) Arch = "thumb"; # else Arch = "arm"; # endif This makes llvm use the thumb JIT backend by default when compiling with a thumb toolchain, unfortunally the thumb jit backend are not implemented, see http://llvm.org/bugs/show_bug.cgi?id=6223 and thats why you are hitting this bug. you can pass -march=arm or -mtriple=arm to the JIT at runtime to force llvm to use the implemented ARM JIT -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Mon Jul 19 08:00:25 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 19 Jul 2010 11:00:25 -0400 Subject: /hg/release/icedtea6-1.6: Revert behaviour of isOverrideRedirect... In-Reply-To: References: Message-ID: <20100719150025.GA2235@redhat.com> * Andrew John Hughes [2010-07-18 08:53]: > On 18 July 2010 12:49, Andrew John Hughes wrote: > > On 16 July 2010 21:57, ? wrote: > >> changeset f5cff4063cf3 in /hg/release/icedtea6-1.6 > >> details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f5cff4063cf3 > >> author: Deepak Bhole > >> date: Fri Jul 16 16:56:44 2010 -0400 > >> > >> ? ? ? ?Revert behaviour of isOverrideRedirect to always return false, since > >> ? ? ? ?XToolKit does not support isOverrideRedirect (as upstream patch > >> ? ? ? ?assumes). > >> > >> > >> diffstat: > >> > >> 2 files changed, 6 insertions(+), 13 deletions(-) > >> ChangeLog ? ? ? ? ? ? ? ? ? ? | ? ?6 ++++++ > >> patches/openjdk/6678385.patch | ? 13 ------------- > >> > >> diffs (36 lines): > >> > >> diff -r 18fa77d40df5 -r f5cff4063cf3 ChangeLog > >> --- a/ChangeLog Fri Jul 16 16:53:35 2010 -0400 > >> +++ b/ChangeLog Fri Jul 16 16:56:44 2010 -0400 > >> @@ -1,3 +1,9 @@ 2010-07-16 ?Deepak Bhole >> +2010-07-15 ?Deepak Bhole > >> + > >> + ? ? ? * patches/openjdk/6678385.patch: Revert behaviour of isOverrideRedirect to > >> + ? ? ? always return false, since XToolKit does not support isOverrideRedirect (as > >> + ? ? ? upstream patch assumes). > >> + > >> ?2010-07-16 ?Deepak Bhole > >> > >> ? ? ? ?* patches/icedtea-policy-evaluation.patch: New patch. Fixes policy > >> diff -r 18fa77d40df5 -r f5cff4063cf3 patches/openjdk/6678385.patch > >> --- a/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:53:35 2010 -0400 > >> +++ b/patches/openjdk/6678385.patch ? ? Fri Jul 16 16:56:44 2010 -0400 > >> @@ -231,19 +231,6 @@ diff -uNr openjdk.orig/jdk/src/solaris/c > >> > >> ? ? ? ? ? ? ? ? ?if (status != XlibWrapper.Success || getter.getData() == 0) { > >> ? ? ? ? ? ? ? ? ? ? ?if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed ?status = " + status ); > >> -diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java > >> ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ? ? 2010-07-15 10:28:21.895105718 -0400 > >> -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ? ?2010-07-15 10:28:42.640232090 -0400 > >> -@@ -1155,7 +1155,8 @@ > >> - ? ? } > >> - > >> - ? ? boolean isOverrideRedirect() { > >> -- ? ? ? ?return false; > >> -+// ? ? ? ?return false; > >> -+ ? ? ? ?return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); > >> - ? ? } > >> - > >> - ? ? public boolean requestWindowFocus(long time, boolean timeProvided) { > >> ?diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java > >> ?--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ? ? 2010-07-15 10:28:21.906105640 -0400 > >> ?+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ? ?2010-07-15 10:28:42.642232277 -0400 > >> > > > > I don't see any discussion of this on the list. ?You shouldn't be > > committing patches to the release branches without prior approval. > > > > What is this for? > > -- > > Andrew :-) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > Support Free Java! > > Contribute to GNU Classpath and the OpenJDK > > http://www.gnu.org/software/classpath > > http://openjdk.java.net > > > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 > > > > I just saw a message about this on internal IRC. For the benefit of others: > > gnu_andrew: Does 1.6 build for you? it doesn't for me > openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java:1159: > cannot find symbol > symbol : method isOverrideRedirect(java.awt.Window) > location: class sun.awt.X11.XToolkit > return > ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target); > gnu_andrew: Looks like the 6678385 patch broke it > * dbhole sees if it can be fixed > > If you'd instead posted the same to the list, it could have been > trivially approved by someone and there wouldn't be an issue. It > isn't clear from just the commit that this fixes build breakage. Doh! Sorry about that :( In a haste I completely forgot to post it for review first. My bad.. I will post it up for review in the future. Cheers, Deepak > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jul 19 10:50:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Jul 2010 17:50:18 +0000 Subject: [Bug 351] Spontaneous crashes in rawhide Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=351 ------- Comment #3 from asu at redhat.com 2010-07-19 17:50 ------- Hello Clemens, Are you still crashing after fully upgrading your system and installing the latest openjdk? -Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Mon Jul 19 10:54:24 2010 From: omajid at redhat.com (Omair Majid) Date: Mon, 19 Jul 2010 13:54:24 -0400 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions Message-ID: <4C449150.8040307@redhat.com> Hi, The attached patch makes netx throw exceptions if JNLP applications have unsigned jars but request permissions. This causes netx fail early and loudly rather than assuming sandbox permissions and leading to transient failures. This is similar to what Sun/Oracle's Web Start implementation does. Any comments? Cheers, Omair -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-jnlp-signed-security-combinations.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100719/2cb9c36f/icedtea6-jnlp-signed-security-combinations.patch From bugzilla-daemon at icedtea.classpath.org Mon Jul 19 13:28:50 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Jul 2010 20:28:50 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED ------- Comment #12 from jon.vanalten at redhat.com 2010-07-19 20:28 ------- Never mind finding a concise test case. This is fixed upstream, as of b20 release of OpenJDK6. Which I would have realized earlier, if I'd actually tested against my local build after realizing the ecj-produced bytecode was what hotspot was having trouble with. :/ Building from IcedTea6 head will give you the fix[1], and this should be what you get in next IcedTea6 releases. I can't speak to when such releases will be available via ${distro}. Skimming the change summary from b20[2] it's not immediately obvious to me what fixed this, but using class file produced by ecj, I can (when run-time configured with sufficient heap) run program with 1500 elements without hitting bug. Much more than that requires heap beyond the physical RAM I am working with. [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-June/009417.html [2] http://blogs.sun.com/darcy/resource/OpenJDK_6/openjdk6-b20-changes-summary.html -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Tue Jul 20 03:05:14 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 20 Jul 2010 10:05:14 +0000 Subject: /hg/icedtea: Avoid recursion in calculating list of test suites ... Message-ID: changeset 2651dc3085aa in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=2651dc3085aa author: Andrew John Hughes date: Tue Jul 20 11:05:04 2010 +0100 Avoid recursion in calculating list of test suites to run. 2010-07-18 Andrew John Hughes * Makefile.am: Avoid recursion in working out which test suites to run. (HOTSPOT_TEST_SUITE): Set to 'hotspot' if the HotSpot test suite is on. (LANGTOOLS_TEST_SUITE): Set to 'langtools' if the langtools test suite is on. (JDK_TEST_SUITE): Set to 'jdk' if the JDK test suite is on. diffstat: 2 files changed, 25 insertions(+), 9 deletions(-) ChangeLog | 12 ++++++++++++ Makefile.am | 22 +++++++++++++--------- diffs (52 lines): diff -r e63ec10f8b3d -r 2651dc3085aa ChangeLog --- a/ChangeLog Sun Jul 18 18:25:01 2010 +0100 +++ b/ChangeLog Tue Jul 20 11:05:04 2010 +0100 @@ -1,3 +1,15 @@ 2010-07-18 Andrew John Hughes + + * Makefile.am: + Avoid recursion in working out which + test suites to run. + (HOTSPOT_TEST_SUITE): Set to 'hotspot' if + the HotSpot test suite is on. + (LANGTOOLS_TEST_SUITE): Set to 'langtools' if + the langtools test suite is on. + (JDK_TEST_SUITE): Set to 'jdk' if + the JDK test suite is on. + 2010-07-18 Andrew John Hughes Allow all or individual test suites to be diff -r e63ec10f8b3d -r 2651dc3085aa Makefile.am --- a/Makefile.am Sun Jul 18 18:25:01 2010 +0100 +++ b/Makefile.am Tue Jul 20 11:05:04 2010 +0100 @@ -248,16 +248,20 @@ else SRC_DIR_LINK = $(REFLINK) endif +if !DISABLE_HOTSPOT_TESTS +HOTSPOT_TEST_SUITE = hotspot +endif + +if !DISABLE_JDK_TESTS +JDK_TEST_SUITE = $(TEST_SUITES) jdk +endif + +if !DISABLE_LANGTOOLS_TESTS +LANGTOOLS_TEST_SUITE = langtools +endif + if !DISABLE_TESTS -if !DISABLE_HOTSPOT_TESTS -TEST_SUITES = hotspot -endif -if !DISABLE_JDK_TESTS -TEST_SUITES = $(TEST_SUITES) jdk -endif -if !DISABLE_LANGTOOLS_TESTS -TEST_SUITES = $(TEST_SUITES) langtools -endif +TEST_SUITES = $(HOTSPOT_TEST_SUITE) $(JDK_TEST_SUITE) $(LANGTOOLS_TEST_SUITE) TESTS_TO_RUN = jtreg $(addprefix check-,$(TEST_SUITES)) endif From bugzilla-daemon at icedtea.classpath.org Tue Jul 20 03:44:13 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Jul 2010 10:44:13 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #13 from gnu_andrew at member.fsf.org 2010-07-20 10:44 ------- IcedTea6 HEAD is using a later HotSpot: OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode) There's about a thousand changesets difference between that and 14.0-b16. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Tue Jul 20 04:09:58 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 20 Jul 2010 11:09:58 +0000 Subject: /hg/gfx-test: Added new test cases: rendering of arcs, circles, ... Message-ID: changeset a4d9db570b97 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a4d9db570b97 author: Pavel Tisnovsky date: Tue Jul 20 13:10:11 2010 +0200 Added new test cases: rendering of arcs, circles, polygons and polylines. diffstat: 8 files changed, 607 insertions(+), 3 deletions(-) Makefile | 17 + src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | 1 src/org/gfxtest/testsuites/NormalArcs.java | 115 +++++++++ src/org/gfxtest/testsuites/NormalCircles.java | 114 +++++++++ src/org/gfxtest/testsuites/NormalLines.java | 120 +++++++++ src/org/gfxtest/testsuites/NormalPolygon.java | 115 +++++++++ src/org/gfxtest/testsuites/NormalPolylines.java | 125 ++++++++++ src/org/gfxtest/testsuites/ScaledLines.java | 3 diffs (truncated from 670 to 500 lines): diff -r 43d70c352682 -r a4d9db570b97 Makefile --- a/Makefile Fri Jul 16 17:44:09 2010 +0200 +++ b/Makefile Tue Jul 20 13:10:11 2010 +0200 @@ -49,6 +49,14 @@ JAVAC=javac JAVAC=javac FRAMEWORK_CLASSES = \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/GraphicsPrimitives.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/GraphicsPrimitive.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/RenderStyles.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/RenderStyle.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/TestTypes.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/TestType.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/Transformations.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/annotations/Transformation.class \ $(CLASSES)/$(FRAMEWORK_DIR)/TestResult.class \ $(CLASSES)/$(FRAMEWORK_DIR)/ConfigurationException.class \ $(CLASSES)/$(FRAMEWORK_DIR)/InvalidParameterValueException.class \ @@ -60,11 +68,16 @@ FRAMEWORK_CLASSES = \ TESTSUITE_CLASSES = \ $(CLASSES)/$(TESTSUITE_DIR)/BlankImage.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalArcs.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalLines.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalCircles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalPolygon.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalPolylines.class \ $(CLASSES)/$(TESTSUITE_DIR)/ScaledLines.class \ + $(CLASSES)/$(TESTSUITE_DIR)/ScaledPolylines.class \ + $(CLASSES)/$(TESTSUITE_DIR)/ScaledRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/DashedLines.class \ - $(CLASSES)/$(TESTSUITE_DIR)/ScaledPolylines.class \ $(CLASSES)/$(TESTSUITE_DIR)/DashedPolylines.class \ - $(CLASSES)/$(TESTSUITE_DIR)/ScaledRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/DashedRectangles.class # targets for all test suites diff -r 43d70c352682 -r a4d9db570b97 src/org/gfxtest/framework/annotations/GraphicsPrimitives.java --- a/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Fri Jul 16 17:44:09 2010 +0200 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Tue Jul 20 13:10:11 2010 +0200 @@ -46,6 +46,7 @@ public enum GraphicsPrimitives LINE, RECTANGLE, POLYLINE, + POLYGON, ARC, CIRCLE, } diff -r 43d70c352682 -r a4d9db570b97 src/org/gfxtest/testsuites/NormalArcs.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/NormalArcs.java Tue Jul 20 13:10:11 2010 +0200 @@ -0,0 +1,115 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders arcs using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.ARC) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) +public class NormalArcs extends GfxTest +{ + private static final int MINOR_RADIUS = 50; + private static final int RADIUS_STEP = 30; + + private void drawArc(TestImage image, Graphics2D graphics, float width, int cap) + { + graphics.setStroke(new BasicStroke(width, // width + cap, // cap + BasicStroke.JOIN_BEVEL)); // join + int xc = image.getWidth() >> 1; + int yc = image.getHeight() >> 1; + int majorRadius = (xc > yc ? yc : xc) - 20; + + for (int radius = MINOR_RADIUS; radius < majorRadius; radius += RADIUS_STEP) + { + double r = ((double) radius - MINOR_RADIUS) / (majorRadius - MINOR_RADIUS); + Color color = new Color(Color.HSBtoRGB((float)r, 1.0f, 1.0f)); + graphics.setColor(color); + graphics.drawArc(xc - radius, yc - radius, radius << 1, radius << 1, (int) (r * 360.0), 180); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + float[] widths = { 1.0f, 5.0f, 10.0f, 20.0f, 40.0f }; + int[] caps = { BasicStroke.CAP_SQUARE, BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND }; + int testNumber = 0; + for (int cap : caps) + { + for (float width : widths) + { + String testName = "test" + testNumber; + log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = (Graphics2D) image.getGraphics(); + drawArc(image, graphics, width, cap); + graphics.dispose(); + try + { + image.writeImage(configuration, suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + log.logEnd(testName); + testNumber++; + } + } + } + + public static void main(String[] args) + { + new NormalArcs().runTestSuite(args); + } +} diff -r 43d70c352682 -r a4d9db570b97 src/org/gfxtest/testsuites/NormalCircles.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/NormalCircles.java Tue Jul 20 13:10:11 2010 +0200 @@ -0,0 +1,114 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various circles using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.CIRCLE) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) +public class NormalCircles extends GfxTest +{ + private static final int MINOR_RADIUS = 10; + private static final int MAJOR_RADIUS = 100; + + private void drawCircle(TestImage image, Graphics2D graphics, float width) + { + graphics.setStroke(new BasicStroke(width, // width + BasicStroke.JOIN_MITER, // cap + BasicStroke.JOIN_BEVEL)); // join + int xc = image.getWidth() >> 1; + int yc = image.getHeight() >> 1; + double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); + + for (float m = 0.0f; m < 1.0f; m += 1.0 / 16.0) + { + Color color = new Color(Color.HSBtoRGB(m, 1.0f, 1.0f)); + graphics.setColor(color); + double angle = Math.PI * 2 * m; + int x = (int) (xc + rmaj * Math.cos(angle)); + int y = (int) (yc + rmaj * Math.sin(angle)); + int radius = (int) (MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS)); + graphics.drawOval(x - radius, y - radius, radius << 1, radius << 1); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; + int testNumber = 0; + for (float width : widths) + { + String testName = "test" + testNumber; + log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = (Graphics2D) image.getGraphics(); + drawCircle(image, graphics, width); + graphics.dispose(); + try + { + image.writeImage(configuration, suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + log.logEnd(testName); + testNumber++; + } + } + + public static void main(String[] args) + { + new NormalCircles().runTestSuite(args); + } +} diff -r 43d70c352682 -r a4d9db570b97 src/org/gfxtest/testsuites/NormalLines.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/NormalLines.java Tue Jul 20 13:10:11 2010 +0200 @@ -0,0 +1,120 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various lines using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.LINE) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) +public class NormalLines extends GfxTest +{ + private static final int MINOR_RADIUS = 50; + private static final int ANGLES = 16; + + private void drawLines(TestImage image, Graphics2D graphics, float width, int cap) + { + graphics.setStroke(new BasicStroke(width, // width + cap, // cap + BasicStroke.JOIN_ROUND)); // join + int xc = image.getWidth() >> 1; + int yc = image.getHeight() >> 1; + for (int i = 0; i < ANGLES; i++) + { + Color color = new Color(Color.HSBtoRGB((float)i/ANGLES, 1.0f, 1.0f)); + graphics.setColor(color); + int majorRadius = (xc > yc ? yc : xc) - 20; + double angle = 2.0 * i / ANGLES * Math.PI; + double cos = Math.cos(angle); + double sin = Math.sin(angle); + int x1 = xc + (int)(MINOR_RADIUS*cos); + int y1 = yc + (int)(MINOR_RADIUS*sin); + int x2 = xc + (int)(majorRadius*cos); + int y2 = yc + (int)(majorRadius*sin); + graphics.drawLine(x1, y1, x2, y2); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + float[] widths = { 1.0f, 10.0f, 20.0f, 40.0f, 80.0f }; + int[] caps = { BasicStroke.CAP_SQUARE, BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND }; + int testNumber = 0; + for (int cap : caps) + { + for (float width : widths) + { + String testName = "test" + testNumber; + log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = (Graphics2D) image.getGraphics(); + drawLines(image, graphics, width, cap); + graphics.dispose(); + try + { + image.writeImage(configuration, suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + log.logEnd(testName); + testNumber++; + } + } + } + + public static void main(String[] args) + { + new NormalLines().runTestSuite(args); + } +} diff -r 43d70c352682 -r a4d9db570b97 src/org/gfxtest/testsuites/NormalPolygon.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/NormalPolygon.java Tue Jul 20 13:10:11 2010 +0200 @@ -0,0 +1,115 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various polygons using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.POLYGON) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) +public class NormalPolygon extends GfxTest +{ + private static final int OFFSET = 80; + + private void drawPolygon(TestImage image, Graphics2D graphics, float width, int cap, int join) + { + graphics.setColor(Color.BLACK); + graphics.setStroke(new BasicStroke(width, // width + cap, // cap + join)); // join + int w = image.getWidth(); + int h = image.getHeight(); + int xPoints[] = new int[] { OFFSET, w >> 1, w >> 1, w - OFFSET }; + int yPoints[] = new int[] { h >> 1, OFFSET, h - OFFSET, h >> 1 }; + + graphics.drawPolygon(xPoints, yPoints, xPoints.length); + + drawCross(graphics, OFFSET, h >> 1, CROSS_SIZE); + drawCross(graphics, w >> 1, OFFSET, CROSS_SIZE); + drawCross(graphics, w >> 1, h - OFFSET, CROSS_SIZE); + drawCross(graphics, w - OFFSET, h >> 1, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + float[] widths = { 1.0f, 10.0f, 20.0f, 40.0f, 80.0f }; + int cap = BasicStroke.CAP_SQUARE; + int[] joins = { BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; + int testNumber = 0; + for (int join : joins) From omajid at icedtea.classpath.org Tue Jul 20 06:35:46 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 20 Jul 2010 13:35:46 +0000 Subject: /hg/icedtea6: netx: do not use Look and Feel related methods for... Message-ID: changeset 16b019555725 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=16b019555725 author: Omair Majid date: Tue Jul 20 09:35:12 2010 -0400 netx: do not use Look and Feel related methods for setting up security dialogs 2010-07-20 Omair Majid PR icedtea/372 * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. Remove all usage of Look and Feel related functionality. Extend JPanel. (createSetValueListener): New method. (setVisible): New method. (requestFocusOnDefaultButton): New method. * netx/net/sourceforge/jnlp/security/AccessWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramenter. Call addComponents. (installComponents): Renamed to (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/AppletWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (htmlWrap): Moved to parent class. * netx/net/sourceforge/jnlp/security/CertWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. (CheckBoxListener): Add debug information. * netx/net/sourceforge/jnlp/security/CertsInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. * netx/net/sourceforge/jnlp/security/MoreInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java Extend JDialog instead of JOptionPane. Add panel, value as new fields. (SecurityWarningDialog): Call super and initDialog. (showAccessWarningDialog): Modified to use the cleaned-up api. (showCertWarningDialog): Likewise. (showMoreInfoDialog): Likewise. (showCertInfoDialog): Likewise. (showSingleCertInfoDialog): Likewise. (showAppletWarning): Likewise. (createDialog): Renamed to... (initDialog): New method. Clean up api and remove JOptionPane references. (updateUI): Renamed to... (installPanel): Switch from Look and Feel related setUI methods to simple JComponents. (selectDefaultButton): New method. Causes the default button to request focus. (setValue): New method. Set the return value of this dialog. (getValue): New method. Get the return value of this dialog. (setSystemLookAndFeel): New method. Set the Look and Feel to the System look and feel. * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. (buildTree): Use parant instead of optionPane. (populateTable): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend JPanel instead of SecurityDialogUI. Add two new fields: parent and defaultFocusComponent. (CertificatePane): Take a JDialog as the argument. (installUI): Removed. (setSystemLookAndFeel): Removed. (installComponents): Renamed to ... (addComponents): New method. (focusOnDefaultButton): New method. Makes the defaultFocusComponent get focus. (CloseButtonListener): New class. Disposes the JDialog. * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend JDialog instead of JOptionPane (CertificateViewer): Initialize the JDialog, add the CertificatePanel and set default focus. (updateUI): Removed. (centerDialog): Takes no arguments. (createDialog): Removed. (showCertificateViewer): Use the new cleaned up api for CertificateViewer. (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. diffstat: 12 files changed, 479 insertions(+), 541 deletions(-) ChangeLog | 93 ++++ netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 47 -- netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 27 - netx/net/sourceforge/jnlp/security/CertWarningPane.java | 61 +- netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 19 netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 39 - netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 129 ++++++ netx/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 ---------- netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 187 ++++----- netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 7 netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 78 +-- netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 129 ++---- diffs (truncated from 1623 to 500 lines): diff -r bd443070a313 -r 16b019555725 ChangeLog --- a/ChangeLog Mon Jul 19 14:39:53 2010 +0200 +++ b/ChangeLog Tue Jul 20 09:35:12 2010 -0400 @@ -1,3 +1,96 @@ 2010-07-19 Gary Benson + + PR icedtea/372 + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. + Remove all usage of Look and Feel related functionality. Extend JPanel. + (createSetValueListener): New method. + (setVisible): New method. + (requestFocusOnDefaultButton): New method. + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramenter. Call addComponents. + (installComponents): Renamed to + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (htmlWrap): Moved to parent class. + * netx/net/sourceforge/jnlp/security/CertWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as + a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + (CheckBoxListener): Add debug information. + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java + Extend JDialog instead of JOptionPane. Add panel, value as new fields. + (SecurityWarningDialog): Call super and initDialog. + (showAccessWarningDialog): Modified to use the cleaned-up api. + (showCertWarningDialog): Likewise. + (showMoreInfoDialog): Likewise. + (showCertInfoDialog): Likewise. + (showSingleCertInfoDialog): Likewise. + (showAppletWarning): Likewise. + (createDialog): Renamed to... + (initDialog): New method. Clean up api and remove JOptionPane references. + (updateUI): Renamed to... + (installPanel): Switch from Look and Feel related setUI methods to simple + JComponents. + (selectDefaultButton): New method. Causes the default button to request + focus. + (setValue): New method. Set the return value of this dialog. + (getValue): New method. Get the return value of this dialog. + (setSystemLookAndFeel): New method. Set the Look and Feel to the System + look and feel. + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java + (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. + (buildTree): Use parant instead of optionPane. + (populateTable): Likewise. + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend + JPanel instead of SecurityDialogUI. Add two new fields: parent and + defaultFocusComponent. + (CertificatePane): Take a JDialog as the argument. + (installUI): Removed. + (setSystemLookAndFeel): Removed. + (installComponents): Renamed to ... + (addComponents): New method. + (focusOnDefaultButton): New method. Makes the defaultFocusComponent get + focus. + (CloseButtonListener): New class. Disposes the JDialog. + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend + JDialog instead of JOptionPane + (CertificateViewer): Initialize the JDialog, add the CertificatePanel and + set default focus. + (updateUI): Removed. + (centerDialog): Takes no arguments. + (createDialog): Removed. + (showCertificateViewer): Use the new cleaned up api for CertificateViewer. + (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. + 2010-07-19 Gary Benson Xerxes R??nby diff -r bd443070a313 -r 16b019555725 netx/net/sourceforge/jnlp/security/AccessWarningPane.java --- a/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Mon Jul 19 14:39:53 2010 +0200 +++ b/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -51,44 +51,42 @@ import javax.swing.ImageIcon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import net.sourceforge.jnlp.JNLPFile; -import net.sourceforge.jnlp.runtime.JNLPRuntime; /** - * Provides the look and feel for a SecurityWarningDialog. These dialogs are + * Provides a panel to show inside a SecurityWarningDialog. These dialogs are * used to warn the user when either signed code (with or without signing * issues) is going to be run, or when service permission (file, clipboard, * printer, etc) is needed with unsigned code. * * @author Joshua Sumali */ -public class AccessWarningPane extends SecurityDialogUI { +public class AccessWarningPane extends SecurityDialogPanel { JCheckBox alwaysAllow; Object[] extras; - public AccessWarningPane(JComponent x, CertVerifier certVerifier) { + public AccessWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } - public AccessWarningPane(JComponent x, Object[] extras, CertVerifier certVerifier) { + public AccessWarningPane(SecurityWarningDialog x, Object[] extras, CertVerifier certVerifier) { super(x, certVerifier); this.extras = extras; + addComponents(); } /** - * Creates the actual GUI components, and adds it to optionPane + * Creates the actual GUI components, and adds it to this panel */ - protected void installComponents() { - SecurityWarningDialog.AccessType type = - ((SecurityWarningDialog)optionPane).getType(); - JNLPFile file = - ((SecurityWarningDialog)optionPane).getFile(); + private void addComponents() { + SecurityWarningDialog.AccessType type = parent.getType(); + JNLPFile file = parent.getFile(); String name = ""; String publisher = ""; @@ -173,35 +171,22 @@ public class AccessWarningPane extends S JButton run = new JButton("Allow"); JButton cancel = new JButton("Cancel"); - run.addActionListener(createButtonActionListener(0)); + run.addActionListener(createSetValueListener(parent,0)); run.addActionListener(new CheckBoxListener()); - cancel.addActionListener(createButtonActionListener(1)); + cancel.addActionListener(createSetValueListener(parent, 1)); initialFocusComponent = cancel; buttonPanel.add(run); buttonPanel.add(cancel); buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //all of the above - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - main.add(topPanel); - main.add(infoPanel); - main.add(buttonPanel); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(topPanel); + add(infoPanel); + add(buttonPanel); - optionPane.add(main, BorderLayout.CENTER); } - private static String R(String key) { - return JNLPRuntime.getMessage(key); - } - - private static String R(String key, Object param) { - return JNLPRuntime.getMessage(key, new Object[] {param}); - } - - protected String htmlWrap (String s) { - return ""+s+""; - } private class CheckBoxListener implements ActionListener { public void actionPerformed(ActionEvent e) { diff -r bd443070a313 -r 16b019555725 netx/net/sourceforge/jnlp/security/AppletWarningPane.java --- a/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Mon Jul 19 14:39:53 2010 +0200 +++ b/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -46,18 +46,18 @@ import javax.swing.BorderFactory; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JButton; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; -public class AppletWarningPane extends SecurityDialogUI { +public class AppletWarningPane extends SecurityDialogPanel { - public AppletWarningPane(JComponent x, CertVerifier certVerifier) { + public AppletWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } - protected void installComponents() { + protected void addComponents() { //Top label String topLabelText = "While support for verifying signed code" + @@ -95,9 +95,9 @@ public class AppletWarningPane extends S yes.setPreferredSize(d); no.setPreferredSize(d); cancel.setPreferredSize(d); - yes.addActionListener(createButtonActionListener(0)); - no.addActionListener(createButtonActionListener(1)); - cancel.addActionListener(createButtonActionListener(2)); + yes.addActionListener(createSetValueListener(parent, 0)); + no.addActionListener(createSetValueListener(parent, 1)); + cancel.addActionListener(createSetValueListener(parent, 2)); initialFocusComponent = cancel; buttonPanel.add(yes); buttonPanel.add(no); @@ -105,17 +105,12 @@ public class AppletWarningPane extends S buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //all of the above - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - main.add(topPanel); - main.add(infoPanel); - main.add(buttonPanel); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(topPanel); + add(infoPanel); + add(buttonPanel); - optionPane.add(main, BorderLayout.CENTER); } - protected String htmlWrap (String s) { - return ""+s+""; - } } diff -r bd443070a313 -r 16b019555725 netx/net/sourceforge/jnlp/security/CertWarningPane.java --- a/netx/net/sourceforge/jnlp/security/CertWarningPane.java Mon Jul 19 14:39:53 2010 +0200 +++ b/netx/net/sourceforge/jnlp/security/CertWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -53,7 +53,6 @@ import javax.swing.ImageIcon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; @@ -64,33 +63,31 @@ import net.sourceforge.jnlp.tools.KeyToo import net.sourceforge.jnlp.tools.KeyTool; /** - * Provides the look and feel for a SecurityWarningDialog. These dialogs are + * Provides the panel for using inside a SecurityWarningDialog. These dialogs are * used to warn the user when either signed code (with or without signing * issues) is going to be run, or when service permission (file, clipboard, * printer, etc) is needed with unsigned code. * * @author Joshua Sumali */ -public class CertWarningPane extends SecurityDialogUI { +public class CertWarningPane extends SecurityDialogPanel { JCheckBox alwaysTrust; CertVerifier certVerifier; - public CertWarningPane(JComponent x, CertVerifier certVerifier) { + public CertWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); this.certVerifier = certVerifier; + addComponents(); } /** - * Creates the actual GUI components, and adds it to optionPane + * Creates the actual GUI components, and adds it to this panel */ - protected void installComponents() { - SecurityWarningDialog.AccessType type = - ((SecurityWarningDialog)optionPane).getType(); - JNLPFile file = - ((SecurityWarningDialog)optionPane).getFile(); - Certificate c = ((SecurityWarningDialog)optionPane) - .getJarSigner().getPublisher(); + private void addComponents() { + SecurityWarningDialog.AccessType type = parent.getType(); + JNLPFile file = parent.getFile(); + Certificate c = parent.getJarSigner().getPublisher(); String name = ""; String publisher = ""; @@ -193,26 +190,25 @@ public class CertWarningPane extends Sec Dimension d = new Dimension(buttonWidth, buttonHeight); run.setPreferredSize(d); cancel.setPreferredSize(d); - run.addActionListener(createButtonActionListener(0)); + run.addActionListener(createSetValueListener(parent, 0)); run.addActionListener(new CheckBoxListener()); - cancel.addActionListener(createButtonActionListener(1)); + cancel.addActionListener(createSetValueListener(parent, 1)); initialFocusComponent = cancel; buttonPanel.add(run); buttonPanel.add(cancel); buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //all of the above - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - main.add(topPanel); - main.add(infoPanel); - main.add(buttonPanel); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(topPanel); + add(infoPanel); + add(buttonPanel); JLabel bottomLabel; JButton moreInfo = new JButton("More information..."); moreInfo.addActionListener(new MoreInfoButtonListener()); - if (((SecurityWarningDialog)optionPane).getJarSigner().getRootInCacerts()) + if (parent.getJarSigner().getRootInCacerts()) bottomLabel = new JLabel(htmlWrap(R("STrustedSource"))); else bottomLabel = new JLabel(htmlWrap(R("SUntrustedSource"))); @@ -223,27 +219,14 @@ public class CertWarningPane extends Sec bottomPanel.add(moreInfo); bottomPanel.setPreferredSize(new Dimension(500,100)); bottomPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); - main.add(bottomPanel); + add(bottomPanel); - optionPane.add(main, BorderLayout.CENTER); } - - private static String R(String key) { - return JNLPRuntime.getMessage(key); - } - - protected String htmlWrap (String s) { - return ""+s+""; - } private class MoreInfoButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { - - // TODO: Can we change this to just - // optionPane.showMoreInfo(); ? - SecurityWarningDialog.showMoreInfoDialog( - ((SecurityWarningDialog)optionPane).getJarSigner(), - optionPane); + SecurityWarningDialog.showMoreInfoDialog(parent.getJarSigner(), + parent); } } @@ -255,9 +238,11 @@ public class CertWarningPane extends Sec if (alwaysTrust != null && alwaysTrust.isSelected()) { try { KeyTool kt = new KeyTool(); - Certificate c = - ((SecurityWarningDialog)optionPane).getJarSigner().getPublisher(); + Certificate c = parent.getJarSigner().getPublisher(); kt.importCert(c); + if (JNLPRuntime.isDebug()) { + System.out.println("certificate is now permanently trusted"); + } } catch (Exception ex) { //TODO: Let NetX show a dialog here notifying user //about being unable to add cert to keystore diff -r bd443070a313 -r 16b019555725 netx/net/sourceforge/jnlp/security/CertsInfoPane.java --- a/netx/net/sourceforge/jnlp/security/CertsInfoPane.java Mon Jul 19 14:39:53 2010 +0200 +++ b/netx/net/sourceforge/jnlp/security/CertsInfoPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -58,12 +58,12 @@ import net.sourceforge.jnlp.tools.*; import net.sourceforge.jnlp.tools.*; /** - * Provides the UI for the Certificate Info dialog. This dialog displays data from + * Provides the panel for the Certificate Info dialog. This dialog displays data from * X509Certificate(s) used in jar signing. * * @author Joshua Sumali */ -public class CertsInfoPane extends SecurityDialogUI { +public class CertsInfoPane extends SecurityDialogPanel { private ArrayList certs; private JList list; @@ -76,15 +76,16 @@ public class CertsInfoPane extends Secur private String[] columnNames = { "Field", "Value" }; protected ArrayList certsData; - public CertsInfoPane(JComponent x, CertVerifier certVerifier) { + public CertsInfoPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } /** * Builds the JTree out of CertPaths. */ void buildTree() { - certs = ((SecurityWarningDialog)optionPane).getJarSigner().getCerts(); + certs = parent.getJarSigner().getCerts(); //for now, we're only going to display the first signer, even though //jars can be signed by multiple people. CertPath firstPath = certs.get(0); @@ -176,9 +177,9 @@ public class CertsInfoPane extends Secur } /** - * Constructs the GUI components of this UI + * Constructs the GUI components of this panel */ - protected void installComponents() { + protected void addComponents() { buildTree(); populateTable(); /** @@ -224,14 +225,14 @@ public class CertsInfoPane extends Secur JPanel buttonPane = new JPanel(new BorderLayout()); JButton close = new JButton("Close"); JButton copyToClipboard = new JButton("Copy to Clipboard"); - close.addActionListener(createButtonActionListener(0)); + close.addActionListener(createSetValueListener(parent, 0)); copyToClipboard.addActionListener(new CopyToClipboardHandler()); buttonPane.add(close, BorderLayout.EAST); buttonPane.add(copyToClipboard, BorderLayout.WEST); buttonPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); - optionPane.add(mainPane, BorderLayout.CENTER); - optionPane.add(buttonPane, BorderLayout.SOUTH); + add(mainPane, BorderLayout.CENTER); + add(buttonPane, BorderLayout.SOUTH); } /** diff -r bd443070a313 -r 16b019555725 netx/net/sourceforge/jnlp/security/MoreInfoPane.java --- a/netx/net/sourceforge/jnlp/security/MoreInfoPane.java Mon Jul 19 14:39:53 2010 +0200 +++ b/netx/net/sourceforge/jnlp/security/MoreInfoPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -47,29 +47,27 @@ import javax.swing.BorderFactory; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.sourceforge.jnlp.runtime.JNLPRuntime; - /** - * Provides the UI for the More Info dialog. This dialog shows details about an + * Provides the panel for the More Info dialog. This dialog shows details about an * application's signing status. * * @author Joshua Sumali */ -public class MoreInfoPane extends SecurityDialogUI { +public class MoreInfoPane extends SecurityDialogPanel { - public MoreInfoPane(JComponent x, CertVerifier certVerifier) { + public MoreInfoPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } /** - * Constructs the GUI components of this UI + * Constructs the GUI components of this panel */ - protected void installComponents() { + private void addComponents() { ArrayList details = certVerifier.getDetails(); int numLabels = details.size(); From omajid at redhat.com Tue Jul 20 06:38:26 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 09:38:26 -0400 Subject: [RFC] netx: stop using Look and Feel related methods (PR372) In-Reply-To: <20100716204017.GA8193@redhat.com> References: <4C334BB2.50504@redhat.com> <20100716204017.GA8193@redhat.com> Message-ID: <4C45A6D2.6040400@redhat.com> Hi On 07/16/2010 04:40 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-06 11:29]: >> Netx (incorrectly) uses Look and Feel related hooks and methods to >> create the security-related dialogs it shows to the user [1]. While >> most of the time it has no consequences, a few JNLP applications >> that modify the Look and Feel demonstrate incorrect behaviour [2]. >> The attached patch uses the standard Swing methods to create and >> display GUIs. It is a somewhat large patch, even though most of it >> is fairly mundane - creating JDialogs, setting a JPanel in the >> center depending on the type of dialog and then adding the >> appropriate controls to the JPanel. I have tried to avoid changing >> anything that goes inside the JPanel - it should behave exactly as >> before. I have done some testing and it seems to work just as well >> as before, but I would appreciate it if others could look it over >> and try it out too. >> >> Cheers, >> Omair >> >> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 >> [2] https://substance.dev.java.net/webstart/test.jnlp > > Doh! I thought I went through this one when I approved the rest. > > A lot of these changes do look mechanical as you stated. > > I am fine with committing this to head, but please make sure you have > THOROUGHLY tested this.. breakages in things like security dialog would > make netx/plugin unusable for signed applications, so we need to make > sure it works well. > I have spent some time testing it out. So far I have not observed any problems with either Web Start applications or applets (either signed or unsigned). I have committed it as changeset 16b019555725. Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Tue Jul 20 06:44:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Jul 2010 13:44:21 +0000 Subject: [Bug 372] Netx should stop abusing LookAndFeel related fuctions to do layouts Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from omajid at redhat.com 2010-07-20 13:44 ------- Committed to HEAD: http://icedtea.classpath.org/hg/icedtea6/rev/16b019555725 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 20 06:55:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Jul 2010 13:55:48 +0000 Subject: [Bug 520] Program compiled by ecj causes icedtea to segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=520 ------- Comment #14 from jon.vanalten at redhat.com 2010-07-20 13:55 ------- > > There's about a thousand changesets difference between that and 14.0-b16. > Ah, right. I didn't mention that it was broken at least as late as b18. Still quite a lot of commits. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Tue Jul 20 06:59:37 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 09:59:37 -0400 Subject: [RFC] netx: only create one instance of JNLPClassLoader for entire application In-Reply-To: <20100708183621.GG6677@redhat.com> References: <4C35D9C1.20608@redhat.com> <20100708175634.GD6677@redhat.com> <4C361668.8000905@redhat.com> <20100708183621.GG6677@redhat.com> Message-ID: <4C45ABC9.8030406@redhat.com> On 07/08/2010 02:36 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-08 14:18]: >> On 07/08/2010 01:56 PM, Deepak Bhole wrote: >>> * Omair Majid [2010-07-08 09:59]: >>>> The attached patch modifies the JNLPClassLoader so only one instance >>>> of the loader is created per application. This patch also makes the >>>> classloader keep track of each JNLP file and the resources it loads. >>>> For applets, it only keeps track of the main applet JNLP (the >>>> PluginBridge) and uses that. >>>> >>>> Any comments? >>>> >>>> Cheers, >>>> Omair >>> >>> We already use a single classloader (by merging extension loader paths >>> into the base loader)... >>> >>> What bug required this change? >>> >> >> We merge the paths, but lose all the other information. Consider >> this: anyplace where the current code does a file.foo(), we dont >> know which JNLPFile file actually is. >> > > Is there a test case where this is an issue? > >> Also, this updated version (which knows about the main application >> JNLP and the extension JNLPs) will make it easier to implement the >> new cache for netx that I have been planning. During the >> application's startup, when the Jars are being downloaded and >> verified, we can ensure that all of the application's jars are >> treated the same way and we present a consistent cache to the >> application. In the current implementation sincle multiple >> classloaders are created, each JNLPClassLoader considres the jars >> individually for updates and caching. >> > > We should discuss the new cache system. I imagined all of the > downloading and verification would be moved into a separate caching > subsystem, in which case jnlpclassloaders wouldn't be doing any > downloading, so multiple loaders wouldn't matter. > > Lets discuss that tomorrow. > >> Still, because of how this patch affects the ClassLoader, I would >> appreciate it people could test it out for a bit before it commit >> it. >> > > That is my concern as well. JNLPClassLoader is a very critical file, and > doing this sort of invasive change invalidates a lot of the 'public > testing' it has gone though over the years. > So after discussing the proposed patch offline with Deepak, here is the updated patch that includes slight changes. Cheers, Omair -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-jnlp-single-classloader-reviewed.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/e08077a4/icedtea6-jnlp-single-classloader-reviewed.patch From dbhole at redhat.com Tue Jul 20 07:35:17 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 20 Jul 2010 10:35:17 -0400 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions In-Reply-To: <4C449150.8040307@redhat.com> References: <4C449150.8040307@redhat.com> Message-ID: <20100720143517.GB24249@redhat.com> * Omair Majid [2010-07-19 13:54]: > Hi, > > The attached patch makes netx throw exceptions if JNLP applications > have unsigned jars but request permissions. This causes netx fail > early and loudly rather than assuming sandbox permissions and > leading to transient failures. This is similar to what Sun/Oracle's > Web Start implementation does. > > Any comments? > Looks good! Please commit. Cheers, Deepak > Cheers, > Omair > diff -r bd443070a313 netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Jul 19 14:39:53 2010 +0200 > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Jul 19 13:41:25 2010 -0400 > @@ -50,6 +50,8 @@ > LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. > LCantDetermineMainClass=Unknown Main-Class. > LCantDetermineMainClassInfo=Could not determine the main class for this application. > +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. > +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. > > JNotApplet=File is not an applet. > JNotApplication=File is not an application. > diff -r bd443070a313 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jul 19 14:39:53 2010 +0200 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jul 19 13:41:25 2010 -0400 > @@ -167,7 +167,7 @@ > > } > > - private void setSecurity() { > + private void setSecurity() throws LaunchException { > > URL codebase = null; > > @@ -196,15 +196,22 @@ > } > } else { //regular jnlp file > > - /** > - * If the application is signed, then we set the SecurityDesc to the > - * tag in the jnlp file. Note that if an application is > - * signed, but there is no tag in the jnlp file, the > - * application will get sandbox permissions. > - * If the application is unsigned, we ignore the tag and > - * use a sandbox instead. > + /* > + * Various combinations of the jars being signed and tags being > + * present are possible. They are treated as follows > + * > + * Jars JNLP File Result > + * > + * Signed Appropriate Permissions > + * Signed no Sandbox > + * Unsigned Error > + * Unsigned no Sandbox > + * > */ > - if (signing == true) { > + if (! file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { > + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); > + } > + else if (signing == true) { > this.security = file.getSecurity(); > } else { > this.security = new SecurityDesc(file, From mjw at redhat.com Tue Jul 20 07:58:30 2010 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 20 Jul 2010 16:58:30 +0200 Subject: RFC: Get configure and make BUILD_DIR in sync Message-ID: <1279637910.7456.37.camel@springer.wildebeest.org> Hi, The tapset.in files were using a hardcoded BUILD_DIR location at configure time. This broke slightly when the make changed the BUILD_DIR location (to openjdk.build). That was only an issue if you build without --with-abs-install-dir and tried using the systemtap tapsets "in place". The following patch makes it so that we have the same view of the BUILD_DIR at configure and make time. 2010-07-19 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . OK to commit & push? Thanks, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: build-dir.patch Type: text/x-patch Size: 1479 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/b029c176/build-dir.patch From omajid at redhat.com Tue Jul 20 08:54:43 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 11:54:43 -0400 Subject: [RFC] PR491 npplugin: pass java_{code,codebase,archive} paramters to java side Message-ID: <4C45C6C3.3080004@redhat.com> Hi, The attached patch fixes IcedTea bug 491 "NPPlugin fails loading http://java.sun.com/products/java-media/2D/samples/suite/index.html Plugin pages" [1]. The java side is prepared to handle java_* tags but only in the original tag sent by the plugin, not in the tags (see PluginAppletViewer.parse for the implementation details). So instead of passing the java_* parameters as a this patch makes sure its passed along as part of the tag. In case of duplicates, the java side of the plugin picks java_code over code, java_codebase over codebase and so on. Any comments? Cheers, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=491 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-plugin-java_parameters.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/ed640bc6/icedtea6-plugin-java_parameters.patch From ahughes at redhat.com Tue Jul 20 09:01:12 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Tue, 20 Jul 2010 17:01:12 +0100 Subject: RFC: Get configure and make BUILD_DIR in sync In-Reply-To: <1279637910.7456.37.camel@springer.wildebeest.org> References: <1279637910.7456.37.camel@springer.wildebeest.org> Message-ID: On 20 July 2010 15:58, Mark Wielaard wrote: > Hi, > > The tapset.in files were using a hardcoded BUILD_DIR location at > configure time. This broke slightly when the make changed the BUILD_DIR > location (to openjdk.build). That was only an issue if you build without > --with-abs-install-dir and tried using the systemtap tapsets "in place". > > The following patch makes it so that we have the same view of the > BUILD_DIR at configure and make time. > > 2010-07-19 ?Mark Wielaard ? > > ? ?* configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. > ? ?(with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. > ? ?* Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . > > OK to commit & push? > > Thanks, > > Mark > Looks ok to me. You could also replace the invocation of pwd with ${abs_top_builddir} to match usage elsewhere. Thanks for catching this. I build with abs-install-dir set and wasn't aware it was possible to do otherwise. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Tue Jul 20 09:54:01 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 20 Jul 2010 12:54:01 -0400 Subject: [RFC] PR491 npplugin: pass java_{code,codebase,archive} paramters to java side In-Reply-To: <4C45C6C3.3080004@redhat.com> References: <4C45C6C3.3080004@redhat.com> Message-ID: <20100720165401.GD24249@redhat.com> * Omair Majid [2010-07-20 11:55]: > Hi, > > The attached patch fixes IcedTea bug 491 "NPPlugin fails loading > http://java.sun.com/products/java-media/2D/samples/suite/index.html > Plugin pages" [1]. The java side is prepared to handle java_* tags > but only in the original tag sent by the plugin, not in the > tags (see PluginAppletViewer.parse for the implementation > details). So instead of passing the java_* parameters as a > this patch makes sure its passed along as part of the tag. > > In case of duplicates, the java side of the plugin picks java_code > over code, java_codebase over codebase and so on. > > Any comments? > Looks fine to me. Please commit to HEAD as well as 1.7 and 1.8 Cheers, Deepak > Cheers, > Omair > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=491 > diff -r 16b019555725 plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 09:35:12 2010 -0400 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 11:15:54 2010 -0400 > @@ -1625,6 +1625,13 @@ > g_free (code); > code = NULL; > } > + else if (!g_ascii_strcasecmp (argn[i], "java_code")) > + { > + gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", argv[i]); > + applet_tag = g_strconcat (applet_tag, java_code, NULL); > + g_free (java_code); > + java_code = NULL; > + } > else if (!g_ascii_strcasecmp (argn[i], "codebase")) > { > gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", argv[i]); > @@ -1632,6 +1639,13 @@ > g_free (codebase); > codebase = NULL; > } > + else if (!g_ascii_strcasecmp (argn[i], "java_codebase")) > + { > + gchar* java_codebase = g_strdup_printf ("JAVA_CODEBASE=\"%s\" ", argv[i]); > + applet_tag = g_strconcat (applet_tag, java_codebase, NULL); > + g_free (java_codebase); > + java_codebase = NULL; > + } > else if (!g_ascii_strcasecmp (argn[i], "classid")) > { > gchar* classid = g_strdup_printf ("CLASSID=\"%s\" ", argv[i]); > @@ -1646,6 +1660,13 @@ > g_free (archive); > archive = NULL; > } > + else if (!g_ascii_strcasecmp (argn[i], "java_archive")) > + { > + gchar* java_archive = g_strdup_printf ("JAVA_ARCHIVE=\"%s\" ", argv[i]); > + applet_tag = g_strconcat (applet_tag, java_archive, NULL); > + g_free (java_archive); > + java_archive = NULL; > + } > else if (!g_ascii_strcasecmp (argn[i], "width")) > { > gchar* width = g_strdup_printf ("width=\"%s\" ", argv[i]); From mwong at redhat.com Tue Jul 20 10:24:58 2010 From: mwong at redhat.com (Man Wong) Date: Tue, 20 Jul 2010 13:24:58 -0400 (EDT) Subject: [RFC] Added javawebstart.version property to netx In-Reply-To: <1420097179.667041279646392839.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <2134743830.667541279646698355.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> The attached patch adds javawebstart.version as a system property whenever a jnlp file is being launched. It also gives the user the permission to read that property when working under sandbox permission. This fixes icedtea bug 486. Even though bug 486 says there is a problem with the encoding support. However, after add the encoding support, the file could not be launched because the above permission was denied. Should I file a separate bug for the permission issue, or can I just mention that as part of bug 486? Any comments? Thanks, Man Lung Wong -------------- next part -------------- A non-text attachment was scrubbed... Name: webstart_version_property.patch Type: text/x-patch Size: 1310 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/9c1c5b57/webstart_version_property.patch From omajid at icedtea.classpath.org Tue Jul 20 10:40:17 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 20 Jul 2010 17:40:17 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset c551fe50f731 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c551fe50f731 author: Omair Majid date: Tue Jul 20 13:30:49 2010 -0400 netx: error out when unsigned jnlp applications request permissions 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw a LaunchException if the JNLP file requests permissions but the jars are unsigned. changeset b110028e95cc in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b110028e95cc author: Omair Majid date: Tue Jul 20 13:39:49 2010 -0400 PR icedtea/491 pass java_{code,codebase,archive} paramters to java side 2010-07-20 Omair Majid PR icedtea/491 * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Accept and pass on java_{code,codebase,archive} tags to the java side of the plugin. diffstat: 4 files changed, 54 insertions(+), 9 deletions(-) ChangeLog | 15 +++++++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 2 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 25 +++++++++------ plugin/icedteanp/IcedTeaNPPlugin.cc | 21 ++++++++++++ diffs (121 lines): diff -r 16b019555725 -r b110028e95cc ChangeLog --- a/ChangeLog Tue Jul 20 09:35:12 2010 -0400 +++ b/ChangeLog Tue Jul 20 13:39:49 2010 -0400 @@ -1,3 +1,18 @@ 2010-07-19 Omair Majid + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + +2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + 2010-07-19 Omair Majid PR icedtea/372 diff -r 16b019555725 -r b110028e95cc netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 20 13:39:49 2010 -0400 @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application. +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 16b019555725 -r b110028e95cc netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 20 13:39:49 2010 -0400 @@ -167,7 +167,7 @@ public class JNLPClassLoader extends URL } - private void setSecurity() { + private void setSecurity() throws LaunchException { URL codebase = null; @@ -196,15 +196,22 @@ public class JNLPClassLoader extends URL } } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * */ - if (signing == true) { + if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + else if (signing == true) { this.security = file.getSecurity(); } else { this.security = new SecurityDesc(file, diff -r 16b019555725 -r b110028e95cc plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 09:35:12 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 13:39:49 2010 -0400 @@ -1625,12 +1625,26 @@ plugin_create_applet_tag (int16_t argc, g_free (code); code = NULL; } + else if (!g_ascii_strcasecmp (argn[i], "java_code")) + { + gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_code, NULL); + g_free (java_code); + java_code = NULL; + } else if (!g_ascii_strcasecmp (argn[i], "codebase")) { gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", argv[i]); applet_tag = g_strconcat (applet_tag, codebase, NULL); g_free (codebase); codebase = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_codebase")) + { + gchar* java_codebase = g_strdup_printf ("JAVA_CODEBASE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_codebase, NULL); + g_free (java_codebase); + java_codebase = NULL; } else if (!g_ascii_strcasecmp (argn[i], "classid")) { @@ -1645,6 +1659,13 @@ plugin_create_applet_tag (int16_t argc, applet_tag = g_strconcat (applet_tag, archive, NULL); g_free (archive); archive = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_archive")) + { + gchar* java_archive = g_strdup_printf ("JAVA_ARCHIVE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_archive, NULL); + g_free (java_archive); + java_archive = NULL; } else if (!g_ascii_strcasecmp (argn[i], "width")) { From omajid at icedtea.classpath.org Tue Jul 20 10:47:03 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 20 Jul 2010 17:47:03 +0000 Subject: /hg/release/icedtea6-1.7: PR icedtea/491: pass java_{code,codeba... Message-ID: changeset 7e7059a08814 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=7e7059a08814 author: Omair Majid date: Tue Jul 20 13:46:28 2010 -0400 PR icedtea/491: pass java_{code,codebase,archive} paramters to java 2010-07-20 Omair Majid PR icedtea/491 * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Accept and pass on java_{code,codebase,archive} tags to the java side of the plugin. diffstat: 2 files changed, 28 insertions(+) ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 21 +++++++++++++++++++++ diffs (58 lines): diff -r 02f558ca98d8 -r 7e7059a08814 ChangeLog --- a/ChangeLog Fri Jul 16 15:19:55 2010 -0400 +++ b/ChangeLog Tue Jul 20 13:46:28 2010 -0400 @@ -1,3 +1,10 @@ 2010-07-16 Deepak Bhole + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + 2010-07-16 Deepak Bhole * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy diff -r 02f558ca98d8 -r 7e7059a08814 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Jul 16 15:19:55 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 13:46:28 2010 -0400 @@ -1625,12 +1625,26 @@ plugin_create_applet_tag (int16_t argc, g_free (code); code = NULL; } + else if (!g_ascii_strcasecmp (argn[i], "java_code")) + { + gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_code, NULL); + g_free (java_code); + java_code = NULL; + } else if (!g_ascii_strcasecmp (argn[i], "codebase")) { gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", argv[i]); applet_tag = g_strconcat (applet_tag, codebase, NULL); g_free (codebase); codebase = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_codebase")) + { + gchar* java_codebase = g_strdup_printf ("JAVA_CODEBASE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_codebase, NULL); + g_free (java_codebase); + java_codebase = NULL; } else if (!g_ascii_strcasecmp (argn[i], "classid")) { @@ -1645,6 +1659,13 @@ plugin_create_applet_tag (int16_t argc, applet_tag = g_strconcat (applet_tag, archive, NULL); g_free (archive); archive = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_archive")) + { + gchar* java_archive = g_strdup_printf ("JAVA_ARCHIVE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_archive, NULL); + g_free (java_archive); + java_archive = NULL; } else if (!g_ascii_strcasecmp (argn[i], "width")) { From omajid at icedtea.classpath.org Tue Jul 20 10:50:33 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 20 Jul 2010 17:50:33 +0000 Subject: /hg/release/icedtea6-1.8: PR icedtea/491: pass java_{code,codeba... Message-ID: changeset 38c9e6307044 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=38c9e6307044 author: Omair Majid date: Tue Jul 20 13:50:16 2010 -0400 PR icedtea/491: pass java_{code,codebase,archive} paramters to java 2010-07-20 Omair Majid PR icedtea/491 * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Accept and pass on java_{code,codebase,archive} tags to the java side of the plugin. diffstat: 2 files changed, 28 insertions(+) ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 21 +++++++++++++++++++++ diffs (58 lines): diff -r 162af9c88f31 -r 38c9e6307044 ChangeLog --- a/ChangeLog Thu May 13 15:53:35 2010 +0100 +++ b/ChangeLog Tue Jul 20 13:50:16 2010 -0400 @@ -1,3 +1,10 @@ 2010-07-19 Gary Benson + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + 2010-07-19 Gary Benson PR icedtea/483 diff -r 162af9c88f31 -r 38c9e6307044 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Thu May 13 15:53:35 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 13:50:16 2010 -0400 @@ -1625,12 +1625,26 @@ plugin_create_applet_tag (int16_t argc, g_free (code); code = NULL; } + else if (!g_ascii_strcasecmp (argn[i], "java_code")) + { + gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_code, NULL); + g_free (java_code); + java_code = NULL; + } else if (!g_ascii_strcasecmp (argn[i], "codebase")) { gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", argv[i]); applet_tag = g_strconcat (applet_tag, codebase, NULL); g_free (codebase); codebase = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_codebase")) + { + gchar* java_codebase = g_strdup_printf ("JAVA_CODEBASE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_codebase, NULL); + g_free (java_codebase); + java_codebase = NULL; } else if (!g_ascii_strcasecmp (argn[i], "classid")) { @@ -1645,6 +1659,13 @@ plugin_create_applet_tag (int16_t argc, applet_tag = g_strconcat (applet_tag, archive, NULL); g_free (archive); archive = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_archive")) + { + gchar* java_archive = g_strdup_printf ("JAVA_ARCHIVE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_archive, NULL); + g_free (java_archive); + java_archive = NULL; } else if (!g_ascii_strcasecmp (argn[i], "width")) { From omajid at redhat.com Tue Jul 20 10:51:34 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 13:51:34 -0400 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions In-Reply-To: <20100720143517.GB24249@redhat.com> References: <4C449150.8040307@redhat.com> <20100720143517.GB24249@redhat.com> Message-ID: <4C45E226.1060502@redhat.com> On 07/20/2010 10:35 AM, Deepak Bhole wrote: > * Omair Majid [2010-07-19 13:54]: >> Hi, >> >> The attached patch makes netx throw exceptions if JNLP applications >> have unsigned jars but request permissions. This causes netx fail >> early and loudly rather than assuming sandbox permissions and >> leading to transient failures. This is similar to what Sun/Oracle's >> Web Start implementation does. >> >> Any comments? >> > > > Looks good! Please commit. > Committed as changeset c551fe50f731 to HEAD. Cheers, Omair From omajid at redhat.com Tue Jul 20 10:53:13 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 13:53:13 -0400 Subject: [RFC] PR491 npplugin: pass java_{code, codebase, archive} paramters to java side In-Reply-To: <20100720165401.GD24249@redhat.com> References: <4C45C6C3.3080004@redhat.com> <20100720165401.GD24249@redhat.com> Message-ID: <4C45E289.9090208@redhat.com> On 07/20/2010 12:54 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-20 11:55]: >> Hi, >> >> The attached patch fixes IcedTea bug 491 "NPPlugin fails loading >> http://java.sun.com/products/java-media/2D/samples/suite/index.html >> Plugin pages" [1]. The java side is prepared to handle java_* tags >> but only in the original tag sent by the plugin, not in the >> tags (see PluginAppletViewer.parse for the implementation >> details). So instead of passing the java_* parameters as a >> this patch makes sure its passed along as part of the tag. >> >> In case of duplicates, the java side of the plugin picks java_code >> over code, java_codebase over codebase and so on. >> >> Any comments? >> > > Looks fine to me. Please commit to HEAD as well as 1.7 and 1.8 > Committed as changeset b110028e95cc to HEAD, as 7e7059a08814 on 1.7 branch and as 38c9e6307044 on 1.8 branch. Cheers, Omair From mjw at icedtea.classpath.org Tue Jul 20 11:26:26 2010 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Tue, 20 Jul 2010 18:26:26 +0000 Subject: /hg/icedtea6: Get configure and make BUILD_DIR in sync. Message-ID: changeset 38a53f071801 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=38a53f071801 author: Mark Wielaard date: Tue Jul 20 20:26:03 2010 +0200 Get configure and make BUILD_DIR in sync. 2010-07-20 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . diffstat: 3 files changed, 11 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ Makefile.am | 2 +- configure.ac | 6 ++++-- diffs (50 lines): diff -r b110028e95cc -r 38a53f071801 ChangeLog --- a/ChangeLog Tue Jul 20 13:39:49 2010 -0400 +++ b/ChangeLog Tue Jul 20 20:26:03 2010 +0200 @@ -1,3 +1,9 @@ 2010-07-20 Omair Majid + + * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. + (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. + * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . + 2010-07-20 Omair Majid PR icedtea/491 diff -r b110028e95cc -r 38a53f071801 Makefile.am --- a/Makefile.am Tue Jul 20 13:39:49 2010 -0400 +++ b/Makefile.am Tue Jul 20 20:26:03 2010 +0200 @@ -27,7 +27,7 @@ HOTSPOT_SRC_ZIP = hotspot.tar.gz # Build directories -BUILD_DIR = openjdk.build +BUILD_DIR = @OPENJDK_BUILD_DIR@ BUILD_OUTPUT_DIR = $(abs_top_builddir)/$(BUILD_DIR) DEBUG_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-debug ECJ_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-ecj diff -r b110028e95cc -r 38a53f071801 configure.ac --- a/configure.ac Tue Jul 20 13:39:49 2010 -0400 +++ b/configure.ac Tue Jul 20 20:26:03 2010 +0200 @@ -140,6 +140,8 @@ IT_GET_LSB_DATA IT_SET_ARCH_SETTINGS SET_OS_DIRS +OPENJDK_BUILD_DIR=openjdk.build +AC_SUBST(OPENJDK_BUILD_DIR) if test "${with_openjdk}" = true then @@ -311,10 +313,10 @@ public: [AS_HELP_STRING([--with-abs-install-dir], [The absolute path where the j2sdk-image dir will be installed])], [if test "x${withval}" = x; then - ABS_JAVA_HOME_DIR="`pwd`/openjdk/build/${BUILD_OS_DIR}-${BUILD_ARCH_DIR}/j2sdk-image" + ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image" else ABS_JAVA_HOME_DIR="${withval}" - fi], [ABS_JAVA_HOME_DIR="`pwd`/openjdk/build/${BUILD_OS_DIR}-${BUILD_ARCH_DIR}/j2sdk-image"]) + fi], [ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image"]) AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" From mjw at redhat.com Tue Jul 20 11:28:20 2010 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 20 Jul 2010 20:28:20 +0200 Subject: RFC: Get configure and make BUILD_DIR in sync In-Reply-To: References: <1279637910.7456.37.camel@springer.wildebeest.org> Message-ID: <1279650500.2416.1.camel@hermans.wildebeest.org> Hi Andrew, On Tue, 2010-07-20 at 17:01 +0100, Dr Andrew John Hughes wrote: > Looks ok to me. You could also replace the invocation of pwd with > ${abs_top_builddir} to match usage elsewhere. Thanks, that is indeed nicer. Changed that too. Committed and pushed the attached version. Cheers, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: build-dir.patch2 Type: text/x-patch Size: 1949 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/7434c699/build-dir.patch2 From omajid at redhat.com Tue Jul 20 11:39:51 2010 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Jul 2010 14:39:51 -0400 Subject: [RFC] netx: fix missing space that causes showDocuement(URL) to fail Message-ID: <4C45ED77.60304@redhat.com> Hi, Netx provides a way to open a URL in the web browser using XBasicService.showDocument(URL). Currently it fails to work because of a missing space between the browser command (eg: /usr/bin/firefox) and the URL (eg: www.google.ca). The attached patch attempts to fix this. The problem can be replicated with the program at [1] which does nothing when you enter a url and press enter. Running with -verbose shows: call privileged method: showDocument arg: http://www.google.ca java.io.IOException: Cannot run program "/usr/bin/firefoxhttp://www.google.ca": java.io.IOException: error=2, No such file or directory. Any objections to committing this? Cheers, Omair [1] http://pscode.org/jws/basicserv.jnlp -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea6-jnlp-xbasicservice-command.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100720/a24db80f/icedtea6-jnlp-xbasicservice-command.patch From dbhole at redhat.com Tue Jul 20 12:47:57 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 20 Jul 2010 15:47:57 -0400 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions In-Reply-To: <4C45E226.1060502@redhat.com> References: <4C449150.8040307@redhat.com> <20100720143517.GB24249@redhat.com> <4C45E226.1060502@redhat.com> Message-ID: <20100720194757.GA25991@redhat.com> * Omair Majid [2010-07-20 13:51]: > On 07/20/2010 10:35 AM, Deepak Bhole wrote: > >* Omair Majid [2010-07-19 13:54]: > >>Hi, > >> > >>The attached patch makes netx throw exceptions if JNLP applications > >>have unsigned jars but request permissions. This causes netx fail > >>early and loudly rather than assuming sandbox permissions and > >>leading to transient failures. This is similar to what Sun/Oracle's > >>Web Start implementation does. > >> > >>Any comments? > >> > > > > > >Looks good! Please commit. > > > > Committed as changeset c551fe50f731 to HEAD. > Can you please commit this to the other branches (1.7 and 1.8) as well? Thanks! Deepak > Cheers, > Omair From dbhole at redhat.com Tue Jul 20 12:48:46 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 20 Jul 2010 15:48:46 -0400 Subject: [RFC] Added javawebstart.version property to netx In-Reply-To: <2134743830.667541279646698355.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <1420097179.667041279646392839.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <2134743830.667541279646698355.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <20100720194845.GB25991@redhat.com> * Man Wong [2010-07-20 13:24]: > The attached patch adds javawebstart.version as a system property whenever a > jnlp file is being launched. It also gives the user the permission to read that > property when working under sandbox permission. This fixes icedtea bug 486. > Even though bug 486 says there is a problem with the encoding support. However, > after add the encoding support, the file could not be launched because the > above permission was denied. > > Should I file a separate bug for the permission issue, or can I just mention > that as part of bug 486? > > Any comments? > > Thanks, > Man Lung Wong Looks good. Please commit to 1.7 and 1.8 along with HEAD. Cheers, Deepak > diff -r 16b019555725 netx/net/sourceforge/jnlp/SecurityDesc.java > --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 09:35:12 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 11:11:05 2010 -0400 > @@ -94,6 +94,7 @@ > new PropertyPermission("java.vm.version", "read"), > new PropertyPermission("java.vm.vendor", "read"), > new PropertyPermission("java.vm.name", "read"), > + new PropertyPermission("javawebstart.version", "read"), > new RuntimePermission("exitVM"), > new RuntimePermission("stopThread"), > new AWTPermission("showWindowWithoutWarningBanner"), > diff -r 16b019555725 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 09:35:12 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 11:11:05 2010 -0400 > @@ -167,6 +167,11 @@ > checkInitialized(); > > isWebstartApplication = isApplication; > + > + //Setting the system property for javawebstart's version. > + //The version stored will be the same as java's version. > + System.setProperty("javawebstart.version", "javaws-" + > + System.getProperty("java.version")); > > if (headless == false) > checkHeadless(); From ahughes at redhat.com Tue Jul 20 13:01:55 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Tue, 20 Jul 2010 21:01:55 +0100 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions In-Reply-To: <20100720194757.GA25991@redhat.com> References: <4C449150.8040307@redhat.com> <20100720143517.GB24249@redhat.com> <4C45E226.1060502@redhat.com> <20100720194757.GA25991@redhat.com> Message-ID: On 20 July 2010 20:47, Deepak Bhole wrote: > * Omair Majid [2010-07-20 13:51]: >> On 07/20/2010 10:35 AM, Deepak Bhole wrote: >> >* Omair Majid ?[2010-07-19 13:54]: >> >>Hi, >> >> >> >>The attached patch makes netx throw exceptions if JNLP applications >> >>have unsigned jars but request permissions. This causes netx fail >> >>early and loudly rather than assuming sandbox permissions and >> >>leading to transient failures. This is similar to what Sun/Oracle's >> >>Web Start implementation does. >> >> >> >>Any comments? >> >> >> > >> > >> >Looks good! Please commit. >> > >> >> Committed as changeset c551fe50f731 to HEAD. >> > > Can you please commit this to the other branches (1.7 and 1.8) as well? > Thanks! > > Deepak > >> Cheers, >> Omair > 7 too please for this and the other netx fixes. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Jul 20 13:23:17 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 20 Jul 2010 20:23:17 +0000 Subject: /hg/icedtea: Simplify the plugin build, removing redundant mater... Message-ID: changeset 21e67bb3f91b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=21e67bb3f91b author: Andrew John Hughes date: Tue Jul 20 21:23:07 2010 +0100 Simplify the plugin build, removing redundant material from the obsolete old/new plugin divide. 2010-07-20 Andrew John Hughes Simplify the plugin build. * Makefile.am: (PLUGIN_SRCDIR): Set unconditionally. (PLUGIN_BUILD_DIR): Likewise. (LIVECONNECT_DIR): Likewise. (LIVECONNECT_SRCS): Likewise. (LIVECONNECT_CLASSES): Likewise. (LIVECONNECT_JAR): Likewise. (LIVECONNECT_SRC): Likewise. (PULSE_JAVA_DIR): Likewise. (PULSE_JAVA_NATIVE_SRCDIR): Likewise. (PULSE_JAVA_NATIVE_SRCS): Likewise. (PULSE_JAVA_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_OBJECTS): Likewise. (PULSE_JAVA_JAVA_SRCDIR): Likewise. (PULSE_JAVA_CLASS_DIR): Likewise. (ICEDTEA_ENV): Set ALT_LIVECONNECT_DIST conditionally. (clean-local): Depend on clean-IcedTeaPlugin rather than clean-plugin. (.PHONY): Replace clean-plugin with clean-IcedTeaPlugin. (icedtea): Depend on ICEDTEAPLUGIN_TARGET rather than plugin.stamp. Merge JNLP_ABOUT_NEEDED block with ENABLE_PLUGIN block. (icedtea- debug): Likewise. (icedtea-boot): Likewise. (liveconnect): Only enable if ENABLE_PLUGIN is set. (liveconnect-source-files): Likewise. (liveconnect-dist): Likewise. (icedtea-npplugin): Depend on liveconnect-dist. (plugin.stamp): Removed, superfluous now there is only one plugin. (clean-plugin): Likewise. (clean-pulse-java): Always perform cleanup. (plugin-tests): Depend on ICEDTEAPLUGIN_TARGET. (plugin): Alias for icedtea-npplugin.stamp. * configure.ac: Remove obsolete enable-npplugin option (which no longer does anything). Remove JNLP_ABOUT_NEEDED; now identical to ENABLE_PLUGIN. diffstat: 3 files changed, 110 insertions(+), 94 deletions(-) ChangeLog | 39 ++++++++++++++ Makefile.am | 155 ++++++++++++++++++++++++++-------------------------------- configure.ac | 10 --- diffs (367 lines): diff -r 2651dc3085aa -r 21e67bb3f91b ChangeLog --- a/ChangeLog Tue Jul 20 11:05:04 2010 +0100 +++ b/ChangeLog Tue Jul 20 21:23:07 2010 +0100 @@ -1,3 +1,42 @@ 2010-07-18 Andrew John Hughes + + Simplify the plugin build. + * Makefile.am: + (PLUGIN_SRCDIR): Set unconditionally. + (PLUGIN_BUILD_DIR): Likewise. + (LIVECONNECT_DIR): Likewise. + (LIVECONNECT_SRCS): Likewise. + (LIVECONNECT_CLASSES): Likewise. + (LIVECONNECT_JAR): Likewise. + (LIVECONNECT_SRC): Likewise. + (PULSE_JAVA_DIR): Likewise. + (PULSE_JAVA_NATIVE_SRCDIR): Likewise. + (PULSE_JAVA_NATIVE_SRCS): Likewise. + (PULSE_JAVA_BUILDDIR): Likewise. + (PULSE_JAVA_NATIVE_OBJECTS): Likewise. + (PULSE_JAVA_JAVA_SRCDIR): Likewise. + (PULSE_JAVA_CLASS_DIR): Likewise. + (ICEDTEA_ENV): Set ALT_LIVECONNECT_DIST conditionally. + (clean-local): Depend on clean-IcedTeaPlugin rather than clean-plugin. + (.PHONY): Replace clean-plugin with clean-IcedTeaPlugin. + (icedtea): Depend on ICEDTEAPLUGIN_TARGET rather than plugin.stamp. + Merge JNLP_ABOUT_NEEDED block with ENABLE_PLUGIN block. + (icedtea-debug): Likewise. + (icedtea-boot): Likewise. + (liveconnect): Only enable if ENABLE_PLUGIN is set. + (liveconnect-source-files): Likewise. + (liveconnect-dist): Likewise. + (icedtea-npplugin): Depend on liveconnect-dist. + (plugin.stamp): Removed, superfluous now there is only one plugin. + (clean-plugin): Likewise. + (clean-pulse-java): Always perform cleanup. + (plugin-tests): Depend on ICEDTEAPLUGIN_TARGET. + (plugin): Alias for icedtea-npplugin.stamp. + * configure.ac: + Remove obsolete enable-npplugin option (which no + longer does anything). Remove JNLP_ABOUT_NEEDED; + now identical to ENABLE_PLUGIN. + 2010-07-18 Andrew John Hughes * Makefile.am: diff -r 2651dc3085aa -r 21e67bb3f91b Makefile.am --- a/Makefile.am Tue Jul 20 11:05:04 2010 +0100 +++ b/Makefile.am Tue Jul 20 21:23:07 2010 +0100 @@ -80,6 +80,24 @@ NETX_SRCDIR = netx NETX_SRCDIR = netx NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources + +PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp +PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin.build/icedteanp +LIVECONNECT_DIR = netscape sun/applet +LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java +LIVECONNECT_CLASSES = $(abs_top_builddir)/liveconnect +LIVECONNECT_JAR = $(LIVECONNECT_CLASSES)/lib/classes.jar +LIVECONNECT_SRC = $(LIVECONNECT_CLASSES)/lib/src.zip + +PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio +PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native +PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) +PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build +PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native +PULSE_JAVA_NATIVE_OBJECTS = \ + $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) +PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java +PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_BUILDDIR)/classes if DTDTYPE_QNAME NEED_JAXWS_SRC = true @@ -178,29 +196,11 @@ endif endif if ENABLE_PLUGIN -PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp -PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin.build/icedteanp ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin.stamp -ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -LIVECONNECT_DIR = netscape sun/applet -LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java JNLP_ABOUT_TARGET = extra-lib/about.jar -LIVECONNECT_CLASSES = $(abs_top_builddir)/liveconnect -LIVECONNECT_JAR = $(LIVECONNECT_CLASSES)/lib/classes.jar -LIVECONNECT_SRC = $(LIVECONNECT_CLASSES)/lib/src.zip endif if ENABLE_PULSE_JAVA -# include the makefile in pulseaudio subdir -PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio -PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native -PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build -PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native -PULSE_JAVA_NATIVE_OBJECTS = \ - $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) -PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java -PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_BUILDDIR)/classes PULSE_JAVA_TARGET = stamps/pulse-java.stamp endif @@ -530,7 +530,6 @@ ICEDTEA_ENV = \ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ ALT_JIBX_LIBS_PATH="$(JIBX_DEPS_DIR)" \ ALT_NETX_DIST="$(NETX_CLASSES)" \ - ALT_LIVECONNECT_DIST="$(LIVECONNECT_CLASSES)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ DISABLE_INTREE_EC="true" \ @@ -566,6 +565,11 @@ if WITH_RHINO if WITH_RHINO ICEDTEA_ENV += \ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" +endif + +if ENABLE_PLUGIN +ICEDTEA_ENV += \ + ALT_LIVECONNECT_DIST="$(LIVECONNECT_CLASSES)" endif # OpenJDK boot build environment. @@ -772,7 +776,7 @@ clean-local: clean-jtreg clean-jtreg-rep clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-extra clean-netx clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ - clean-extract clean-generated clean-plugin clean-liveconnect clean-native-ecj \ + clean-extract clean-generated clean-IcedTeaPlugin clean-liveconnect clean-native-ecj \ clean-hgforest clean-icedtea-stage2 clean-icedtea-debug-stage2 clean-icedtea-stage1 \ clean-add-zero clean-add-zero-debug clean-add-cacao clean-add-cacao-debug clean-rt \ clean-rewrite-rhino clean-rewriter @@ -802,7 +806,7 @@ install: clean-bootstrap-directory-symlink-stage2 clean-bootstrap-directory-stage1 \ clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \ clean-icedtea icedtea-stage2 clean-icedtea-boot \ - clean-rt clean-plugin hotspot hotspot-helper clean-extra clean-jtreg \ + clean-rt clean-IcedTeaPlugin hotspot hotspot-helper clean-extra clean-jtreg \ clean-jtreg-reports clean-netx clean-drops jtregcheck env: @@ -1766,7 +1770,7 @@ clean-bootstrap-directory-symlink-stage2 # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ - stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ + $(ICEDTEAPLUGIN_TARGET) $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ stamps/netx-dist.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1781,6 +1785,10 @@ if ENABLE_PLUGIN $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ENABLE_PULSE_JAVA cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ @@ -1793,12 +1801,6 @@ if ENABLE_PULSE_JAVA $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ $(ZIP) -qur $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) -endif -if JNLP_ABOUT_NEEDED - cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ - $(BUILD_OUTPUT_DIR)/j2re-image/lib - cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg @@ -1840,7 +1842,7 @@ endif stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ - stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ + $(ICEDTEAPLUGIN_TARGET) $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ stamps/netx-dist.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1855,6 +1857,10 @@ if ENABLE_PLUGIN $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib + cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ENABLE_PULSE_JAVA cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ @@ -1867,12 +1873,6 @@ if ENABLE_PULSE_JAVA $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/ext (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ $(ZIP) -qur $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) -endif -if JNLP_ABOUT_NEEDED - cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib - cp $(top_srcdir)/$(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib endif if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg @@ -1938,7 +1938,7 @@ clean-icedtea-debug-stage2: stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ stamps/download.stamp $(OPENJDK_BOOT_TREE) stamps/netx-dist.stamp \ - stamps/plugin.stamp stamps/cacao.stamp stamps/rewrite-rhino.stamp + $(ICEDTEAPLUGIN_TARGET) stamps/cacao.stamp stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_BOOT) \ -C openjdk-boot \ @@ -2014,8 +2014,37 @@ PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTea $(MOZILLA_LIBS)\ -shared -o $@ -stamps/icedtea-npplugin.stamp: $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so +liveconnect-source-files.txt: + find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ + touch $@ + +stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp + mkdir -p $(LIVECONNECT_CLASSES) + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(LIVECONNECT_CLASSES) \ + -classpath $(RUNTIME):$(NETX_CLASSES) \ + -sourcepath $(SOURCEPATH_DIRS) \ + -bootclasspath \'\' \ + @liveconnect-source-files.txt + mkdir -p stamps + touch $@ + +stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp + (cd $(LIVECONNECT_CLASSES) ; \ + mkdir -p lib ; \ + $(BOOT_DIR)/bin/jar cf $(LIVECONNECT_JAR) $(LIVECONNECT_DIR) ; \ + cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(ZIP) -qr $(LIVECONNECT_SRC) ${LIVECONNECT_DIR} \ + ) + mkdir -p stamps + touch $@ + +stamps/icedtea-npplugin.stamp: $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ + stamps/liveconnect-dist.stamp touch stamps/icedtea-npplugin.stamp +endif clean-IcedTeaPlugin: rm -f $(addprefix $(PLUGIN_BUILD_DIR)/,$(PLUGIN_OBJECTS)) @@ -2027,46 +2056,6 @@ clean-IcedTeaPlugin: rmdir plugin.build ; \ fi rm -f stamps/icedtea-npplugin.stamp -endif - -stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) stamps/liveconnect-dist.stamp - mkdir -p stamps - touch $@ - -clean-plugin: $(ICEDTEAPLUGIN_CLEAN) - rm -f stamps/plugin.stamp - -liveconnect-source-files.txt: - if test "x${LIVECONNECT_DIR}" != x; then \ - find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \ - fi - touch $@ - -stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp - if test "x${LIVECONNECT_DIR}" != x; then \ - mkdir -p $(LIVECONNECT_CLASSES) && \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(LIVECONNECT_CLASSES) \ - -classpath $(RUNTIME):$(NETX_CLASSES) \ - -sourcepath $(SOURCEPATH_DIRS) \ - -bootclasspath \'\' \ - @liveconnect-source-files.txt ; \ - fi - mkdir -p stamps - touch $@ - -stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp - if test "x${LIVECONNECT_DIR}" != x; then \ - (cd $(LIVECONNECT_CLASSES) ; \ - mkdir -p lib ; \ - $(BOOT_DIR)/bin/jar cf $(LIVECONNECT_JAR) $(LIVECONNECT_DIR) ; \ - cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \ - find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ - cd src ; \ - $(ZIP) -qr $(LIVECONNECT_SRC) ${LIVECONNECT_DIR} ) ; \ - fi - mkdir -p stamps - touch $@ clean-liveconnect: rm -rf $(LIVECONNECT_CLASSES) @@ -2185,14 +2174,12 @@ endif endif clean-pulse-java: -if ENABLE_PULSE_JAVA - [ -z "$(PULSE_JAVA_NATIVE_BUILDDIR)" ] || rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) - [ -z "$(PULSE_JAVA_CLASS_DIR)" ] || rm -rf $(PULSE_JAVA_CLASS_DIR) + rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) + rm -rf $(PULSE_JAVA_CLASS_DIR) rm -f pulse-java.jar if [ -e $(PULSE_JAVA_BUILDDIR) ]; then \ rmdir $(PULSE_JAVA_BUILDDIR) ; \ fi -endif rm -f stamps/pulse-java*.stamp # end of pulse-java @@ -2420,7 +2407,7 @@ clean-add-zero-debug: # plugin tests if ENABLE_PLUGIN -stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp +stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) $(ICEDTEAPLUGIN_TARGET) mkdir -p plugin/tests/LiveConnect $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d plugin/tests/LiveConnect \ @@ -2429,7 +2416,7 @@ stamps/plugin-tests.stamp: $(PLUGIN_TEST plugin/tests/LiveConnect/*.class ; cp -pPR --reflink-auto $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ plugin/tests/LiveConnect ; - echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ + echo "Done. Now load \"file://$(abs_top_builddir)/index.html\" in your browser" ; \ mkdir -p stamps touch stamps/plugin-tests.stamp endif @@ -2655,7 +2642,7 @@ patch-fsg: stamps/patch-fsg.stamp patch-jaxws: stamps/patch-jaxws.stamp -plugin: stamps/plugin.stamp +plugin: stamps/icedtea-npplugin.stamp plugin-tests: stamps/plugin-tests.stamp diff -r 2651dc3085aa -r 21e67bb3f91b configure.ac --- a/configure.ac Tue Jul 20 11:05:04 2010 +0100 +++ b/configure.ac Tue Jul 20 21:23:07 2010 +0100 @@ -62,16 +62,6 @@ AC_ARG_ENABLE([plugin], [enable_plugin="${enableval}"], [enable_plugin="yes"]) AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") AC_MSG_RESULT(${enable_plugin}) - -AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) -AC_ARG_ENABLE([npplugin], - [AS_HELP_STRING([--enable-npplugin], - [Enable compilation of browser plugin (automatically disables default plugin)])], - [enable_npplugin="${enableval}"], [enable_npplugin="no"]) -AM_CONDITIONAL(ENABLE_NPPLUGIN, test "x${enable_npplugin}" = "xyes") -AC_MSG_RESULT(${enable_npplugin}) - -AM_CONDITIONAL(JNLP_ABOUT_NEEDED, test "x${enable_npplugin}" = "xyes" -o "x${enable_plugin}" = "xyes") AC_MSG_CHECKING([whether to include PulseAudio support]) AC_ARG_ENABLE([pulse-java], From mwong at icedtea.classpath.org Tue Jul 20 13:32:42 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 20 Jul 2010 20:32:42 +0000 Subject: /hg/icedtea6: Adds javawebstart.version property and give user p... Message-ID: changeset 4bcc2702e0ec in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4bcc2702e0ec author: Man Lung Wong date: Tue Jul 20 16:31:28 2010 -0400 Adds javawebstart.version property and give user permission to read that proerty during sandbox permission. diffstat: 3 files changed, 16 insertions(+) ChangeLog | 10 ++++++++++ netx/net/sourceforge/jnlp/SecurityDesc.java | 1 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 5 +++++ diffs (43 lines): diff -r 38a53f071801 -r 4bcc2702e0ec ChangeLog --- a/ChangeLog Tue Jul 20 20:26:03 2010 +0200 +++ b/ChangeLog Tue Jul 20 16:31:28 2010 -0400 @@ -1,3 +1,13 @@ 2010-07-20 Mark Wielaard + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version + property as part of sandbox permission. + + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched. + 2010-07-20 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. diff -r 38a53f071801 -r 4bcc2702e0ec netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 20:26:03 2010 +0200 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 16:31:28 2010 -0400 @@ -94,6 +94,7 @@ public class SecurityDesc { new PropertyPermission("java.vm.version", "read"), new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), + new PropertyPermission("javawebstart.version", "read"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), diff -r 38a53f071801 -r 4bcc2702e0ec netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 20:26:03 2010 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 16:31:28 2010 -0400 @@ -167,6 +167,11 @@ public class JNLPRuntime { checkInitialized(); isWebstartApplication = isApplication; + + //Setting the system property for javawebstart's version. + //The version stored will be the same as java's version. + System.setProperty("javawebstart.version", "javaws-" + + System.getProperty("java.version")); if (headless == false) checkHeadless(); From mwong at icedtea.classpath.org Tue Jul 20 13:40:36 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 20 Jul 2010 20:40:36 +0000 Subject: /hg/icedtea6: Minor formatting error and forgot to mention relat... Message-ID: changeset 7a124a6f0568 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7a124a6f0568 author: Man Lung Wong date: Tue Jul 20 16:38:54 2010 -0400 Minor formatting error and forgot to mention related bug in Changelog. diffstat: 1 file changed, 3 insertions(+), 3 deletions(-) ChangeLog | 6 +++--- diffs (19 lines): diff -r 4bcc2702e0ec -r 7a124a6f0568 ChangeLog --- a/ChangeLog Tue Jul 20 16:31:28 2010 -0400 +++ b/ChangeLog Tue Jul 20 16:38:54 2010 -0400 @@ -1,12 +1,12 @@ 2010-07-20 Man Lung Wong mwong at redhat. -2010-07-20 Man Lung Wong mwong at redhat.com> +2010-07-20 Man Lung Wong * netx/net/sourceforge/jnlp/SecurityDesc.java: Add permission to read javawebstart.version property as part of sandbox permission. - * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set the javawebstart.version property as part of System property - whenever a jnlp file is being launched. + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). 2010-07-20 Mark Wielaard From mwong at icedtea.classpath.org Tue Jul 20 13:49:27 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 20 Jul 2010 20:49:27 +0000 Subject: /hg/release/icedtea6-1.7: Adds javawebstart.version property and... Message-ID: changeset ce09ca575fdb in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=ce09ca575fdb author: Man Lung Wong date: Tue Jul 20 16:49:21 2010 -0400 Adds javawebstart.version property and give user permission to read that property during sandbox permission. diffstat: 3 files changed, 16 insertions(+) ChangeLog | 10 ++++++++++ rt/net/sourceforge/jnlp/SecurityDesc.java | 1 + rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 5 +++++ diffs (43 lines): diff -r 7e7059a08814 -r ce09ca575fdb ChangeLog --- a/ChangeLog Tue Jul 20 13:46:28 2010 -0400 +++ b/ChangeLog Tue Jul 20 16:49:21 2010 -0400 @@ -1,3 +1,13 @@ 2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version property as part of + sandbox permission. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). + 2010-07-20 Omair Majid PR icedtea/491 diff -r 7e7059a08814 -r ce09ca575fdb rt/net/sourceforge/jnlp/SecurityDesc.java --- a/rt/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 13:46:28 2010 -0400 +++ b/rt/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 16:49:21 2010 -0400 @@ -94,6 +94,7 @@ public class SecurityDesc { new PropertyPermission("java.vm.version", "read"), new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), + new PropertyPermission("javawebstart.version", "read"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), diff -r 7e7059a08814 -r ce09ca575fdb rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 13:46:28 2010 -0400 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 16:49:21 2010 -0400 @@ -167,6 +167,11 @@ public class JNLPRuntime { checkInitialized(); isWebstartApplication = isApplication; + + //Setting the system property for javawebstart's version. + //The version stored will be the same as java's version. + System.setProperty("javawebstart.version", "javaws-" + + System.getProperty("java.version")); if (headless == false) checkHeadless(); From mwong at icedtea.classpath.org Tue Jul 20 13:52:35 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Tue, 20 Jul 2010 20:52:35 +0000 Subject: /hg/release/icedtea6-1.8: Adds javawebstart.version property and... Message-ID: changeset 2489bca2d112 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=2489bca2d112 author: Man Lung Wong date: Tue Jul 20 16:52:27 2010 -0400 Adds javawebstart.version property and give user permission to read that property during sandbox permission. diffstat: 3 files changed, 16 insertions(+) ChangeLog | 10 ++++++++++ netx/net/sourceforge/jnlp/SecurityDesc.java | 1 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 5 +++++ diffs (43 lines): diff -r 38c9e6307044 -r 2489bca2d112 ChangeLog --- a/ChangeLog Tue Jul 20 13:50:16 2010 -0400 +++ b/ChangeLog Tue Jul 20 16:52:27 2010 -0400 @@ -1,3 +1,13 @@ 2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version property as part of + sandbox permission. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). + 2010-07-20 Omair Majid PR icedtea/491 diff -r 38c9e6307044 -r 2489bca2d112 netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 13:50:16 2010 -0400 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 16:52:27 2010 -0400 @@ -94,6 +94,7 @@ public class SecurityDesc { new PropertyPermission("java.vm.version", "read"), new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), + new PropertyPermission("javawebstart.version", "read"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), diff -r 38c9e6307044 -r 2489bca2d112 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 13:50:16 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 16:52:27 2010 -0400 @@ -167,6 +167,11 @@ public class JNLPRuntime { checkInitialized(); isWebstartApplication = isApplication; + + //Setting the system property for javawebstart's version. + //The version stored will be the same as java's version. + System.setProperty("javawebstart.version", "javaws-" + + System.getProperty("java.version")); if (headless == false) checkHeadless(); From mwong at redhat.com Tue Jul 20 13:58:20 2010 From: mwong at redhat.com (Man Wong) Date: Tue, 20 Jul 2010 16:58:20 -0400 (EDT) Subject: [RFC] Added javawebstart.version property to netx In-Reply-To: <1348425132.692291279659375864.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <1563351697.692661279659500043.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Pushed as changesets -2489bca2d112 for 1.8 -ce09ca575fdb for 1.7 -7a124a6f0568 and 4bcc2702e0ec for head (there are 2 because of minor formatting mistakes made in the Changelog, which was fixed in 7a124a6f0568). Thanks, Man Lung Wong ----- "Deepak Bhole" wrote: > * Man Wong [2010-07-20 13:24]: > > The attached patch adds javawebstart.version as a system property > whenever a > > jnlp file is being launched. It also gives the user the permission > to read that > > property when working under sandbox permission. This fixes icedtea > bug 486. > > Even though bug 486 says there is a problem with the encoding > support. However, > > after add the encoding support, the file could not be launched > because the > > above permission was denied. > > > > Should I file a separate bug for the permission issue, or can I just > mention > > that as part of bug 486? > > > > Any comments? > > > > Thanks, > > Man Lung Wong > > Looks good. Please commit to 1.7 and 1.8 along with HEAD. > > Cheers, > Deepak > > > diff -r 16b019555725 netx/net/sourceforge/jnlp/SecurityDesc.java > > --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 > 09:35:12 2010 -0400 > > +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 > 11:11:05 2010 -0400 > > @@ -94,6 +94,7 @@ > > new PropertyPermission("java.vm.version", "read"), > > new PropertyPermission("java.vm.vendor", "read"), > > new PropertyPermission("java.vm.name", "read"), > > + new PropertyPermission("javawebstart.version", "read"), > > new RuntimePermission("exitVM"), > > new RuntimePermission("stopThread"), > > new AWTPermission("showWindowWithoutWarningBanner"), > > diff -r 16b019555725 > netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java > > --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 > 09:35:12 2010 -0400 > > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 > 11:11:05 2010 -0400 > > @@ -167,6 +167,11 @@ > > checkInitialized(); > > > > isWebstartApplication = isApplication; > > + > > + //Setting the system property for javawebstart's version. > > + //The version stored will be the same as java's version. > > + System.setProperty("javawebstart.version", "javaws-" + > > + System.getProperty("java.version")); > > > > if (headless == false) > > checkHeadless(); From andrew at icedtea.classpath.org Tue Jul 20 14:12:52 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 20 Jul 2010 21:12:52 +0000 Subject: /hg/icedtea: Fix autotools warnings and errors thrown up by auto... Message-ID: changeset 1df7fd93eecc in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=1df7fd93eecc author: Andrew John Hughes date: Tue Jul 20 22:12:45 2010 +0100 Fix autotools warnings and errors thrown up by autobuilder. 2010-07-20 Andrew John Hughes * configure.ac: Remove redundant call to WITH_OPENJDK_SRC_DIR. Now pulled in by IT_OBTAIN_HG_REVISIONS. * Makefile.am: (JDK_TEST_SUITE): Remove old reference to TEST_SUITES. diffstat: 3 files changed, 9 insertions(+), 2 deletions(-) ChangeLog | 8 ++++++++ Makefile.am | 2 +- configure.ac | 1 - diffs (38 lines): diff -r 21e67bb3f91b -r 1df7fd93eecc ChangeLog --- a/ChangeLog Tue Jul 20 21:23:07 2010 +0100 +++ b/ChangeLog Tue Jul 20 22:12:45 2010 +0100 @@ -1,3 +1,11 @@ 2010-07-20 Andrew John Hughes + + * configure.ac: + Remove redundant call to WITH_OPENJDK_SRC_DIR. + Now pulled in by IT_OBTAIN_HG_REVISIONS. + * Makefile.am: + (JDK_TEST_SUITE): Remove old reference to TEST_SUITES. + 2010-07-20 Andrew John Hughes Simplify the plugin build. diff -r 21e67bb3f91b -r 1df7fd93eecc Makefile.am --- a/Makefile.am Tue Jul 20 21:23:07 2010 +0100 +++ b/Makefile.am Tue Jul 20 22:12:45 2010 +0100 @@ -253,7 +253,7 @@ endif endif if !DISABLE_JDK_TESTS -JDK_TEST_SUITE = $(TEST_SUITES) jdk +JDK_TEST_SUITE = jdk endif if !DISABLE_LANGTOOLS_TESTS diff -r 21e67bb3f91b -r 1df7fd93eecc configure.ac --- a/configure.ac Tue Jul 20 21:23:07 2010 +0100 +++ b/configure.ac Tue Jul 20 22:12:45 2010 +0100 @@ -151,7 +151,6 @@ WITH_JAXWS_SRC_ZIP WITH_JAXWS_SRC_ZIP WITH_JDK_SRC_ZIP WITH_LANGTOOLS_SRC_ZIP -WITH_OPENJDK_SRC_DIR WITH_ALT_JAR_BINARY WITH_JAXP_DROP_ZIP WITH_JAF_DROP_ZIP From andrew at icedtea.classpath.org Wed Jul 21 01:21:46 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 08:21:46 +0000 Subject: /hg/icedtea: Minor Makefile cleanups and addition of VERBOSE. Message-ID: changeset 0cae6a810c07 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0cae6a810c07 author: Andrew John Hughes date: Wed Jul 21 09:21:37 2010 +0100 Minor Makefile cleanups and addition of VERBOSE. 2010-07-20 Andrew John Hughes * Makefile.am: (ICEDTEA_BUILD_TARGET): Match formatting used by IcedTea6. (ICEDTEA_DEBUG_BUILD_TARGET): Likewise. (clean-local): Remove redundant reference to jni- common.o (ports): Remove redundant hotspot/build replacement. (plugin-tests): Fix broken reference to reflink with SRC_DIR_LINK. 2010-02-26 Mark Wielaard (VERBOSE): Use value of VERBOSE passed from user. diffstat: 2 files changed, 23 insertions(+), 9 deletions(-) ChangeLog | 14 ++++++++++++++ Makefile.am | 18 +++++++++--------- diffs (78 lines): diff -r 1df7fd93eecc -r 0cae6a810c07 ChangeLog --- a/ChangeLog Tue Jul 20 22:12:45 2010 +0100 +++ b/ChangeLog Wed Jul 21 09:21:37 2010 +0100 @@ -1,3 +1,17 @@ 2010-07-20 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_BUILD_TARGET): Match formatting used by IcedTea6. + (ICEDTEA_DEBUG_BUILD_TARGET): Likewise. + (clean-local): Remove redundant reference to jni-common.o + (ports): Remove redundant hotspot/build replacement. + (plugin-tests): Fix broken reference to reflink with + SRC_DIR_LINK. + +2010-02-26 Mark Wielaard + + (VERBOSE): Use value of VERBOSE passed from user. + 2010-07-20 Andrew John Hughes * configure.ac: diff -r 1df7fd93eecc -r 0cae6a810c07 Makefile.am --- a/Makefile.am Tue Jul 20 22:12:45 2010 +0100 +++ b/Makefile.am Wed Jul 21 09:21:37 2010 +0100 @@ -216,10 +216,10 @@ endif endif if WITH_CACAO - ICEDTEA_BUILD_TARGET=jdk_only - ICEDTEA_DEBUG_BUILD_TARGET=jdk_fastdebug_only + ICEDTEA_BUILD_TARGET = jdk_only + ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only else - ICEDTEA_DEBUG_BUILD_TARGET=debug_build + ICEDTEA_DEBUG_BUILD_TARGET = debug_build endif if BOOTSTRAPPING @@ -534,7 +534,8 @@ ICEDTEA_ENV = \ DEBUG_BINARIES="true" \ DISABLE_INTREE_EC="true" \ ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ - ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" + ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ + VERBOSE="$(VERBOSE)" if WITH_CACAO ICEDTEA_ENV += \ @@ -786,7 +787,6 @@ clean-local: clean-jtreg clean-jtreg-rep if [ -e lib ]; then \ rmdir lib ; \ fi - rm -f jni-common.o distclean-local: clean-local clean-download if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ @@ -1320,7 +1320,7 @@ stamps/ports.stamp: stamps/extract.stamp $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ - link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/make#"); \ + link=$$(dirname $$target | sed 's/^.*ports/openjdk/'); \ ln -sfv $$target $$link; \ done if ! test "x$(WITH_CACAO)" = "xno" ; then \ @@ -2413,9 +2413,9 @@ stamps/plugin-tests.stamp: $(PLUGIN_TEST -d plugin/tests/LiveConnect \ -classpath $(LIVECONNECT_JAR) $(PLUGIN_TEST_SRCS) ; $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ - plugin/tests/LiveConnect/*.class ; - cp -pPR --reflink-auto $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ - plugin/tests/LiveConnect ; + plugin/tests/LiveConnect/*.class + cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ + plugin/tests/LiveConnect echo "Done. Now load \"file://$(abs_top_builddir)/index.html\" in your browser" ; \ mkdir -p stamps touch stamps/plugin-tests.stamp From andrew at icedtea.classpath.org Wed Jul 21 01:30:15 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 08:30:15 +0000 Subject: /hg/release/icedtea6-1.6: 2 new changesets Message-ID: changeset 77b720a556d3 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=77b720a556d3 author: Andrew John Hughes date: Wed Jul 21 09:22:50 2010 +0100 Fix use of fstatat in NIO2 on architectures other than x86 and x86_64. 2010-07-20 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/Un ixNativeDispatcher.c: Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. changeset 5ff85a33bb11 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=5ff85a33bb11 author: Andrew John Hughes date: Wed Jul 21 09:30:05 2010 +0100 Turn off plugin by default and warn about its use. 2010-07-21 Andrew John Hughes * configure.ac: Turn off plugin by default and warn about its use. diffstat: 3 files changed, 25 insertions(+), 30 deletions(-) ChangeLog | 12 ++- configure.ac | 6 + overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 37 ++-------- diffs (102 lines): diff -r f5cff4063cf3 -r 5ff85a33bb11 ChangeLog --- a/ChangeLog Fri Jul 16 16:56:44 2010 -0400 +++ b/ChangeLog Wed Jul 21 09:30:05 2010 +0100 @@ -1,7 +1,17 @@ 2010-07-15 Deepak Bhole + + * configure.ac: + Turn off plugin by default and warn about its use. + +2010-07-20 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c: + Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. + 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: Revert behaviour of isOverrideRedirect to - always return false, since XToolKit does not support isOverrideRedirect (as + always return false, since XToolKit does not support isOverrideRedirect (as upstream patch assumes). 2010-07-16 Deepak Bhole diff -r f5cff4063cf3 -r 5ff85a33bb11 configure.ac --- a/configure.ac Fri Jul 16 16:56:44 2010 -0400 +++ b/configure.ac Wed Jul 21 09:30:05 2010 +0100 @@ -95,9 +95,13 @@ AC_ARG_ENABLE([plugin], AC_ARG_ENABLE([plugin], [AS_HELP_STRING([--disable-plugin], [Disable compilation of browser plugin])], - [enable_plugin="${enableval}"], [enable_plugin="yes"]) + [enable_plugin="${enableval}"], [enable_plugin="no"]) AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes") AC_MSG_RESULT(${enable_plugin}) + +if test "x${enable_plugin}" = "xyes"; then + AC_MSG_WARN([The plugin supplied with IcedTea6 ${PACKAGE_VERSION} is no longer maintained. Please upgrade to IcedTea6 1.7.3 or later for plugin support.]) +fi AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) AC_ARG_ENABLE([npplugin], diff -r f5cff4063cf3 -r 5ff85a33bb11 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c --- a/overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Fri Jul 16 16:56:44 2010 -0400 +++ b/overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Wed Jul 21 09:30:05 2010 +0100 @@ -22,6 +22,13 @@ * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ + +/** + * fstatat in glibc requires _ATFILE_SOURCE to be defined. + */ +#if defined(__linux__) +#define _ATFILE_SOURCE +#endif #include #include @@ -102,32 +109,6 @@ static fdopendir_func* my_fdopendir_func static fdopendir_func* my_fdopendir_func = NULL; /** - * fstatat missing from glibc on Linux. Temporary workaround - * for x86/x64, will fail to compile on other architectures. - */ -#if defined(__linux__) && defined(__i386) -static int fstatat64_wrapper(int dfd, const char *path, - struct stat64 *statbuf, int flag) -{ - #ifndef __NR_fstatat64 - #define __NR_fstatat64 300 - #endif - return syscall(__NR_fstatat64, dfd, path, statbuf, flag); -} -#endif - -#if defined(__linux__) && defined(__x86_64__) -static int fstatat64_wrapper(int dfd, const char *path, - struct stat64 *statbuf, int flag) -{ - #ifndef __NR_newfstatat - #define __NR_newfstatat 262 - #endif - return syscall(__NR_newfstatat, dfd, path, statbuf, flag); -} -#endif - -/** * Call this to throw an internal UnixException when a system/library * call fails */ @@ -198,9 +179,9 @@ Java_sun_nio_fs_UnixNativeDispatcher_ini my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir"); #if defined(__linux__) - /* fstatat64 missing from glibc */ + /* fstatat64 from glibc requires a define */ if (my_fstatat64_func == NULL) - my_fstatat64_func = (fstatat64_func*)&fstatat64_wrapper; + my_fstatat64_func = (fstatat64_func*)&fstatat64; #endif } From ptisnovs at icedtea.classpath.org Wed Jul 21 05:19:02 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 21 Jul 2010 12:19:02 +0000 Subject: /hg/gfx-test: Added new test cases: "closed" graphics entities r... Message-ID: changeset fd811bf815e0 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=fd811bf815e0 author: Pavel Tisnovsky date: Wed Jul 21 14:19:13 2010 +0200 Added new test cases: "closed" graphics entities rendering. diffstat: 25 files changed, 1183 insertions(+), 17 deletions(-) Makefile | 11 src/org/gfxtest/framework/GfxTest.java | 15 + src/org/gfxtest/framework/TestImage.java | 9 src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | 3 src/org/gfxtest/framework/annotations/RenderStyles.java | 3 src/org/gfxtest/testsuites/DashedLines.java | 1 src/org/gfxtest/testsuites/DashedPolylines.java | 1 src/org/gfxtest/testsuites/DashedRectangles.java | 1 src/org/gfxtest/testsuites/FilledCircles.java | 85 +++++++ src/org/gfxtest/testsuites/FilledEllipses.java | 111 +++++++++ src/org/gfxtest/testsuites/FilledPolygons.java | 117 +++++++++ src/org/gfxtest/testsuites/FilledRectangles.java | 120 ++++++++++ src/org/gfxtest/testsuites/FilledRoundRectangles.java | 118 +++++++++ src/org/gfxtest/testsuites/Normal3DRectangles.java | 116 +++++++++ src/org/gfxtest/testsuites/NormalArcs.java | 4 src/org/gfxtest/testsuites/NormalCircles.java | 6 src/org/gfxtest/testsuites/NormalEllipses.java | 118 +++++++++ src/org/gfxtest/testsuites/NormalLines.java | 4 src/org/gfxtest/testsuites/NormalPolygons.java | 114 +++++++++ src/org/gfxtest/testsuites/NormalPolylines.java | 1 src/org/gfxtest/testsuites/NormalRectangles.java | 120 ++++++++++ src/org/gfxtest/testsuites/NormalRoundRectangles.java | 119 +++++++++ src/org/gfxtest/testsuites/ScaledLines.java | 1 src/org/gfxtest/testsuites/ScaledPolylines.java | 1 src/org/gfxtest/testsuites/ScaledRectangles.java | 1 diffs (truncated from 1395 to 500 lines): diff -r a4d9db570b97 -r fd811bf815e0 Makefile --- a/Makefile Tue Jul 20 13:10:11 2010 +0200 +++ b/Makefile Wed Jul 21 14:19:13 2010 +0200 @@ -71,8 +71,17 @@ TESTSUITE_CLASSES = \ $(CLASSES)/$(TESTSUITE_DIR)/NormalArcs.class \ $(CLASSES)/$(TESTSUITE_DIR)/NormalLines.class \ $(CLASSES)/$(TESTSUITE_DIR)/NormalCircles.class \ - $(CLASSES)/$(TESTSUITE_DIR)/NormalPolygon.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalEllipses.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalPolygons.class \ $(CLASSES)/$(TESTSUITE_DIR)/NormalPolylines.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/NormalRoundRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/Normal3DRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledCircles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledEllipses.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledRoundRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledPolygons.class \ $(CLASSES)/$(TESTSUITE_DIR)/ScaledLines.class \ $(CLASSES)/$(TESTSUITE_DIR)/ScaledPolylines.class \ $(CLASSES)/$(TESTSUITE_DIR)/ScaledRectangles.class \ diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Wed Jul 21 14:19:13 2010 +0200 @@ -52,6 +52,21 @@ public abstract class GfxTest protected Log log = null; protected String suiteName = null; protected static final int CROSS_SIZE = 20; + + /** + * Minor radius for circles, ellipses etc. + */ + protected static final int MINOR_RADIUS = 10; + + /** + * Major radius for circles, ellipses etc. + */ + protected static final int MAJOR_RADIUS = 100; + + /** + * Offset from image borders used for rendering various graphics entities, for example rectangles. + */ + protected static final int OFFSET = 80; /** * Write test suite duration to the log file. diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/TestImage.java --- a/src/org/gfxtest/framework/TestImage.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/framework/TestImage.java Wed Jul 21 14:19:13 2010 +0200 @@ -145,4 +145,13 @@ public class TestImage return this.image.getHeight(); } + public int getCenterX() + { + return this.getWidth() >> 1; + } + + public int getCenterY() + { + return this.getHeight() >> 1; + } } diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/annotations/GraphicsPrimitives.java --- a/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Wed Jul 21 14:19:13 2010 +0200 @@ -45,8 +45,11 @@ public enum GraphicsPrimitives COMMON_BITMAP, LINE, RECTANGLE, + ROUND_RECTANGLE, + THREE_D_RECTANGLE, POLYLINE, POLYGON, ARC, CIRCLE, + ELLIPSE, } diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/annotations/RenderStyles.java --- a/src/org/gfxtest/framework/annotations/RenderStyles.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/framework/annotations/RenderStyles.java Wed Jul 21 14:19:13 2010 +0200 @@ -44,5 +44,6 @@ public enum RenderStyles { NONE, NORMAL, - DASH + DASH, + FILL, } diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedLines.java --- a/src/org/gfxtest/testsuites/DashedLines.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedLines.java Wed Jul 21 14:19:13 2010 +0200 @@ -59,7 +59,6 @@ public class DashedLines extends GfxTest public class DashedLines extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; - private static final int OFFSET = 80; private void drawDashedLine(TestImage image, Graphics2D graphics, float scale, int cap, float[] dash) { diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedPolylines.java --- a/src/org/gfxtest/testsuites/DashedPolylines.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedPolylines.java Wed Jul 21 14:19:13 2010 +0200 @@ -58,7 +58,6 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class DashedPolylines extends GfxTest { - private static final int OFFSET = 80; private static final float DEFAULT_SCALE = 20.0f; private void drawDashedPolyline(TestImage image, Graphics2D graphics, float scale, int cap, int join, float[] dash) diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedRectangles.java --- a/src/org/gfxtest/testsuites/DashedRectangles.java Tue Jul 20 13:10:11 2010 +0200 +++ b/src/org/gfxtest/testsuites/DashedRectangles.java Wed Jul 21 14:19:13 2010 +0200 @@ -59,7 +59,6 @@ public class DashedRectangles extends Gf public class DashedRectangles extends GfxTest { private static final float DEFAULT_SCALE = 20.0f; - private static final int OFFSET = 80; private void drawRectangle(TestImage image, Graphics2D graphics, float scale, int cap, int join, float[] dash) { diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledCircles.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/FilledCircles.java Wed Jul 21 14:19:13 2010 +0200 @@ -0,0 +1,85 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various filled circles using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.CIRCLE) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) +public class FilledCircles extends GfxTest +{ + + public TestResult test0(TestImage image, Graphics2D graphics) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); + + for (float m = 1.0f; m >=0.0f; m -= 1.0 / 16.0) + { + Color color = new Color(Color.HSBtoRGB(m, 1.0f, 1.0f)); + graphics.setColor(color); + double angle = Math.PI * 2 * m; + int x = (int) (xc + rmaj * Math.cos(angle)); + int y = (int) (yc + rmaj * Math.sin(angle)); + int radius = (int) (MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS)); + graphics.fillOval(x - radius, y - radius, radius << 1, radius << 1); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + return TestResult.PASSED; + } + + public static void main(String[] args) + { + new FilledCircles().runTestSuite(args); + } + +} diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledEllipses.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/FilledEllipses.java Wed Jul 21 14:19:13 2010 +0200 @@ -0,0 +1,111 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various filled ellipses using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.ELLIPSE) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) +public class FilledEllipses extends GfxTest +{ + + private void drawFilledEllipse(TestImage image, Graphics2D graphics, float eccentricity) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); + + for (float m = 1.0f; m >= 0.0f; m -= 1.0 / 16.0) + { + Color color = new Color(Color.HSBtoRGB(m, 1.0f, 1.0f)); + graphics.setColor(color); + double angle = Math.PI * 2 * m; + int x = (int) (xc + rmaj * Math.cos(angle)); + int y = (int) (yc + rmaj * Math.sin(angle)); + float radius = MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS); + int rx = (int)(radius * eccentricity); + int ry = (int)(radius / eccentricity); + graphics.fillOval(x - rx, y - ry, rx << 1, ry << 1); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + float[] eccentricities = {1/3.0f, 1/2.5f, 1/2.0f, 1/1.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f}; + int testNumber = 0; + for (float eccentricity : eccentricities) + { + String testName = "test" + testNumber; + log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = (Graphics2D) image.getGraphics(); + drawFilledEllipse(image, graphics, eccentricity); + graphics.dispose(); + try + { + image.writeImage(configuration, suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + log.logEnd(testName); + testNumber++; + } + } + + public static void main(String[] args) + { + new FilledEllipses().runTestSuite(args); + } +} diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledPolygons.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/FilledPolygons.java Wed Jul 21 14:19:13 2010 +0200 @@ -0,0 +1,117 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders various polygons using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.POLYGON) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) +public class FilledPolygons extends GfxTest +{ + + private void drawFilledPolygon(TestImage image, Graphics2D graphics, float width, int cap, int join) + { + graphics.setColor(Color.BLACK); + graphics.setStroke(new BasicStroke(1, // width + cap, // cap + join)); // join + int w = image.getWidth(); + int h = image.getHeight(); + int xPoints[] = new int[] { OFFSET, w >> 1, w >> 1, w - OFFSET }; + int yPoints[] = new int[] { h >> 1, OFFSET, h - OFFSET, h >> 1 }; + + graphics.fillPolygon(xPoints, yPoints, xPoints.length); + + drawCross(graphics, OFFSET, h >> 1, CROSS_SIZE); + drawCross(graphics, w >> 1, OFFSET, CROSS_SIZE); + drawCross(graphics, w >> 1, h - OFFSET, CROSS_SIZE); + drawCross(graphics, w - OFFSET, h >> 1, CROSS_SIZE); + } + + protected void runOtherTests(Configuration configuration) + { + int[] caps = { BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE }; + int[] joins = { BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; + float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; + int testNumber = 0; + for (int cap : caps) + { + for (int join : joins) + { + for (float width : widths) + { + String testName = "test" + testNumber; + log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = (Graphics2D) image.getGraphics(); + drawFilledPolygon(image, graphics, width, cap, join); + graphics.dispose(); + try + { + image.writeImage(configuration, suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + log.logEnd(testName); + testNumber++; + } + } + } + } + + public static void main(String[] args) + { + new FilledPolygons().runTestSuite(args); + } +} diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledRectangles.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/FilledRectangles.java Wed Jul 21 14:19:13 2010 +0200 @@ -0,0 +1,120 @@ +/* +Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; +import java.io.IOException; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + From ptisnovs at icedtea.classpath.org Wed Jul 21 07:27:51 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 21 Jul 2010 14:27:51 +0000 Subject: /hg/gfx-test: Minor refactoring of some test suites. Message-ID: changeset ec0b1d456477 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ec0b1d456477 author: Pavel Tisnovsky date: Wed Jul 21 16:28:07 2010 +0200 Minor refactoring of some test suites. diffstat: 12 files changed, 195 insertions(+), 152 deletions(-) TODO | 17 + src/org/gfxtest/framework/Configuration.java | 39 +-- src/org/gfxtest/framework/GfxTest.java | 117 ++++++++-- src/org/gfxtest/framework/InvalidParameterValueException.java | 2 src/org/gfxtest/framework/Log.java | 28 +- src/org/gfxtest/framework/ParameterNotFoundException.java | 2 src/org/gfxtest/framework/TestImage.java | 17 - src/org/gfxtest/testsuites/FilledCircles.java | 14 + src/org/gfxtest/testsuites/FilledEllipses.java | 2 src/org/gfxtest/testsuites/FilledPolygons.java | 37 --- src/org/gfxtest/testsuites/NormalCircles.java | 34 -- src/org/gfxtest/testsuites/NormalPolygons.java | 38 --- diffs (truncated from 768 to 500 lines): diff -r fd811bf815e0 -r ec0b1d456477 TODO --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO Wed Jul 21 16:28:07 2010 +0200 @@ -0,0 +1,17 @@ +BlankImage.java +DashedLines.java +DashedPolylines.java +DashedRectangles.java +FilledEllipses.java +FilledRectangles.java +FilledRoundRectangles.java +Normal3DRectangles.java +NormalArcs.java +NormalEllipses.java +NormalLines.java +NormalPolylines.java +NormalRectangles.java +NormalRoundRectangles.java +ScaledLines.java +ScaledPolylines.java +ScaledRectangles.java diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/Configuration.java --- a/src/org/gfxtest/framework/Configuration.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/Configuration.java Wed Jul 21 16:28:07 2010 +0200 @@ -83,12 +83,13 @@ public class Configuration public Configuration(String[] args, Log log) throws ConfigurationException { this.log = log; - log.logBegin("read configuration"); + log.logBegin("read configuration"); //$NON-NLS-1$ readCommandLineParameters(args); - log.logEnd("read configuration"); + log.logEnd("read configuration"); //$NON-NLS-1$ printParameters(); } + @SuppressWarnings("nls") private void readCommandLineParameters(String[] args) throws ConfigurationException { Map options = resolveAllOptions(args); @@ -98,28 +99,29 @@ public class Configuration this.outputPath = new File(getStringParameter(options, "o")); } + @SuppressWarnings("nls") private int getImageType(Map options) throws ConfigurationException { if (!options.containsKey("t")) { throw new ParameterNotFoundException("t"); } - String imageType = options.get("t"); - if ("rgb".equals(imageType)) + String imgType = options.get("t"); + if ("rgb".equals(imgType)) { return BufferedImage.TYPE_INT_RGB; } - else if ("gray".equals(imageType)) + else if ("gray".equals(imgType)) { return BufferedImage.TYPE_BYTE_GRAY; } - else if ("bw".equals(imageType) || ("bit".equals(imageType))) + else if ("bw".equals(imgType) || ("bit".equals(imgType))) { return BufferedImage.TYPE_BYTE_INDEXED; } else { - throw new InvalidParameterValueException("t", imageType); + throw new InvalidParameterValueException("t", imgType); } } @@ -149,6 +151,7 @@ public class Configuration return options.get(parameterName); } + @SuppressWarnings("nls") private Map resolveAllOptions(String[] args) { Map options = new HashMap(); @@ -157,45 +160,45 @@ public class Configuration String[] splittedArg = arg.split("="); if (splittedArg.length >= 1 && splittedArg[0].length() >= 2) { - log.log("found option " + arg); + this.log.log("found option " + arg); String optionName = splittedArg[0].substring(1); String optionValue = splittedArg.length == 2 ? splittedArg[1] : "true"; options.put(optionName, optionValue); } else { - log.logError("unknown option " + arg); + this.log.logError("unknown option " + arg); } } return options; } + @SuppressWarnings("nls") private void printParameters() { - log.logSet("output path", this.outputPath); - log.logSet("image width", this.imageWidth); - log.logSet("image height", this.imageHeight); - log.logSet("image type", this.imageType); + this.log.logSet("output path", this.outputPath); + this.log.logSet("image width", Integer.valueOf(this.imageWidth)); + this.log.logSet("image height", Integer.valueOf(this.imageHeight)); + this.log.logSet("image type", Integer.valueOf(this.imageType)); } public File getOutputPath() { - return outputPath; + return this.outputPath; } public int getImageWidth() { - return imageWidth; + return this.imageWidth; } public int getImageHeight() { - return imageHeight; + return this.imageHeight; } public int getImageType() { - return imageType; + return this.imageType; } - } diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Wed Jul 21 16:28:07 2010 +0200 @@ -76,8 +76,38 @@ public abstract class GfxTest */ private void printDuration(long t1, long t2) { - log.logSet("duration", (t2-t1)); + this.log.logSet("duration", Long.valueOf(t2-t1)); //$NON-NLS-1$ } + + /** + * Default cap style. + */ + protected static final int[] DEFAULT_CAP_STYLE = {BasicStroke.CAP_ROUND}; + + /** + * All cap styles available. + */ + protected static final int[] ALL_CAP_STYLES = { BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE }; + + /** + * Default join style. + */ + protected static final int[] DEFAULT_JOIN_STYLE = {BasicStroke.JOIN_ROUND}; + + /** + * All available join styles. + */ + protected static final int[] ALL_JOIN_STYLES = { BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; + + /** + * Default line or curve width. + */ + protected static final float[] DEFAULT_WIDTH = { 1.0f }; + + /** + * All line or curve widths. + */ + protected static final float[] ALL_WIDTHS = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; /** * Construct test suite name using full class name. @@ -91,13 +121,13 @@ public abstract class GfxTest protected void runTestSuite(String[] args) { long t1 = System.currentTimeMillis(); - log = new Log(this.getClass().getName(), true); - log.logBegin("testsuite"); + this.log = new Log(this.getClass().getName(), true); + this.log.logBegin("testsuite"); //$NON-NLS-1$ fillSuiteName(); Configuration configuration; try { - configuration = new Configuration(args, log); + configuration = new Configuration(args, this.log); runAllTests(configuration); } catch (ConfigurationException e) @@ -107,7 +137,7 @@ public abstract class GfxTest finally { long t2 = System.currentTimeMillis(); - log.logEnd("testsuite"); + this.log.logEnd("testsuite"); //$NON-NLS-1$ printDuration(t1, t2); } } @@ -124,16 +154,28 @@ public abstract class GfxTest */ private void runAllTests(Configuration configuration) { - log.logBegin("common tests"); + this.log.logBegin("common tests"); //$NON-NLS-1$ Method[] methods = getClass().getDeclaredMethods(); for (Method method : methods) { tryToInvokeTestMethod(configuration, method); } - log.logEnd("common tests"); - log.logBegin("other tests"); + this.log.logEnd("common tests"); //$NON-NLS-1$ + this.log.logBegin("other tests"); //$NON-NLS-1$ runOtherTests(configuration); - log.logEnd("other tests"); + this.log.logEnd("other tests"); //$NON-NLS-1$ + } + + /** + * Method used for starts various tests which can be overridden by inherited + * classes. + * + * @param configuration + * configuration of current test case. + */ + protected void runOtherTests(Configuration configuration) + { + // to be overrided by test cases } /** @@ -141,18 +183,53 @@ public abstract class GfxTest * * @param configuration configuration of current test case. */ - protected void runOtherTests(Configuration configuration) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) { + // to be overrided by test cases + } + + protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash) + { + int[] caps = changeCap ? ALL_CAP_STYLES : DEFAULT_CAP_STYLE; + int[] joins = changeJoin ? ALL_JOIN_STYLES : DEFAULT_JOIN_STYLE; + float[] widths = changeWidth ? ALL_WIDTHS : DEFAULT_WIDTH; + int testNumber = 0; + for (int cap : caps) + { + for (int join : joins) + { + for (float width : widths) + { + String testName = "test" + testNumber; //$NON-NLS-1$ + this.log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = image.getGraphics(); + /* TODO: add support to various scales and dashes */ + drawEntity(image, graphics, testNumber, 1.0f, width, cap, join, null); + graphics.dispose(); + try + { + image.writeImage(configuration, this.suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + this.log.logEnd(testName); + testNumber++; + } + } + } } private void tryToInvokeTestMethod(Configuration configuration, Method method) { String methodName = method.getName(); - if (method.getName().startsWith("test")) + if (method.getName().startsWith("test")) //$NON-NLS-1$ { - log.logBegin(methodName); + this.log.logBegin(methodName); TestImage image = new TestImage(configuration); - Graphics2D gc = (Graphics2D) image.getGraphics(); + Graphics2D gc = image.getGraphics(); TestResult result = null; try { @@ -169,13 +246,13 @@ public abstract class GfxTest logTestResult(result); try { - image.writeImage(configuration, suiteName, methodName); + image.writeImage(configuration, this.suiteName, methodName); } catch (IOException e) { e.printStackTrace(); } - log.logEnd(methodName); + this.log.logEnd(methodName); } } } @@ -187,20 +264,20 @@ public abstract class GfxTest */ protected void logTestResult(TestResult result) { - String resultText = ""; + String resultText = ""; //$NON-NLS-1$ switch (result) { case PASSED: - resultText = "$GREEN$PASSED"; + resultText = "$GREEN$PASSED"; //$NON-NLS-1$ break; case FAILED: - resultText = "$RED$FAILED"; + resultText = "$RED$FAILED"; //$NON-NLS-1$ break; case ERROR: - resultText = "$BLUE$ERROR"; + resultText = "$BLUE$ERROR"; //$NON-NLS-1$ break; } - log.logSet("test result", resultText); + this.log.logSet("test result", resultText); //$NON-NLS-1$ } /** diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/InvalidParameterValueException.java --- a/src/org/gfxtest/framework/InvalidParameterValueException.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/InvalidParameterValueException.java Wed Jul 21 16:28:07 2010 +0200 @@ -53,7 +53,7 @@ public class InvalidParameterValueExcept public InvalidParameterValueException(String parameterName, String value) { - super("invalid value of parameter " + parameterName + ": " + value); + super("invalid value of parameter " + parameterName + ": " + value); //$NON-NLS-1$ //$NON-NLS-2$ } } diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/Log.java --- a/src/org/gfxtest/framework/Log.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/Log.java Wed Jul 21 16:28:07 2010 +0200 @@ -49,6 +49,7 @@ import java.util.HashMap; * * @author Pavel Tisnovsky */ + at SuppressWarnings("nls") public class Log { static HashMap colors = new HashMap(10); @@ -105,8 +106,9 @@ public class Log this.log(this.className, str); } - public void log(String className, String str) + public void log(String clsName, String message) { + String str = message; StringBuffer spaces = new StringBuffer(); for (int i = 0; i < this.indent; i++) { @@ -114,14 +116,14 @@ public class Log } StringBuffer output = new StringBuffer(); - if (useColors) + if (this.useColors) { - str = "$GREEN$GfxTest $LIGHT_BLUE$" + this.getDate() + " $ORANGE$" + String.format("%-40s", className) + str = "$GREEN$GfxTest $LIGHT_BLUE$" + this.getDate() + " $ORANGE$" + String.format("%-40s", clsName) + spaces + " $GRAY$" + str; } else { - str = "GfxTest " + this.getDate() + " " + String.format("%-40s", className) + spaces + " " + str; + str = "GfxTest " + this.getDate() + " " + String.format("%-40s", clsName) + spaces + " " + str; } String[] pieces = str.split("\\$"); @@ -130,7 +132,7 @@ public class Log { if (colors.containsKey(piece.toUpperCase())) { - if (useColors) + if (this.useColors) { output.append("\033[0;" + colors.get(piece.toUpperCase()) + "m"); } @@ -141,7 +143,7 @@ public class Log } } // vypis vytvoreneho retezce na standardni vystup - if (useColors) + if (this.useColors) { System.out.println(output.append("\033[0m")); } @@ -157,9 +159,9 @@ public class Log this.log("$LIGHT_BLUE$" + str + "$ORANGE$ = " + value); } - public void logBegin(String className, String str) + public void logBegin(String clsName, String str) { - this.log(className, str + " $GREEN$begin"); + this.log(clsName, str + " $GREEN$begin"); this.indent += this.indentDelta; } @@ -168,13 +170,13 @@ public class Log this.logBegin(this.className, str); } - public void logEnd(String className, String str) + public void logEnd(String clsName, String str) { if (this.indent >= this.indentDelta) { this.indent -= this.indentDelta; } - this.log(className, str + " $VIOLET$end"); + this.log(clsName, str + " $VIOLET$end"); } public void logEnd(String str) @@ -187,9 +189,9 @@ public class Log this.logError(this.className, str); } - public void logError(String className, String str) + public void logError(String clsName, String str) { - this.log(className, "$RED$error $GRAY$" + str); + this.log(clsName, "$RED$error $GRAY$" + str); } public static void main(String[] args) @@ -198,7 +200,7 @@ public class Log System.out.println("test end"); } - @SuppressWarnings("deprecation") + @SuppressWarnings({ "deprecation", "boxing" }) private String getDate() { // vytvorime pomocny buffer, do ktereho seskladame retezec diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/ParameterNotFoundException.java --- a/src/org/gfxtest/framework/ParameterNotFoundException.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/ParameterNotFoundException.java Wed Jul 21 16:28:07 2010 +0200 @@ -53,7 +53,7 @@ public class ParameterNotFoundException public ParameterNotFoundException(String parameterName) { - super("parameter " + parameterName + " not found"); + super("parameter " + parameterName + " not found"); //$NON-NLS-1$ //$NON-NLS-2$ } } diff -r fd811bf815e0 -r ec0b1d456477 src/org/gfxtest/framework/TestImage.java --- a/src/org/gfxtest/framework/TestImage.java Wed Jul 21 14:19:13 2010 +0200 +++ b/src/org/gfxtest/framework/TestImage.java Wed Jul 21 16:28:07 2010 +0200 @@ -56,7 +56,7 @@ public class TestImage public TestImage(Configuration configuration) { - log = new Log(this.getClass().getName(), true); + this.log = new Log(this.getClass().getName(), true); this.createImage(configuration); } @@ -85,16 +85,18 @@ public class TestImage graphics.dispose(); } + @SuppressWarnings("nls") protected BufferedImage readImage(File directory, String fileName) throws IOException { - log.log("reading image " + fileName + " from directory " + directory); + this.log.log("reading image " + fileName + " from directory " + directory); File imageFile = new File(directory, fileName); return ImageIO.read(imageFile); } + @SuppressWarnings("nls") private void writeImage(File directory, String fileName) throws IOException From ahughes at redhat.com Wed Jul 21 07:43:00 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 21 Jul 2010 15:43:00 +0100 Subject: /hg/gfx-test: Added new test cases: "closed" graphics entities r... In-Reply-To: References: Message-ID: On 21 July 2010 13:19, wrote: > changeset fd811bf815e0 in /hg/gfx-test > details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=fd811bf815e0 > author: Pavel Tisnovsky > date: Wed Jul 21 14:19:13 2010 +0200 > > ? ? ? ?Added new test cases: "closed" graphics entities rendering. > > > diffstat: > > 25 files changed, 1183 insertions(+), 17 deletions(-) > Makefile ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 11 > src/org/gfxtest/framework/GfxTest.java ? ? ? ? ? ? ? ? ? ? ? ?| ? 15 + > src/org/gfxtest/framework/TestImage.java ? ? ? ? ? ? ? ? ? ? ?| ? ?9 > src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | ? ?3 > src/org/gfxtest/framework/annotations/RenderStyles.java ? ? ? | ? ?3 > src/org/gfxtest/testsuites/DashedLines.java ? ? ? ? ? ? ? ? ? | ? ?1 > src/org/gfxtest/testsuites/DashedPolylines.java ? ? ? ? ? ? ? | ? ?1 > src/org/gfxtest/testsuites/DashedRectangles.java ? ? ? ? ? ? ?| ? ?1 > src/org/gfxtest/testsuites/FilledCircles.java ? ? ? ? ? ? ? ? | ? 85 +++++++ > src/org/gfxtest/testsuites/FilledEllipses.java ? ? ? ? ? ? ? ?| ?111 +++++++++ > src/org/gfxtest/testsuites/FilledPolygons.java ? ? ? ? ? ? ? ?| ?117 +++++++++ > src/org/gfxtest/testsuites/FilledRectangles.java ? ? ? ? ? ? ?| ?120 ++++++++++ > src/org/gfxtest/testsuites/FilledRoundRectangles.java ? ? ? ? | ?118 +++++++++ > src/org/gfxtest/testsuites/Normal3DRectangles.java ? ? ? ? ? ?| ?116 +++++++++ > src/org/gfxtest/testsuites/NormalArcs.java ? ? ? ? ? ? ? ? ? ?| ? ?4 > src/org/gfxtest/testsuites/NormalCircles.java ? ? ? ? ? ? ? ? | ? ?6 > src/org/gfxtest/testsuites/NormalEllipses.java ? ? ? ? ? ? ? ?| ?118 +++++++++ > src/org/gfxtest/testsuites/NormalLines.java ? ? ? ? ? ? ? ? ? | ? ?4 > src/org/gfxtest/testsuites/NormalPolygons.java ? ? ? ? ? ? ? ?| ?114 +++++++++ > src/org/gfxtest/testsuites/NormalPolylines.java ? ? ? ? ? ? ? | ? ?1 > src/org/gfxtest/testsuites/NormalRectangles.java ? ? ? ? ? ? ?| ?120 ++++++++++ > src/org/gfxtest/testsuites/NormalRoundRectangles.java ? ? ? ? | ?119 +++++++++ > src/org/gfxtest/testsuites/ScaledLines.java ? ? ? ? ? ? ? ? ? | ? ?1 > src/org/gfxtest/testsuites/ScaledPolylines.java ? ? ? ? ? ? ? | ? ?1 > src/org/gfxtest/testsuites/ScaledRectangles.java ? ? ? ? ? ? ?| ? ?1 > > diffs (truncated from 1395 to 500 lines): > > diff -r a4d9db570b97 -r fd811bf815e0 Makefile > --- a/Makefile ?Tue Jul 20 13:10:11 2010 +0200 > +++ b/Makefile ?Wed Jul 21 14:19:13 2010 +0200 > @@ -71,8 +71,17 @@ TESTSUITE_CLASSES = \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/NormalArcs.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/NormalLines.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/NormalCircles.class \ > - ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/NormalPolygon.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/NormalEllipses.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/NormalPolygons.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/NormalPolylines.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/NormalRectangles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/NormalRoundRectangles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/Normal3DRectangles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/FilledCircles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/FilledEllipses.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/FilledRectangles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/FilledRoundRectangles.class \ > + ? ? ? $(CLASSES)/$(TESTSUITE_DIR)/FilledPolygons.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/ScaledLines.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/ScaledPolylines.class \ > ? ? ? ?$(CLASSES)/$(TESTSUITE_DIR)/ScaledRectangles.class \ > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/GfxTest.java > --- a/src/org/gfxtest/framework/GfxTest.java ? ?Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/framework/GfxTest.java ? ?Wed Jul 21 14:19:13 2010 +0200 > @@ -52,6 +52,21 @@ public abstract class GfxTest > ? ? protected Log log = null; > ? ? protected String suiteName = null; > ? ? protected static final int CROSS_SIZE = 20; > + > + ? ?/** > + ? ? * Minor radius for circles, ellipses etc. > + ? ? */ > + ? ?protected static final int MINOR_RADIUS = 10; > + > + ? ?/** > + ? ? * Major radius for circles, ellipses etc. > + ? ? */ > + ? ?protected static final int MAJOR_RADIUS = 100; > + > + ? ?/** > + ? ? * Offset from image borders used for rendering various graphics entities, for example rectangles. > + ? ? */ > + ? ?protected static final int OFFSET = 80; > > ? ? /** > ? ? ?* Write test suite duration to the log file. > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/TestImage.java > --- a/src/org/gfxtest/framework/TestImage.java ?Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/framework/TestImage.java ?Wed Jul 21 14:19:13 2010 +0200 > @@ -145,4 +145,13 @@ public class TestImage > ? ? ? ? return this.image.getHeight(); > ? ? } > > + ? ?public int getCenterX() > + ? ?{ > + ? ? ? ?return this.getWidth() >> 1; > + ? ?} > + > + ? ?public int getCenterY() > + ? ?{ > + ? ? ? ?return this.getHeight() >> 1; > + ? ?} > ?} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/annotations/GraphicsPrimitives.java > --- a/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java ? ? Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java ? ? Wed Jul 21 14:19:13 2010 +0200 > @@ -45,8 +45,11 @@ public enum GraphicsPrimitives > ? ? COMMON_BITMAP, > ? ? LINE, > ? ? RECTANGLE, > + ? ?ROUND_RECTANGLE, > + ? ?THREE_D_RECTANGLE, > ? ? POLYLINE, > ? ? POLYGON, > ? ? ARC, > ? ? CIRCLE, > + ? ?ELLIPSE, > ?} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/framework/annotations/RenderStyles.java > --- a/src/org/gfxtest/framework/annotations/RenderStyles.java ? Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/framework/annotations/RenderStyles.java ? Wed Jul 21 14:19:13 2010 +0200 > @@ -44,5 +44,6 @@ public enum RenderStyles > ?{ > ? ? NONE, > ? ? NORMAL, > - ? ?DASH > + ? ?DASH, > + ? ?FILL, > ?} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedLines.java > --- a/src/org/gfxtest/testsuites/DashedLines.java ? ? ? Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/testsuites/DashedLines.java ? ? ? Wed Jul 21 14:19:13 2010 +0200 > @@ -59,7 +59,6 @@ public class DashedLines extends GfxTest > ?public class DashedLines extends GfxTest > ?{ > ? ? private static final float DEFAULT_SCALE = 20.0f; > - ? ?private static final int OFFSET = 80; > > ? ? private void drawDashedLine(TestImage image, Graphics2D graphics, float scale, int cap, float[] dash) > ? ? { > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedPolylines.java > --- a/src/org/gfxtest/testsuites/DashedPolylines.java ? Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/testsuites/DashedPolylines.java ? Wed Jul 21 14:19:13 2010 +0200 > @@ -58,7 +58,6 @@ import org.gfxtest.framework.annotations > ?@Transformation(Transformations.NONE) > ?public class DashedPolylines extends GfxTest > ?{ > - ? ?private static final int OFFSET = 80; > ? ? private static final float DEFAULT_SCALE = 20.0f; > > ? ? private void drawDashedPolyline(TestImage image, Graphics2D graphics, float scale, int cap, int join, float[] dash) > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/DashedRectangles.java > --- a/src/org/gfxtest/testsuites/DashedRectangles.java ?Tue Jul 20 13:10:11 2010 +0200 > +++ b/src/org/gfxtest/testsuites/DashedRectangles.java ?Wed Jul 21 14:19:13 2010 +0200 > @@ -59,7 +59,6 @@ public class DashedRectangles extends Gf > ?public class DashedRectangles extends GfxTest > ?{ > ? ? private static final float DEFAULT_SCALE = 20.0f; > - ? ?private static final int OFFSET = 80; > > ? ? private void drawRectangle(TestImage image, Graphics2D graphics, float scale, int cap, int join, float[] dash) > ? ? { > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledCircles.java > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/src/org/gfxtest/testsuites/FilledCircles.java ? ? Wed Jul 21 14:19:13 2010 +0200 > @@ -0,0 +1,85 @@ > +/* > + ?Java gfx-test framework > + > + ? Copyright (C) 2010 ?Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. ?If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. ?Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. ?An independent module is a module which is not derived from > +or based on this library. ?If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. ?If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package org.gfxtest.testsuites; > + > +import java.awt.*; > + > +import org.gfxtest.framework.*; > +import org.gfxtest.framework.annotations.*; > + > +/** > + * This test renders various filled circles using identity transformation matrix. > + * > + * @author Pavel Tisnovsky > + */ > + at TestType(TestTypes.RENDER_TEST) > + at GraphicsPrimitive(GraphicsPrimitives.CIRCLE) > + at RenderStyle(RenderStyles.FILL) > + at Transformation(Transformations.NONE) > +public class FilledCircles extends GfxTest > +{ > + > + ? ?public TestResult test0(TestImage image, Graphics2D graphics) > + ? ?{ > + ? ? ? ?int xc = image.getCenterX(); > + ? ? ? ?int yc = image.getCenterY(); > + ? ? ? ?double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); > + > + ? ? ? ?for (float m = 1.0f; m >=0.0f; m -= 1.0 / 16.0) > + ? ? ? ?{ > + ? ? ? ? ? ?Color color = new Color(Color.HSBtoRGB(m, 1.0f, 1.0f)); > + ? ? ? ? ? ?graphics.setColor(color); > + ? ? ? ? ? ?double angle = Math.PI * 2 * m; > + ? ? ? ? ? ?int x = (int) (xc + rmaj * Math.cos(angle)); > + ? ? ? ? ? ?int y = (int) (yc + rmaj * Math.sin(angle)); > + ? ? ? ? ? ?int radius = (int) (MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS)); > + ? ? ? ? ? ?graphics.fillOval(x - radius, y - radius, radius << 1, radius << 1); > + ? ? ? ?} > + ? ? ? ?drawCross(graphics, xc, yc, CROSS_SIZE); > + ? ? ? ?return TestResult.PASSED; > + ? ?} > + > + ? ?public static void main(String[] args) > + ? ?{ > + ? ? ? ?new FilledCircles().runTestSuite(args); > + ? ?} > + > +} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledEllipses.java > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/src/org/gfxtest/testsuites/FilledEllipses.java ? ?Wed Jul 21 14:19:13 2010 +0200 > @@ -0,0 +1,111 @@ > +/* > + ?Java gfx-test framework > + > + ? Copyright (C) 2010 ?Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. ?If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. ?Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. ?An independent module is a module which is not derived from > +or based on this library. ?If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. ?If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package org.gfxtest.testsuites; > + > +import java.awt.*; > +import java.io.IOException; > + > +import org.gfxtest.framework.*; > +import org.gfxtest.framework.annotations.*; > + > +/** > + * This test renders various filled ellipses using identity transformation matrix. > + * > + * @author Pavel Tisnovsky > + */ > + at TestType(TestTypes.RENDER_TEST) > + at GraphicsPrimitive(GraphicsPrimitives.ELLIPSE) > + at RenderStyle(RenderStyles.FILL) > + at Transformation(Transformations.NONE) > +public class FilledEllipses extends GfxTest > +{ > + > + ? ?private void drawFilledEllipse(TestImage image, Graphics2D graphics, float eccentricity) > + ? ?{ > + ? ? ? ?int xc = image.getCenterX(); > + ? ? ? ?int yc = image.getCenterY(); > + ? ? ? ?double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); > + > + ? ? ? ?for (float m = 1.0f; m >= 0.0f; m -= 1.0 / 16.0) > + ? ? ? ?{ > + ? ? ? ? ? ?Color color = new Color(Color.HSBtoRGB(m, 1.0f, 1.0f)); > + ? ? ? ? ? ?graphics.setColor(color); > + ? ? ? ? ? ?double angle = Math.PI * 2 * m; > + ? ? ? ? ? ?int x = (int) (xc + rmaj * Math.cos(angle)); > + ? ? ? ? ? ?int y = (int) (yc + rmaj * Math.sin(angle)); > + ? ? ? ? ? ?float radius = MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS); > + ? ? ? ? ? ?int rx = (int)(radius * eccentricity); > + ? ? ? ? ? ?int ry = (int)(radius / eccentricity); > + ? ? ? ? ? ?graphics.fillOval(x - rx, y - ry, rx << 1, ry << 1); > + ? ? ? ?} > + ? ? ? ?drawCross(graphics, xc, yc, CROSS_SIZE); > + ? ?} > + > + ? ?protected void runOtherTests(Configuration configuration) > + ? ?{ > + ? ? ? ?float[] eccentricities = {1/3.0f, 1/2.5f, 1/2.0f, 1/1.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f}; > + ? ? ? ?int testNumber = 0; > + ? ? ? ?for (float eccentricity : eccentricities) > + ? ? ? ?{ > + ? ? ? ? ? ?String testName = "test" + testNumber; > + ? ? ? ? ? ?log.logBegin(testName); > + ? ? ? ? ? ?TestImage image = new TestImage(configuration); > + ? ? ? ? ? ?Graphics2D graphics = (Graphics2D) image.getGraphics(); > + ? ? ? ? ? ?drawFilledEllipse(image, graphics, eccentricity); > + ? ? ? ? ? ?graphics.dispose(); > + ? ? ? ? ? ?try > + ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ?image.writeImage(configuration, suiteName, testName); > + ? ? ? ? ? ?} > + ? ? ? ? ? ?catch (IOException e) > + ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ?e.printStackTrace(); > + ? ? ? ? ? ?} > + ? ? ? ? ? ?log.logEnd(testName); > + ? ? ? ? ? ?testNumber++; > + ? ? ? ?} > + ? ?} > + > + ? ?public static void main(String[] args) > + ? ?{ > + ? ? ? ?new FilledEllipses().runTestSuite(args); > + ? ?} > +} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledPolygons.java > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/src/org/gfxtest/testsuites/FilledPolygons.java ? ?Wed Jul 21 14:19:13 2010 +0200 > @@ -0,0 +1,117 @@ > +/* > + ?Java gfx-test framework > + > + ? Copyright (C) 2010 ?Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. ?If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. ?Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. ?An independent module is a module which is not derived from > +or based on this library. ?If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. ?If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package org.gfxtest.testsuites; > + > +import java.awt.*; > +import java.io.IOException; > + > +import org.gfxtest.framework.*; > +import org.gfxtest.framework.annotations.*; > + > +/** > + * This test renders various polygons using identity transformation matrix. > + * > + * @author Pavel Tisnovsky > + */ > + at TestType(TestTypes.RENDER_TEST) > + at GraphicsPrimitive(GraphicsPrimitives.POLYGON) > + at RenderStyle(RenderStyles.FILL) > + at Transformation(Transformations.NONE) > +public class FilledPolygons extends GfxTest > +{ > + > + ? ?private void drawFilledPolygon(TestImage image, Graphics2D graphics, float width, int cap, int join) > + ? ?{ > + ? ? ? ?graphics.setColor(Color.BLACK); > + ? ? ? ?graphics.setStroke(new BasicStroke(1, ? ? ? ? ? ? ?// width > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cap, ? ? ? ? ? ? ? ? ?// cap > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? join)); ? ? ? ? ? ? ? // join > + ? ? ? ?int w = image.getWidth(); > + ? ? ? ?int h = image.getHeight(); > + ? ? ? ?int xPoints[] = new int[] { OFFSET, w >> 1, w >> 1, w - OFFSET }; > + ? ? ? ?int yPoints[] = new int[] { h >> 1, OFFSET, h - OFFSET, h >> 1 }; > + > + ? ? ? ?graphics.fillPolygon(xPoints, yPoints, xPoints.length); > + > + ? ? ? ?drawCross(graphics, OFFSET, h >> 1, CROSS_SIZE); > + ? ? ? ?drawCross(graphics, w >> 1, OFFSET, CROSS_SIZE); > + ? ? ? ?drawCross(graphics, w >> 1, h - OFFSET, CROSS_SIZE); > + ? ? ? ?drawCross(graphics, w - OFFSET, h >> 1, CROSS_SIZE); > + ? ?} > + > + ? ?protected void runOtherTests(Configuration configuration) > + ? ?{ > + ? ? ? ?int[] caps ?= ? ?{ BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE }; > + ? ? ? ?int[] joins = ? ?{ BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; > + ? ? ? ?float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; > + ? ? ? ?int testNumber = 0; > + ? ? ? ?for (int cap : caps) > + ? ? ? ?{ > + ? ? ? ? ? ?for (int join : joins) > + ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ?for (float width : widths) > + ? ? ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ? ? ?String testName = "test" + testNumber; > + ? ? ? ? ? ? ? ? ? ?log.logBegin(testName); > + ? ? ? ? ? ? ? ? ? ?TestImage image = new TestImage(configuration); > + ? ? ? ? ? ? ? ? ? ?Graphics2D graphics = (Graphics2D) image.getGraphics(); > + ? ? ? ? ? ? ? ? ? ?drawFilledPolygon(image, graphics, width, cap, join); > + ? ? ? ? ? ? ? ? ? ?graphics.dispose(); > + ? ? ? ? ? ? ? ? ? ?try > + ? ? ? ? ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ? ? ? ? ?image.writeImage(configuration, suiteName, testName); > + ? ? ? ? ? ? ? ? ? ?} > + ? ? ? ? ? ? ? ? ? ?catch (IOException e) > + ? ? ? ? ? ? ? ? ? ?{ > + ? ? ? ? ? ? ? ? ? ? ? ?e.printStackTrace(); > + ? ? ? ? ? ? ? ? ? ?} > + ? ? ? ? ? ? ? ? ? ?log.logEnd(testName); > + ? ? ? ? ? ? ? ? ? ?testNumber++; > + ? ? ? ? ? ? ? ?} > + ? ? ? ? ? ?} > + ? ? ? ?} > + ? ?} > + > + ? ?public static void main(String[] args) > + ? ?{ > + ? ? ? ?new FilledPolygons().runTestSuite(args); > + ? ?} > +} > diff -r a4d9db570b97 -r fd811bf815e0 src/org/gfxtest/testsuites/FilledRectangles.java > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/src/org/gfxtest/testsuites/FilledRectangles.java ?Wed Jul 21 14:19:13 2010 +0200 > @@ -0,0 +1,120 @@ > +/* > +Java gfx-test framework > + > + Copyright (C) 2010 ?Red Hat > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 2, or (at your option) > +any later version. > + > +IcedTea is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. ?If not, write to the > +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. ?Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. ?An independent module is a module which is not derived from > +or based on this library. ?If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. ?If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package org.gfxtest.testsuites; > + > +import java.awt.*; > +import java.io.IOException; > + > +import org.gfxtest.framework.*; > +import org.gfxtest.framework.annotations.*; > + > The word you're looking for is 'proprietary' :-) -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ptisnovs at redhat.com Wed Jul 21 07:49:26 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 21 Jul 2010 16:49:26 +0200 Subject: /hg/gfx-test: Added new test cases: "closed" graphics entities r... In-Reply-To: References: Message-ID: <4C4708F6.4090102@redhat.com> Dr Andrew John Hughes wrote: >> > > The word you're looking for is 'proprietary' :-) Hi Andrew not exactly :-) I mean "solid" geometric objects which could be filled (by some color for example), in opposite of "hollow" object such as lines, polylines, arcs or Bezier curves. (I though that word "closed" is used in English for describing topologically closed graphs etc., maybe I was wrong, sorry ;-) Pavel From ahughes at redhat.com Wed Jul 21 08:12:16 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 21 Jul 2010 16:12:16 +0100 Subject: /hg/gfx-test: Added new test cases: "closed" graphics entities r... In-Reply-To: <4C4708F6.4090102@redhat.com> References: <4C4708F6.4090102@redhat.com> Message-ID: On 21 July 2010 15:49, Pavel Tisnovsky wrote: > Dr Andrew John Hughes wrote: >>> >> >> The word you're looking for is 'proprietary' :-) > > Hi Andrew > > not exactly :-) I mean "solid" geometric objects which could be filled (by > some color for example), in opposite of "hollow" object such as lines, > polylines, arcs or Bezier curves. > > (I though that word "closed" is used in English for describing topologically > closed graphs etc., maybe I was wrong, sorry ;-) > > Pavel > Sorry, I thought you were referring to the proprietary renderer, not the shapes being rendered. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From aph at redhat.com Wed Jul 21 08:14:34 2010 From: aph at redhat.com (Andrew Haley) Date: Wed, 21 Jul 2010 16:14:34 +0100 Subject: /hg/gfx-test: Added new test cases: "closed" graphics entities r... In-Reply-To: References: <4C4708F6.4090102@redhat.com> Message-ID: <4C470EDA.1090500@redhat.com> On 07/21/2010 04:12 PM, Dr Andrew John Hughes wrote: > On 21 July 2010 15:49, Pavel Tisnovsky wrote: >> Dr Andrew John Hughes wrote: >>>> >>> >>> The word you're looking for is 'proprietary' :-) >> >> Hi Andrew >> >> not exactly :-) I mean "solid" geometric objects which could be filled (by >> some color for example), in opposite of "hollow" object such as lines, >> polylines, arcs or Bezier curves. >> >> (I though that word "closed" is used in English for describing topologically >> closed graphs etc., maybe I was wrong, sorry ;-) > > Sorry, I thought you were referring to the proprietary renderer, not > the shapes being rendered. LOL! I thought you were making a joke. :-) Andrew. From andrew at icedtea.classpath.org Wed Jul 21 09:32:21 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 16:32:21 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 4b9a6c6f0b30 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=4b9a6c6f0b30 author: Andrew John Hughes date: Wed Jul 21 17:27:47 2010 +0100 Update NEWS for 1.7.4. 2010-07-21 Andrew John Hughes * NEWS: Updated for 1.7.4. changeset 40a2a5a54fce in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=40a2a5a54fce author: Andrew John Hughes date: Wed Jul 21 17:31:46 2010 +0100 Fix use of fstatat in NIO2 on architectures other than x86 and x86_64. 2010-07-21 Andrew John Hughes * NEWS: Add NIO2 changes. 2010-07-20 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/Un ixNativeDispatcher.c: Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. diffstat: 4 files changed, 64 insertions(+), 31 deletions(-) ChangeLog | 15 +++ NEWS | 42 +++++++++- THANKYOU | 1 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 37 ++------ diffs (152 lines): diff -r ce09ca575fdb -r 40a2a5a54fce ChangeLog --- a/ChangeLog Tue Jul 20 16:49:21 2010 -0400 +++ b/ChangeLog Wed Jul 21 17:31:46 2010 +0100 @@ -1,7 +1,20 @@ 2010-07-20 Man Lung Wong + + * NEWS: Add NIO2 changes. + +2010-07-20 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c: + Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. + +2010-07-21 Andrew John Hughes + + * NEWS: Updated for 1.7.4. + 2010-07-20 Man Lung Wong * netx/net/sourceforge/jnlp/SecurityDesc.java: - Add permission to read javawebstart.version property as part of + Add permission to read javawebstart.version property as part of sandbox permission. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set the javawebstart.version property as part of System property diff -r ce09ca575fdb -r 40a2a5a54fce NEWS --- a/NEWS Tue Jul 20 16:49:21 2010 -0400 +++ b/NEWS Wed Jul 21 17:31:46 2010 +0100 @@ -1,13 +1,51 @@ New in release 1.7.4 (2010-XX-XX): New in release 1.7.4 (2010-XX-XX): * Backport --with-tzdata-dir support from IcedTea6 1.8 to ensure - that external timezone data works again. + that external timezone data works again. +* Restore icedtea-override-metacity.patch to allow full screen apps and + other expected behavioral improvements. +* S6678385, RH551835: Fixes JVM crashes when window is resized. * Make the new plugin the default. This is now the main supported plugin. Use --disable-npplugin to use the old one. -* Updates to the new plugin: +* New plugin: - Added support for JSObject.finalize() - Liveconnect message processing design changes. - Message protocol overhaul to fix race conditions + - PR166: Create FIFO pies in temp dir instead of ~/.icedteaplugin + - Profiled memory usage and implemented proper cleanup for C++ side. + - Update debug output string and function/structure names to + change 'GCJ' references to ITNP/IcedTea NP Plugin + - PR461: plugin working for NSS enabled builds with firefox including a private NSS copy + - Removed unncessary debug and trace output + - PR474: Patch from Paulo Cesar Pereira de Andrade, incrementing malloc size to account for NULL terminator. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing hangs. + - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. + - Fix policy evaluation to match the proprietary JDK. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that property. +* NetX: + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support +* PulseAudio provider: + - Eliminate spurious exception throwing. +* SystemTap support: + - PR476: Enable building SystemTap support on GCC 4.5. + - Fix HotSpot tapset object_alloc size variable. +* NIO2 support: + - Fix UnixNativeDispatcher to build on all systems, not just x86 and x86_64. New in release 1.7.3 (2010-03-31): diff -r ce09ca575fdb -r 40a2a5a54fce THANKYOU --- a/THANKYOU Tue Jul 20 16:49:21 2010 -0400 +++ b/THANKYOU Wed Jul 21 17:31:46 2010 +0100 @@ -5,3 +5,4 @@ us know. Please keep this list in alphab us know. Please keep this list in alphabetic order. Alon Bar-Lev (alon.barlev at gmail.com) +Paulo Cesar Pereira de Andrade (pcpa at mandriva.com.br) diff -r ce09ca575fdb -r 40a2a5a54fce overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c --- a/overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Tue Jul 20 16:49:21 2010 -0400 +++ b/overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Wed Jul 21 17:31:46 2010 +0100 @@ -22,6 +22,13 @@ * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ + +/** + * fstatat in glibc requires _ATFILE_SOURCE to be defined. + */ +#if defined(__linux__) +#define _ATFILE_SOURCE +#endif #include #include @@ -102,32 +109,6 @@ static fdopendir_func* my_fdopendir_func static fdopendir_func* my_fdopendir_func = NULL; /** - * fstatat missing from glibc on Linux. Temporary workaround - * for x86/x64, will fail to compile on other architectures. - */ -#if defined(__linux__) && defined(__i386) -static int fstatat64_wrapper(int dfd, const char *path, - struct stat64 *statbuf, int flag) -{ - #ifndef __NR_fstatat64 - #define __NR_fstatat64 300 - #endif - return syscall(__NR_fstatat64, dfd, path, statbuf, flag); -} -#endif - -#if defined(__linux__) && defined(__x86_64__) -static int fstatat64_wrapper(int dfd, const char *path, - struct stat64 *statbuf, int flag) -{ - #ifndef __NR_newfstatat - #define __NR_newfstatat 262 - #endif - return syscall(__NR_newfstatat, dfd, path, statbuf, flag); -} -#endif - -/** * Call this to throw an internal UnixException when a system/library * call fails */ @@ -198,9 +179,9 @@ Java_sun_nio_fs_UnixNativeDispatcher_ini my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir"); #if defined(__linux__) - /* fstatat64 missing from glibc */ + /* fstatat64 from glibc requires a define */ if (my_fstatat64_func == NULL) - my_fstatat64_func = (fstatat64_func*)&fstatat64_wrapper; + my_fstatat64_func = (fstatat64_func*)&fstatat64; #endif } From andrew at icedtea.classpath.org Wed Jul 21 09:39:31 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 16:39:31 +0000 Subject: /hg/release/icedtea6-1.6: Backport upstream patches to fix warni... Message-ID: changeset 3ac8e6470d4f in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=3ac8e6470d4f author: Andrew John Hughes date: Wed Jul 21 17:39:05 2010 +0100 Backport upstream patches to fix warnings in documentation generation. 2010-07-21 Andrew John Hughes Backport documentation patches to avoid documentation errors. * .hgignore: Remove broken openjdk regexp matching. * Makefile.am: Add new patches. * patches/openjdk/4891262-docs-accessibility.patch, * patches/openjdk/6737212-docs-sql.patch, * patches/openjdk/6875861-docs-properties.patch, * patches/openjdk/6909563-docs-rmi.patch, * patches/openjdk/6917485-docs-corba.patch, * patches/openjdk/6921068-docs-specdefault.patch: Fix warnings in producing documentation. diffstat: 9 files changed, 629 insertions(+), 4 deletions(-) .hgignore | 3 ChangeLog | 14 + Makefile.am | 8 patches/openjdk/4891262-docs-accessibility.patch | 93 +++++++ patches/openjdk/6737212-docs-sql.patch | 266 ++++++++++++++++++++++ patches/openjdk/6875861-docs-properties.patch | 27 ++ patches/openjdk/6909563-docs-rmi.patch | 70 +++++ patches/openjdk/6917485-docs-corba.patch | 131 ++++++++++ patches/openjdk/6921068-docs-specdefault.patch | 21 + diffs (truncated from 681 to 500 lines): diff -r 5ff85a33bb11 -r 3ac8e6470d4f .hgignore --- a/.hgignore Wed Jul 21 09:30:05 2010 +0100 +++ b/.hgignore Wed Jul 21 17:39:05 2010 +0100 @@ -466,6 +466,3 @@ pulse-java.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s - -syntax:regexp -openjdk diff -r 5ff85a33bb11 -r 3ac8e6470d4f ChangeLog --- a/ChangeLog Wed Jul 21 09:30:05 2010 +0100 +++ b/ChangeLog Wed Jul 21 17:39:05 2010 +0100 @@ -1,3 +1,17 @@ 2010-07-21 Andrew John Hughes + + Backport documentation patches to avoid documentation + errors. + * .hgignore: Remove broken openjdk regexp matching. + * Makefile.am: Add new patches. + * patches/openjdk/4891262-docs-accessibility.patch, + * patches/openjdk/6737212-docs-sql.patch, + * patches/openjdk/6875861-docs-properties.patch, + * patches/openjdk/6909563-docs-rmi.patch, + * patches/openjdk/6917485-docs-corba.patch, + * patches/openjdk/6921068-docs-specdefault.patch: + Fix warnings in producing documentation. + 2010-07-21 Andrew John Hughes * configure.ac: diff -r 5ff85a33bb11 -r 3ac8e6470d4f Makefile.am --- a/Makefile.am Wed Jul 21 09:30:05 2010 +0100 +++ b/Makefile.am Wed Jul 21 17:39:05 2010 +0100 @@ -670,7 +670,13 @@ ICEDTEA_PATCHES = \ patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \ patches/icedtea-use-system-tzdata.patch \ - patches/openjdk/6678385.patch + patches/openjdk/6678385.patch \ + patches/openjdk/4891262-docs-accessibility.patch \ + patches/openjdk/6737212-docs-sql.patch \ + patches/openjdk/6875861-docs-properties.patch \ + patches/openjdk/6909563-docs-rmi.patch \ + patches/openjdk/6917485-docs-corba.patch \ + patches/openjdk/6921068-docs-specdefault.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 5ff85a33bb11 -r 3ac8e6470d4f patches/openjdk/4891262-docs-accessibility.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/4891262-docs-accessibility.patch Wed Jul 21 17:39:05 2010 +0100 @@ -0,0 +1,93 @@ +# HG changeset patch +# User darcy +# Date 1260480487 28800 +# Node ID bd2e4488d6734793ded74d59e17332fa7f6bba34 +# Parent f55e0d8667cb2dd0da6388789c37522ff4ddd9e4 +4891262: API spec, javax/accessibility: few invalid javadoc tags +Reviewed-by: jjg + +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleContext.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleContext.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleContext.java Thu Dec 10 13:28:07 2009 -0800 +@@ -296,7 +296,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleTextSequence ++ * @see AccessibleTextSequence + */ + public static final String ACCESSIBLE_TEXT_PROPERTY + = "AccessibleText"; +@@ -311,7 +311,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleTextSequence ++ * @see AccessibleTextSequence + * + * @since 1.5 + */ +@@ -334,7 +334,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleAttributeSequence ++ * @see AccessibleAttributeSequence + * + * @since 1.5 + */ +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleExtendedText.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleExtendedText.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleExtendedText.java Thu Dec 10 13:28:07 2009 -0800 +@@ -45,7 +45,6 @@ + * @see Accessible#getAccessibleContext + * @see AccessibleContext + * @see AccessibleContext#getAccessibleText +- * @see AccessibleText.AccessibleTextChunk + * + * @author Peter Korn + * @author Lynn Monsanto +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleKeyBinding.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleKeyBinding.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleKeyBinding.java Thu Dec 10 13:28:07 2009 -0800 +@@ -32,16 +32,11 @@ + * the standard mechanism for an assistive technology to determine the + * key bindings which exist for this object. + * Any object that has such key bindings should support this +- * interface. Applications can determine if an object supports the +- * AccessibleKeyBinding interface by first obtaining its AccessibleContext +- * (see @link Accessible} and then calling the +- * {@link AccessibleContext#getAccessibleKeyBinding} method. If the return +- * value is not null, the object supports this interface. ++ * interface. + * + * @see Accessible + * @see Accessible#getAccessibleContext + * @see AccessibleContext +- * @see AccessibleContext#getAccessibleKeyBinding + * + * @author Lynn Monsanto + * @since 1.4 +@@ -58,21 +53,7 @@ + /** + * Returns a key binding for this object. The value returned is an + * java.lang.Object which must be cast to appropriate type depending +- * on the underlying implementation of the key. For example, if the +- * Object returned is a javax.swing.KeyStroke, the user of this +- * method should do the following: +- * +- * Component c = +- * AccessibleContext ac = c.getAccessibleContext(); +- * AccessibleKeyBinding akb = ac.getAccessibleKeyBinding(); +- * for (int i = 0; i < akb.getAccessibleKeyBindingCount(); i++) { +- * Object o = akb.getAccessibleKeyBinding(i); +- * if (o instanceof javax.swing.KeyStroke) { +- * javax.swing.KeyStroke keyStroke = (javax.swing.KeyStroke)o; +- * +- * } +- * } +- * ++ * on the underlying implementation of the key. + * + * @param i zero-based index of the key bindings + * @return a javax.lang.Object which specifies the key binding diff -r 5ff85a33bb11 -r 3ac8e6470d4f patches/openjdk/6737212-docs-sql.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6737212-docs-sql.patch Wed Jul 21 17:39:05 2010 +0100 @@ -0,0 +1,266 @@ +# HG changeset patch +# User lancea +# Date 1252541722 14400 +# Node ID e321afbdc36669c231cd20cb2415b886c4e795e9 +# Parent 08bb2ce6b1ab084e54f857268b47b4547a001282 +6737212: Fixed javadoc warning messages in RowSet classes +Reviewed-by: darcy + +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java Wed Sep 09 20:15:22 2009 -0400 +@@ -133,7 +133,7 @@ + * This method returns an enumerated handle of the keys + * which correspond to values translated to various locales. + * +- * @returns an enumerated keys which have messages tranlated to ++ * @return an enumeration of keys which have messages tranlated to + * corresponding locales. + */ + public Enumeration getKeys() { +@@ -146,7 +146,7 @@ + * returns the corresponding value reading it + * from the Resource Bundle loaded earlier. + * +- * @returns value in locale specific language ++ * @return value in locale specific language + * according to the key passed. + */ + public Object handleGetObject(String key) { +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/JoinRowSetImpl.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Wed Sep 09 20:15:22 2009 -0400 +@@ -3737,7 +3737,6 @@ + * Returns a result set containing the original value of the current + * row only. + * +- * @return the original result set of the row + * @throws SQLException if there is no current row + * @see #setOriginalRow + */ +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java Wed Sep 09 20:15:22 2009 -0400 +@@ -46,6 +46,17 @@ + */ + public class WebRowSetXmlReader implements XmlReader, Serializable { + ++ ++ private JdbcRowSetResourceBundle resBundle; ++ ++ public WebRowSetXmlReader(){ ++ try { ++ resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(); ++ } catch(IOException ioe) { ++ throw new RuntimeException(ioe); ++ } ++ } ++ + /** + * Parses the given WebRowSet object, getting its input from + * the given java.io.Reader object. The parser will send +@@ -69,17 +80,6 @@ + * reader for the given rowset + * @see XmlReaderContentHandler + */ +- +- private JdbcRowSetResourceBundle resBundle; +- +- public WebRowSetXmlReader(){ +- try { +- resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(); +- } catch(IOException ioe) { +- throw new RuntimeException(ioe); +- } +- } +- + public void readXML(WebRowSet caller, java.io.Reader reader) throws SQLException { + try { + // Crimson Parser(as in J2SE 1.4.1 is NOT able to handle +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/javax/sql/rowset/BaseRowSet.java +--- openjdk.orig/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Wed Sep 09 20:15:22 2009 -0400 +@@ -168,8 +168,8 @@ + * The majority of methods for setting placeholder parameters take two parameters, + * with the first parameter + * indicating which placeholder parameter is to be set, and the second parameter +- * giving the value to be set. Methods such as getInt, +- * getString, getBoolean, and getLong fall into ++ * giving the value to be set. Methods such as setInt, ++ * setString, setBoolean, and setLong fall into + * this category. After these methods have been called, a call to the method + * getParams will return an array with the values that have been set. Each + * element in the array is an Object instance representing the +@@ -3259,9 +3259,9 @@ + * @param x the parameter value + * @exception SQLException if a database access error occurs or + * this method is called on a closed CallableStatement +- * @see #getBoolean + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method ++ * @see #getParams + * @since 1.4 + */ + public void setBoolean(String parameterName, boolean x) throws SQLException{ +@@ -3281,7 +3281,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getByte ++ * @see #getParams + * @since 1.4 + */ + public void setByte(String parameterName, byte x) throws SQLException{ +@@ -3301,7 +3301,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getShort ++ * @see #getParams + * @since 1.4 + */ + public void setShort(String parameterName, short x) throws SQLException{ +@@ -3320,7 +3320,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getInt ++ * @see #getParams + * @since 1.4 + */ + public void setInt(String parameterName, int x) throws SQLException{ +@@ -3339,7 +3339,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getLong ++ * @see #getParams + * @since 1.4 + */ + public void setLong(String parameterName, long x) throws SQLException{ +@@ -3358,7 +3358,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getFloat ++ * @see #getParams + * @since 1.4 + */ + public void setFloat(String parameterName, float x) throws SQLException{ +@@ -3377,7 +3377,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDouble ++ * @see #getParams + * @since 1.4 + */ + public void setDouble(String parameterName, double x) throws SQLException{ +@@ -3398,7 +3398,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getBigDecimal ++ * @see #getParams + * @since 1.4 + */ + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException{ +@@ -3421,7 +3421,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getString ++ * @see #getParams + * @since 1.4 + */ + public void setString(String parameterName, String x) throws SQLException{ +@@ -3443,7 +3443,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getBytes ++ * @see #getParams + * @since 1.4 + */ + public void setBytes(String parameterName, byte x[]) throws SQLException{ +@@ -3464,7 +3464,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTimestamp ++ * @see #getParams + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x) +@@ -3712,7 +3712,7 @@ + * or STRUCT data type and the JDBC driver does not support + * this data type + * @see Types +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType, int scale) +@@ -3740,7 +3740,7 @@ + * REF, ROWID, SQLXML + * or STRUCT data type and the JDBC driver does not support + * this data type +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType) +@@ -3782,7 +3782,7 @@ + * Object parameter is ambiguous + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x) throws SQLException{ +@@ -4064,7 +4064,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDate ++ * @see #getParams + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x) +@@ -4091,7 +4091,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDate ++ * @see #getParams + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x, Calendar cal) +@@ -4111,7 +4111,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTime ++ * @see #getParams + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x) +@@ -4138,7 +4138,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTime ++ * @see #getParams + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x, Calendar cal) +@@ -4165,7 +4165,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTimestamp ++ * @see #getParams + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal) diff -r 5ff85a33bb11 -r 3ac8e6470d4f patches/openjdk/6875861-docs-properties.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6875861-docs-properties.patch Wed Jul 21 17:39:05 2010 +0100 @@ -0,0 +1,27 @@ +# HG changeset patch +# User darcy +# Date 1251251906 25200 +# Node ID f2172f732eb3b84f62b0164514eb59a2a5830210 +# Parent 88557649e47f984d0412243232486534004c65af +6875861: javadoc build warning on java.util.Properites from unconventional @see ordering +Reviewed-by: martin + +diff -r 88557649e47f -r f2172f732eb3 src/share/classes/java/util/Properties.java +--- openjdk.orig/jdk/src/share/classes/java/util/Properties.java Mon Dec 21 18:16:23 2009 +0000 ++++ openjdk/jdk/src/share/classes/java/util/Properties.java Tue Aug 25 18:58:26 2009 -0700 +@@ -101,12 +101,12 @@ + * <!ATTLIST entry key CDATA #REQUIRED> + * + * ++ *

This class is thread-safe: multiple threads can share a single ++ * Properties object without the need for external synchronization. ++ * + * @see native2ascii tool for Solaris + * @see native2ascii tool for Windows + * +- *

This class is thread-safe: multiple threads can share a single +- * Properties object without the need for external synchronization. +- * + * @author Arthur van Hoff + * @author Michael McCloskey + * @author Xueming Shen diff -r 5ff85a33bb11 -r 3ac8e6470d4f patches/openjdk/6909563-docs-rmi.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6909563-docs-rmi.patch Wed Jul 21 17:39:05 2010 +0100 @@ -0,0 +1,70 @@ +# HG changeset patch +# User darcy +# Date 1261419383 0 +# Node ID 88557649e47f984d0412243232486534004c65af +# Parent e321afbdc36669c231cd20cb2415b886c4e795e9 +6909563: Javadoc build warnings in rmi, security, management +Reviewed-by: mchung, mullan + +diff -r e321afbdc366 -r 88557649e47f src/share/classes/java/rmi/activation/Activatable.java +--- openjdk.orig/jdk/src/share/classes/java/rmi/activation/Activatable.java Wed Sep 09 20:15:22 2009 -0400 ++++ openjdk/jdk/src/share/classes/java/rmi/activation/Activatable.java Mon Dec 21 18:16:23 2009 +0000 +@@ -73,7 +73,7 @@ + * can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int) + * exportObject} method with this object, and the specified location, + * data, restart mode, and port. Subsequent calls to {@link #getID} + * will return the activation identifier returned from the call to +@@ -120,7 +120,7 @@ + * can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port,RMIClientSocketFactory,RMIServerSocketFactory) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int,RMIClientSocketFactory,RMIServerSocketFactory) + * exportObject} method with this object, and the specified location, + * data, restart mode, port, and client and server socket factories. + * Subsequent calls to {@link #getID} will return the activation +@@ -312,7 +312,7 @@ + * separately, so that exceptions can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port,RMIClientSocketFactory,RMIServerSocketFactory) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int,RMIClientSocketFactory,RMIServerSocketFactory) + * exportObject} method with the specified object, location, data, + * restart mode, and port, and null for both client and + * server socket factories, and then returns the resulting activation +diff -r e321afbdc366 -r 88557649e47f src/share/classes/java/rmi/registry/LocateRegistry.java +--- openjdk.orig/jdk/src/share/classes/java/rmi/registry/LocateRegistry.java Wed Sep 09 20:15:22 2009 -0400 ++++ openjdk/jdk/src/share/classes/java/rmi/registry/LocateRegistry.java Mon Dec 21 18:16:23 2009 +0000 +@@ -187,7 +187,7 @@ + * host that accepts requests on the specified port. + * + *

The Registry instance is exported as if the static +- * {@link UnicastRemoteObject.exportObject(Remote,int) ++ * {@link UnicastRemoteObject#exportObject(Remote,int) + * UnicastRemoteObject.exportObject} method is invoked, passing the + * Registry instance and the specified port as From omajid at icedtea.classpath.org Wed Jul 21 09:56:28 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 21 Jul 2010 16:56:28 +0000 Subject: /hg/release/icedtea6-1.7: netx: error out when unsigned jnlp app... Message-ID: changeset 87c67dea5e0a in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=87c67dea5e0a author: Omair Majid date: Wed Jul 21 12:55:35 2010 -0400 netx: error out when unsigned jnlp applications request permissions 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw a LaunchException if the JNLP file requests permissions but the jars are unsigned. diffstat: 3 files changed, 27 insertions(+), 9 deletions(-) ChangeLog | 8 +++++ rt/net/sourceforge/jnlp/resources/Messages.properties | 2 + rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 26 +++++++++++------ diffs (63 lines): diff -r 40a2a5a54fce -r 87c67dea5e0a ChangeLog --- a/ChangeLog Wed Jul 21 17:31:46 2010 +0100 +++ b/ChangeLog Wed Jul 21 12:55:35 2010 -0400 @@ -1,3 +1,11 @@ 2010-07-21 Andrew John Hughes + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + 2010-07-21 Andrew John Hughes * NEWS: Add NIO2 changes. diff -r 40a2a5a54fce -r 87c67dea5e0a rt/net/sourceforge/jnlp/resources/Messages.properties --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 17:31:46 2010 +0100 +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 12:55:35 2010 -0400 @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application. +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 40a2a5a54fce -r 87c67dea5e0a rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 17:31:46 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 12:55:35 2010 -0400 @@ -185,15 +185,23 @@ public class JNLPClassLoader extends URL } } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. - */ - if (signing == true) { + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * + */ + + if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + else if (signing == true) { this.security = file.getSecurity(); } else { this.security = new SecurityDesc(file, From omajid at icedtea.classpath.org Wed Jul 21 10:03:26 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 21 Jul 2010 17:03:26 +0000 Subject: /hg/release/icedtea6-1.8: netx: error out when unsigned jnlp app... Message-ID: changeset baf9e63a16aa in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=baf9e63a16aa author: Omair Majid date: Wed Jul 21 13:02:49 2010 -0400 netx: error out when unsigned jnlp applications request permissions 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw a LaunchException if the JNLP file requests permissions but the jars are unsigned. diffstat: 3 files changed, 26 insertions(+), 9 deletions(-) ChangeLog | 8 ++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 2 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 25 +++++++++------ diffs (70 lines): diff -r 2489bca2d112 -r baf9e63a16aa ChangeLog --- a/ChangeLog Tue Jul 20 16:52:27 2010 -0400 +++ b/ChangeLog Wed Jul 21 13:02:49 2010 -0400 @@ -1,3 +1,11 @@ 2010-07-20 Man Lung Wong + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + 2010-07-20 Man Lung Wong * netx/net/sourceforge/jnlp/SecurityDesc.java: diff -r 2489bca2d112 -r baf9e63a16aa netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 20 16:52:27 2010 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 13:02:49 2010 -0400 @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application. +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 2489bca2d112 -r baf9e63a16aa netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 20 16:52:27 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 13:02:49 2010 -0400 @@ -167,7 +167,7 @@ public class JNLPClassLoader extends URL } - private void setSecurity() { + private void setSecurity() throws LaunchException { URL codebase = null; @@ -196,15 +196,22 @@ public class JNLPClassLoader extends URL } } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * */ - if (signing == true) { + if (! file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + else if (signing == true) { this.security = file.getSecurity(); } else { this.security = new SecurityDesc(file, From omajid at redhat.com Wed Jul 21 10:06:09 2010 From: omajid at redhat.com (Omair Majid) Date: Wed, 21 Jul 2010 13:06:09 -0400 Subject: [RFC] netx: throw errors when unsigned jnlp applications request permissions In-Reply-To: <20100720194757.GA25991@redhat.com> References: <4C449150.8040307@redhat.com> <20100720143517.GB24249@redhat.com> <4C45E226.1060502@redhat.com> <20100720194757.GA25991@redhat.com> Message-ID: <4C472901.3050603@redhat.com> On 07/20/2010 03:47 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-20 13:51]: >> On 07/20/2010 10:35 AM, Deepak Bhole wrote: >>> * Omair Majid [2010-07-19 13:54]: >>>> Hi, >>>> >>>> The attached patch makes netx throw exceptions if JNLP applications >>>> have unsigned jars but request permissions. This causes netx fail >>>> early and loudly rather than assuming sandbox permissions and >>>> leading to transient failures. This is similar to what Sun/Oracle's >>>> Web Start implementation does. >>>> >>>> Any comments? >>>> >>> >>> >>> Looks good! Please commit. >>> >> >> Committed as changeset c551fe50f731 to HEAD. >> > > Can you please commit this to the other branches (1.7 and 1.8) as well? > Thanks! > Done. Committed as changeset 87c67dea5e0a to 1.7 and baf9e63a16aa to 1.8. Cheers, Omair From andrew at icedtea.classpath.org Wed Jul 21 10:20:35 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 17:20:35 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset fd1a03a89469 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=fd1a03a89469 author: Andrew John Hughes date: Wed Jul 21 18:17:59 2010 +0100 Update the README. 2010-07-21 Andrew John Hughes * README: Updated. changeset 51be5c90d1d1 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=51be5c90d1d1 author: Andrew John Hughes date: Wed Jul 21 18:20:30 2010 +0100 Merge diffstat: 4 files changed, 84 insertions(+), 77 deletions(-) ChangeLog | 12 + README | 121 +++++++---------- rt/net/sourceforge/jnlp/resources/Messages.properties | 2 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 26 ++- diffs (257 lines): diff -r 40a2a5a54fce -r 51be5c90d1d1 ChangeLog --- a/ChangeLog Wed Jul 21 17:31:46 2010 +0100 +++ b/ChangeLog Wed Jul 21 18:20:30 2010 +0100 @@ -1,3 +1,15 @@ 2010-07-21 Andrew John Hughes + + * README: Updated. + +2010-07-21 Omair Majid + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + 2010-07-21 Andrew John Hughes * NEWS: Add NIO2 changes. diff -r 40a2a5a54fce -r 51be5c90d1d1 README --- a/README Wed Jul 21 17:31:46 2010 +0100 +++ b/README Wed Jul 21 18:20:30 2010 +0100 @@ -1,27 +1,17 @@ IcedTea -IcedTea -======= +IcedTea6 +======== The IcedTea project provides a harness to build the source code from openjdk.java.net using Free Software tools and dependencies. IcedTea addresses two problems: it eliminates the build requirement on -proprietary build tools and it provides replacements for the -"encumbered binary plugs". +proprietary build tools and it provides implementations of Java Web +Start and the browser plugin which are missing from OpenJDK. It also +provides support for additional architectures via Zero/Shark or the +CACAO VM. -These plugs are described at http://openjdk.java.net: "Not all of the -source code that makes up the JDK is available under an open-source -license. In order to build an OpenJDK binary from source code, you -must first download and install one or more of the following files -from which the build process will copy over 'binary plugs' for these -encumbered components." - -This project uses code from GNU Classpath, code generated during a -build of the openjdk.java.net source code, and stub code written by -Red Hat, to provide Free Software replacements for these encumbered -binary plugs. - -IcedTea also provides build scripts and patches that allow the source -code from openjdk.java.net to be built with IcedTea itself. +IcedTea also provides build scripts and patches that fix a number of issues +which are as yet unresolved upstream. See INSTALL for build instructions. @@ -44,30 +34,13 @@ Java compatibility Java compatibility ------------------ -IcedTea is derived from OpenJDK, Sun's open-source implementation of -the Java SE platform. At this time the build from which IcedTea was -constructed corresponds to an early build of JDK 7. When JDK 7 -is complete it will implement the Java SE 7 Platform Specification. -Any APIs in the JDK 7 implementation, whether new or old, are therefore -subject to minor adjustments, major revisions, or even outright removal -between now and the time that the Java SE 7 Platform Specification is -finalized. Please take these facts into account before depending upon -IcedTea. - -Recently, OpenJDK6 was released. This build (IcedTea6) is based on -that release. OpenJDK6 is approximately 99% complete in terms of encumberences. -IcedTea provides autotools support, a portable interpreter for ppc and -ppc64 support, plugin support and Web Start support. - -How the Stub Replacements were Produced ---------------------------------------- - -To produce the plug replacements, we began by satisfying as many -undefined references as possible using code from a completed build of -the source code from openjdk.java.net. Then we supplemented the -resultant tree with more replacement code from GNU Classpath. -Following that, we fixed each remaining build error by creating the -simplest possible stub code. +IcedTea6 is derived from OpenJDK6, Oracle's open-source implementation of +the Java SE 6 platform and implements the Java SE 6 Platform +Specification. Binaries produced by IcedTea6 have been known to pass +the TCK for Java 6. IcedTea6 additionally provides autotools support, +plugin and Web Start support, ARM support, and a LLVM-based JIT +(Shark) for architectures beyond x86, x86_64 and SPARC, the +architectures supported by HotSpot JITs in OpenJDK6. A Note About License Headers ---------------------------- @@ -75,29 +48,22 @@ Some sources downloaded from openjdk.jav Some sources downloaded from openjdk.java.net do not display the GPL license header. Instances are: - - The files in openjdk/jdk/src/share/classes/javax/xml/stream/ seem to - comprise the BEA-StAX source code - - http://ftpna2.bea.com/pub/downloads/jsr173.jar - - with some Sun-specific modifications. We're assuming that Sun is - bundling BEA-StAX under the terms of the Apache License 2.0 and - that the modifications are owned by Sun. - - We are assuming that these files are owned by Sun: openjdk/jdk/src/share/classes/**/resources/*.properties Web Browser Plugin support =========================== -The default web browser plugin has LiveConnect support. It will only build -against a very recent version of XULRunner, such as that available in Fedora -Rawhide as of 2008-05-16. The required development headers are provided by -the xulrunner-devel package. +IcedTea adds a browser plugin to OpenJDK. IcedTea6 1.7 includes two +versions. The default, and currently supported, version is a rewrite +called NPPlugin, developed to support recent Mozilla API changes. It +is based on the old gcjwebplugin and has LiveConnect support. -A new plugin is being developed to support the new Mozilla API changes. It can -be enabled with the option --enable-npplugin, and it is based on gcjwebplugin. -At the moment there is no liveconnect support for it. +The old plugin used by IcedTea6 1.6 and earlier is also included, but +will not work with xulrunner 1.9.2 and up. You are welcome to use the +old plugin by supplying the --disable-npplugin option to configure, +but please note that such a configuration is no longer supported and +any bugs filed against it will be closed. NetX ==== @@ -107,24 +73,43 @@ in the IcedTea repository, particularly in the IcedTea repository, particularly in the rt/net/sourceforge/jnlp directory. -The NetX sources are built into rt.jar +The NetX sources are built into rt.jar using the same method as +CORBA, JAXWS, JAXP and langtools. IcedTea's NetX currently supports verification of signed jars, trusted certificate storing, system certificate store checking, and provides the services specified by the jnlp API. +The Zero Assembler and Shark Ports +================================== + +Gary Benson has developed a port of the interpreter included in the +HotSpot virtual machine which avoids using any assembly language. As +a pure C++ interpreter, it should be possible to build this on most +architectures and have a working (albeit slow) version of OpenJDK. +Successful builds have been made on ppc, ppc64 and arm. The zero +assembler port is enabled by default on platforms other than x86, +x86_64 and sparc. To enable it on these platforms, use the +--enable-zero option. + +Gary is now working on a JIT called Shark to provide better +performance on platforms which need to use the zero port. A +preliminary version of this is now included with IcedTea and can be +built with the --enable-shark option. + CACAO as VM =========== -The --with-cacao configure option replaces the libjvm.so from Sun's -HotSpot with the one from the CACAO VM. This enables the usage of -IcedTea on architectures which are not supported by the HotSpot VM, -besides the HotSpot zero port. In contrast to the HotSpot zero port, -CACAO provides a Just-In-Time compiler for various architectures. +The CACAO virtual machine (http://cacaovm.org) can be used as an +alternative to the HotSpot virtual machine. One advantage of this is +that it already provides a JIT for many platforms to which HotSpot has +not yet been ported, including ppc, ppc64, arm and mips. To use CACAO +as the VM, use the --with-cacao option. This will download version +0.99.4 of CACAO during the build, which has been tested with this +version of IcedTea6. The environment variable CACAO_CONFIGURE_ARGS can be used to pass additional arguments to the cacao configure. - PulseAudio Mixer ================ @@ -132,7 +117,7 @@ Passing --enable-pulse-java to configure Passing --enable-pulse-java to configure will build the PulseAudio Mixer for java. This allows java programs to use PulseAudio as the sound backend. -Systemtap support +SystemTap Support ================= The --enable-systemtap configure option will try to find the systemtap @@ -146,11 +131,11 @@ the tapset to trace java programs. The p the tapset to trace java programs. The probes have zero overhead when not used and can safely be compiled in even when not used at runtime. -Support for additional VMs +Support for Additional VMs ========================== Although IcedTea can be built multiple times to use a different virtual -machine, addtional VM's can be built without building the other components +machine, additional VMs can be built without building the other components multiple times. On architectures where hotspot is available, use diff -r 40a2a5a54fce -r 51be5c90d1d1 rt/net/sourceforge/jnlp/resources/Messages.properties --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 17:31:46 2010 +0100 +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 18:20:30 2010 +0100 @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application. +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 40a2a5a54fce -r 51be5c90d1d1 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 17:31:46 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 18:20:30 2010 +0100 @@ -185,15 +185,23 @@ public class JNLPClassLoader extends URL } } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. - */ - if (signing == true) { + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * + */ + + if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + else if (signing == true) { this.security = file.getSecurity(); } else { this.security = new SecurityDesc(file, From ahughes at redhat.com Wed Jul 21 10:50:14 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 21 Jul 2010 18:50:14 +0100 Subject: /hg/release/icedtea6-1.7: netx: error out when unsigned jnlp app... In-Reply-To: References: Message-ID: On 21 July 2010 17:56, wrote: > changeset 87c67dea5e0a in /hg/release/icedtea6-1.7 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=87c67dea5e0a > author: Omair Majid > date: Wed Jul 21 12:55:35 2010 -0400 > > ? ? ? ?netx: error out when unsigned jnlp applications request permissions > > ? ? ? ?2010-07-20 Omair Majid > > ? ? ? ? * netx/net/sourceforge/jnlp/resources/Messages.properties: > ? ? ? ?Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. > ? ? ? ? ? ?* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > ? ? ? ?(setSecurity): Can now throw a LaunchException if the JNLP file > ? ? ? ?requests permissions but the jars are unsigned. > > > diffstat: > > 3 files changed, 27 insertions(+), 9 deletions(-) > ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?8 +++++ > rt/net/sourceforge/jnlp/resources/Messages.properties | ? ?2 + > rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java ?| ? 26 +++++++++++------ > > diffs (63 lines): > > diff -r 40a2a5a54fce -r 87c67dea5e0a ChangeLog > --- a/ChangeLog Wed Jul 21 17:31:46 2010 +0100 > +++ b/ChangeLog Wed Jul 21 12:55:35 2010 -0400 > @@ -1,3 +1,11 @@ 2010-07-21 ?Andrew John Hughes ? +2010-07-21 ?Omair Majid ? > + > + ? ? ? * netx/net/sourceforge/jnlp/resources/Messages.properties: > + ? ? ? Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. > + ? ? ? * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > + ? ? ? (setSecurity): Can now throw a LaunchException if the JNLP file requests > + ? ? ? permissions but the jars are unsigned. > + > ?2010-07-21 ?Andrew John Hughes ? > > ? ? ? ?* NEWS: Add NIO2 changes. > diff -r 40a2a5a54fce -r 87c67dea5e0a rt/net/sourceforge/jnlp/resources/Messages.properties > --- a/rt/net/sourceforge/jnlp/resources/Messages.properties ? ? Wed Jul 21 17:31:46 2010 +0100 > +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties ? ? Wed Jul 21 12:55:35 2010 -0400 > @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a > ?LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. > ?LCantDetermineMainClass=Unknown Main-Class. > ?LCantDetermineMainClassInfo=Could not determine the main class for this application. > +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. > +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. > > ?JNotApplet=File is not an applet. > ?JNotApplication=File is not an application. > diff -r 40a2a5a54fce -r 87c67dea5e0a rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java ? ? ?Wed Jul 21 17:31:46 2010 +0100 > +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java ? ? ?Wed Jul 21 12:55:35 2010 -0400 > @@ -185,15 +185,23 @@ public class JNLPClassLoader extends URL > ? ? ? ? ? ? ? ? ? ? ? ?} > ? ? ? ? ? ? ? ?} else { //regular jnlp file > > - ? ? ? ? ? ? ? ? ? ? ? /** > - ? ? ? ? ? ? ? ? ? ? ? ?* If the application is signed, then we set the SecurityDesc to the > - ? ? ? ? ? ? ? ? ? ? ? ?* tag in the jnlp file. Note that if an application is > - ? ? ? ? ? ? ? ? ? ? ? ?* signed, but there is no tag in the jnlp file, the > - ? ? ? ? ? ? ? ? ? ? ? ?* application will get sandbox permissions. > - ? ? ? ? ? ? ? ? ? ? ? ?* If the application is unsigned, we ignore the tag and > - ? ? ? ? ? ? ? ? ? ? ? ?* use a sandbox instead. > - ? ? ? ? ? ? ? ? ? ? ? ?*/ > - ? ? ? ? ? ? ? ? ? ? ? if (signing == true) { > + ? ? ? ? ? ?/* > + ? ? ? ? ? ? * Various combinations of the jars being signed and tags being > + ? ? ? ? ? ? * present are possible. They are treated as follows > + ? ? ? ? ? ? * > + ? ? ? ? ? ? * Jars ? ? ? ? ?JNLP File ? ? ? ? Result > + ? ? ? ? ? ? * > + ? ? ? ? ? ? * Signed ? ? ? ? ? ? ? ?Appropriate Permissions > + ? ? ? ? ? ? * Signed ? ? ? ?no ? ? Sandbox > + ? ? ? ? ? ? * Unsigned ? ? ? ? ? ? ?Error > + ? ? ? ? ? ? * Unsigned ? ? ?no ? ? Sandbox > + ? ? ? ? ? ? * > + ? ? ? ? ? ? */ > + > + ? ? ? ? ? ?if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { > + ? ? ? ? ? ? ? ?throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); > + ? ? ? ? ? ?} > + ? ? ? ? ? ?else if (signing == true) { > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?this.security = file.getSecurity(); > ? ? ? ? ? ? ? ? ? ? ? ?} else { > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?this.security = new SecurityDesc(file, > This breaks the build: 1. ERROR in /home/andrew/projects/openjdk/icedtea6-1.7/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (at line 202) throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unhandled exception type LaunchException -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 21 10:52:56 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 21 Jul 2010 18:52:56 +0100 Subject: [RFC] netx: stop using Look and Feel related methods (PR372) In-Reply-To: <20100716204017.GA8193@redhat.com> References: <4C334BB2.50504@redhat.com> <20100716204017.GA8193@redhat.com> Message-ID: On 16 July 2010 21:40, Deepak Bhole wrote: > * Omair Majid [2010-07-06 11:29]: >> Hi, >> >> Netx (incorrectly) uses Look and Feel related hooks and methods to >> create the security-related dialogs it shows to the user [1]. While >> most of the time it has no consequences, a few JNLP applications >> that modify the Look and Feel demonstrate incorrect behaviour [2]. >> The attached patch uses the standard Swing methods to create and >> display GUIs. It is a somewhat large patch, even though most of it >> is fairly mundane - creating JDialogs, setting a JPanel in the >> center depending on the type of dialog and then adding the >> appropriate controls to the JPanel. I have tried to avoid changing >> anything that goes inside the JPanel - it should behave exactly as >> before. I have done some testing and it seems to work just as well >> as before, but I would appreciate it if others could look it over >> and try it out too. >> >> Cheers, >> Omair >> >> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 >> [2] https://substance.dev.java.net/webstart/test.jnlp > > Doh! I thought I went through this one when I approved the rest. > > A lot of these changes do look mechanical as you stated. > > I am fine with committing this to head, but please make sure you have > THOROUGHLY tested this.. breakages in things like security dialog would > make netx/plugin unusable for signed applications, so we need to make > sure it works well. > > Cheers, > Deepak > With this in mind, please do not backport this patch. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From omajid at icedtea.classpath.org Wed Jul 21 11:50:55 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 21 Jul 2010 18:50:55 +0000 Subject: /hg/release/icedtea6-1.7: netx: error out when unsigned jnlp app... Message-ID: changeset 37bf993565d7 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=37bf993565d7 author: Omair Majid date: Wed Jul 21 14:43:05 2010 -0400 netx: error out when unsigned jnlp applications request permissions This patch fixes a missing throws that was causing a build failure. 2010-07-21 Omair Majid * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw LaunchException. diffstat: 1 file changed, 1 insertion(+), 1 deletion(-) rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 2 +- diffs (12 lines): diff -r 51be5c90d1d1 -r 37bf993565d7 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 18:20:30 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 14:43:05 2010 -0400 @@ -167,7 +167,7 @@ public class JNLPClassLoader extends URL } - private void setSecurity() { + private void setSecurity() throws LaunchException { /** * When we're trying to load an applet, file.getSecurity() will return * null since there is no jnlp file to specify permissions. We From andrew at icedtea.classpath.org Wed Jul 21 12:33:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Jul 2010 19:33:00 +0000 Subject: /hg/release/icedtea6-1.7: Backport upstream patches to fix warni... Message-ID: changeset f4e596f8a417 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=f4e596f8a417 author: Andrew John Hughes date: Wed Jul 21 20:32:53 2010 +0100 Backport upstream patches to fix warnings in documentation generation. 2010-07-21 Andrew John Hughes Backport documentation patches to avoid documentation errors. * .hgignore: Remove broken regexp matching. * Makefile.am: Add new patches. * patches/openjdk/4891262-docs-accessibility.patch, * patches/openjdk/6737212-docs-sql.patch, * patches/openjdk/6875861-docs-properties.patch, * patches/openjdk/6909563-docs-rmi.patch, * patches/openjdk/6917485-docs-corba.patch, * patches/openjdk/6921068-docs-specdefault.patch: Fix warnings in producing documentation. diffstat: 9 files changed, 629 insertions(+), 3 deletions(-) .hgignore | 2 ChangeLog | 14 + Makefile.am | 8 patches/openjdk/4891262-docs-accessibility.patch | 93 +++++++ patches/openjdk/6737212-docs-sql.patch | 266 ++++++++++++++++++++++ patches/openjdk/6875861-docs-properties.patch | 27 ++ patches/openjdk/6909563-docs-rmi.patch | 70 +++++ patches/openjdk/6917485-docs-corba.patch | 131 ++++++++++ patches/openjdk/6921068-docs-specdefault.patch | 21 + diffs (truncated from 682 to 500 lines): diff -r 37bf993565d7 -r f4e596f8a417 .hgignore --- a/.hgignore Wed Jul 21 14:43:05 2010 -0400 +++ b/.hgignore Wed Jul 21 20:32:53 2010 +0100 @@ -1,7 +1,5 @@ syntax: glob syntax: glob *~ - -syntax: regexp configure missing aclocal.m4 diff -r 37bf993565d7 -r f4e596f8a417 ChangeLog --- a/ChangeLog Wed Jul 21 14:43:05 2010 -0400 +++ b/ChangeLog Wed Jul 21 20:32:53 2010 +0100 @@ -1,3 +1,17 @@ 2010-07-21 Andrew John Hughes + + Backport documentation patches to avoid documentation + errors. + * .hgignore: Remove broken regexp matching. + * Makefile.am: Add new patches. + * patches/openjdk/4891262-docs-accessibility.patch, + * patches/openjdk/6737212-docs-sql.patch, + * patches/openjdk/6875861-docs-properties.patch, + * patches/openjdk/6909563-docs-rmi.patch, + * patches/openjdk/6917485-docs-corba.patch, + * patches/openjdk/6921068-docs-specdefault.patch: + Fix warnings in producing documentation. + 2010-07-21 Andrew John Hughes * README: Updated. diff -r 37bf993565d7 -r f4e596f8a417 Makefile.am --- a/Makefile.am Wed Jul 21 14:43:05 2010 -0400 +++ b/Makefile.am Wed Jul 21 20:32:53 2010 +0100 @@ -335,7 +335,13 @@ ICEDTEA_PATCHES = \ patches/ant-1.8.0.patch \ patches/icedtea-use-system-tzdata.patch \ patches/icedtea-override-redirect-metacity.patch \ - patches/openjdk/6678385.patch + patches/openjdk/6678385.patch \ + patches/openjdk/4891262-docs-accessibility.patch \ + patches/openjdk/6737212-docs-sql.patch \ + patches/openjdk/6875861-docs-properties.patch \ + patches/openjdk/6909563-docs-rmi.patch \ + patches/openjdk/6917485-docs-corba.patch \ + patches/openjdk/6921068-docs-specdefault.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 37bf993565d7 -r f4e596f8a417 patches/openjdk/4891262-docs-accessibility.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/4891262-docs-accessibility.patch Wed Jul 21 20:32:53 2010 +0100 @@ -0,0 +1,93 @@ +# HG changeset patch +# User darcy +# Date 1260480487 28800 +# Node ID bd2e4488d6734793ded74d59e17332fa7f6bba34 +# Parent f55e0d8667cb2dd0da6388789c37522ff4ddd9e4 +4891262: API spec, javax/accessibility: few invalid javadoc tags +Reviewed-by: jjg + +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleContext.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleContext.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleContext.java Thu Dec 10 13:28:07 2009 -0800 +@@ -296,7 +296,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleTextSequence ++ * @see AccessibleTextSequence + */ + public static final String ACCESSIBLE_TEXT_PROPERTY + = "AccessibleText"; +@@ -311,7 +311,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleTextSequence ++ * @see AccessibleTextSequence + * + * @since 1.5 + */ +@@ -334,7 +334,7 @@ + * + * @see #getAccessibleText + * @see #addPropertyChangeListener +- * @see #AccessibleText.AccessibleAttributeSequence ++ * @see AccessibleAttributeSequence + * + * @since 1.5 + */ +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleExtendedText.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleExtendedText.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleExtendedText.java Thu Dec 10 13:28:07 2009 -0800 +@@ -45,7 +45,6 @@ + * @see Accessible#getAccessibleContext + * @see AccessibleContext + * @see AccessibleContext#getAccessibleText +- * @see AccessibleText.AccessibleTextChunk + * + * @author Peter Korn + * @author Lynn Monsanto +diff -r f55e0d8667cb -r bd2e4488d673 src/share/classes/javax/accessibility/AccessibleKeyBinding.java +--- openjdk.orig/jdk/src/share/classes/javax/accessibility/AccessibleKeyBinding.java Fri Dec 11 15:27:08 2009 +0000 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleKeyBinding.java Thu Dec 10 13:28:07 2009 -0800 +@@ -32,16 +32,11 @@ + * the standard mechanism for an assistive technology to determine the + * key bindings which exist for this object. + * Any object that has such key bindings should support this +- * interface. Applications can determine if an object supports the +- * AccessibleKeyBinding interface by first obtaining its AccessibleContext +- * (see @link Accessible} and then calling the +- * {@link AccessibleContext#getAccessibleKeyBinding} method. If the return +- * value is not null, the object supports this interface. ++ * interface. + * + * @see Accessible + * @see Accessible#getAccessibleContext + * @see AccessibleContext +- * @see AccessibleContext#getAccessibleKeyBinding + * + * @author Lynn Monsanto + * @since 1.4 +@@ -58,21 +53,7 @@ + /** + * Returns a key binding for this object. The value returned is an + * java.lang.Object which must be cast to appropriate type depending +- * on the underlying implementation of the key. For example, if the +- * Object returned is a javax.swing.KeyStroke, the user of this +- * method should do the following: +- * +- * Component c = +- * AccessibleContext ac = c.getAccessibleContext(); +- * AccessibleKeyBinding akb = ac.getAccessibleKeyBinding(); +- * for (int i = 0; i < akb.getAccessibleKeyBindingCount(); i++) { +- * Object o = akb.getAccessibleKeyBinding(i); +- * if (o instanceof javax.swing.KeyStroke) { +- * javax.swing.KeyStroke keyStroke = (javax.swing.KeyStroke)o; +- * +- * } +- * } +- * ++ * on the underlying implementation of the key. + * + * @param i zero-based index of the key bindings + * @return a javax.lang.Object which specifies the key binding diff -r 37bf993565d7 -r f4e596f8a417 patches/openjdk/6737212-docs-sql.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6737212-docs-sql.patch Wed Jul 21 20:32:53 2010 +0100 @@ -0,0 +1,266 @@ +# HG changeset patch +# User lancea +# Date 1252541722 14400 +# Node ID e321afbdc36669c231cd20cb2415b886c4e795e9 +# Parent 08bb2ce6b1ab084e54f857268b47b4547a001282 +6737212: Fixed javadoc warning messages in RowSet classes +Reviewed-by: darcy + +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java Wed Sep 09 20:15:22 2009 -0400 +@@ -133,7 +133,7 @@ + * This method returns an enumerated handle of the keys + * which correspond to values translated to various locales. + * +- * @returns an enumerated keys which have messages tranlated to ++ * @return an enumeration of keys which have messages tranlated to + * corresponding locales. + */ + public Enumeration getKeys() { +@@ -146,7 +146,7 @@ + * returns the corresponding value reading it + * from the Resource Bundle loaded earlier. + * +- * @returns value in locale specific language ++ * @return value in locale specific language + * according to the key passed. + */ + public Object handleGetObject(String key) { +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/JoinRowSetImpl.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Wed Sep 09 20:15:22 2009 -0400 +@@ -3737,7 +3737,6 @@ + * Returns a result set containing the original value of the current + * row only. + * +- * @return the original result set of the row + * @throws SQLException if there is no current row + * @see #setOriginalRow + */ +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java +--- openjdk.orig/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java Wed Sep 09 20:15:22 2009 -0400 +@@ -46,6 +46,17 @@ + */ + public class WebRowSetXmlReader implements XmlReader, Serializable { + ++ ++ private JdbcRowSetResourceBundle resBundle; ++ ++ public WebRowSetXmlReader(){ ++ try { ++ resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(); ++ } catch(IOException ioe) { ++ throw new RuntimeException(ioe); ++ } ++ } ++ + /** + * Parses the given WebRowSet object, getting its input from + * the given java.io.Reader object. The parser will send +@@ -69,17 +80,6 @@ + * reader for the given rowset + * @see XmlReaderContentHandler + */ +- +- private JdbcRowSetResourceBundle resBundle; +- +- public WebRowSetXmlReader(){ +- try { +- resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(); +- } catch(IOException ioe) { +- throw new RuntimeException(ioe); +- } +- } +- + public void readXML(WebRowSet caller, java.io.Reader reader) throws SQLException { + try { + // Crimson Parser(as in J2SE 1.4.1 is NOT able to handle +diff -r 08bb2ce6b1ab -r e321afbdc366 src/share/classes/javax/sql/rowset/BaseRowSet.java +--- openjdk.orig/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Thu Feb 26 18:51:57 2009 -0800 ++++ openjdk/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Wed Sep 09 20:15:22 2009 -0400 +@@ -168,8 +168,8 @@ + * The majority of methods for setting placeholder parameters take two parameters, + * with the first parameter + * indicating which placeholder parameter is to be set, and the second parameter +- * giving the value to be set. Methods such as getInt, +- * getString, getBoolean, and getLong fall into ++ * giving the value to be set. Methods such as setInt, ++ * setString, setBoolean, and setLong fall into + * this category. After these methods have been called, a call to the method + * getParams will return an array with the values that have been set. Each + * element in the array is an Object instance representing the +@@ -3259,9 +3259,9 @@ + * @param x the parameter value + * @exception SQLException if a database access error occurs or + * this method is called on a closed CallableStatement +- * @see #getBoolean + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method ++ * @see #getParams + * @since 1.4 + */ + public void setBoolean(String parameterName, boolean x) throws SQLException{ +@@ -3281,7 +3281,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getByte ++ * @see #getParams + * @since 1.4 + */ + public void setByte(String parameterName, byte x) throws SQLException{ +@@ -3301,7 +3301,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getShort ++ * @see #getParams + * @since 1.4 + */ + public void setShort(String parameterName, short x) throws SQLException{ +@@ -3320,7 +3320,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getInt ++ * @see #getParams + * @since 1.4 + */ + public void setInt(String parameterName, int x) throws SQLException{ +@@ -3339,7 +3339,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getLong ++ * @see #getParams + * @since 1.4 + */ + public void setLong(String parameterName, long x) throws SQLException{ +@@ -3358,7 +3358,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getFloat ++ * @see #getParams + * @since 1.4 + */ + public void setFloat(String parameterName, float x) throws SQLException{ +@@ -3377,7 +3377,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDouble ++ * @see #getParams + * @since 1.4 + */ + public void setDouble(String parameterName, double x) throws SQLException{ +@@ -3398,7 +3398,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getBigDecimal ++ * @see #getParams + * @since 1.4 + */ + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException{ +@@ -3421,7 +3421,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getString ++ * @see #getParams + * @since 1.4 + */ + public void setString(String parameterName, String x) throws SQLException{ +@@ -3443,7 +3443,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getBytes ++ * @see #getParams + * @since 1.4 + */ + public void setBytes(String parameterName, byte x[]) throws SQLException{ +@@ -3464,7 +3464,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTimestamp ++ * @see #getParams + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x) +@@ -3712,7 +3712,7 @@ + * or STRUCT data type and the JDBC driver does not support + * this data type + * @see Types +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType, int scale) +@@ -3740,7 +3740,7 @@ + * REF, ROWID, SQLXML + * or STRUCT data type and the JDBC driver does not support + * this data type +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType) +@@ -3782,7 +3782,7 @@ + * Object parameter is ambiguous + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getObject ++ * @see #getParams + * @since 1.4 + */ + public void setObject(String parameterName, Object x) throws SQLException{ +@@ -4064,7 +4064,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDate ++ * @see #getParams + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x) +@@ -4091,7 +4091,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getDate ++ * @see #getParams + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x, Calendar cal) +@@ -4111,7 +4111,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTime ++ * @see #getParams + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x) +@@ -4138,7 +4138,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTime ++ * @see #getParams + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x, Calendar cal) +@@ -4165,7 +4165,7 @@ + * this method is called on a closed CallableStatement + * @exception SQLFeatureNotSupportedException if the JDBC driver does not support + * this method +- * @see #getTimestamp ++ * @see #getParams + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal) diff -r 37bf993565d7 -r f4e596f8a417 patches/openjdk/6875861-docs-properties.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6875861-docs-properties.patch Wed Jul 21 20:32:53 2010 +0100 @@ -0,0 +1,27 @@ +# HG changeset patch +# User darcy +# Date 1251251906 25200 +# Node ID f2172f732eb3b84f62b0164514eb59a2a5830210 +# Parent 88557649e47f984d0412243232486534004c65af +6875861: javadoc build warning on java.util.Properites from unconventional @see ordering +Reviewed-by: martin + +diff -r 88557649e47f -r f2172f732eb3 src/share/classes/java/util/Properties.java +--- openjdk.orig/jdk/src/share/classes/java/util/Properties.java Mon Dec 21 18:16:23 2009 +0000 ++++ openjdk/jdk/src/share/classes/java/util/Properties.java Tue Aug 25 18:58:26 2009 -0700 +@@ -101,12 +101,12 @@ + * <!ATTLIST entry key CDATA #REQUIRED> + * + * ++ *

This class is thread-safe: multiple threads can share a single ++ * Properties object without the need for external synchronization. ++ * + * @see native2ascii tool for Solaris + * @see native2ascii tool for Windows + * +- *

This class is thread-safe: multiple threads can share a single +- * Properties object without the need for external synchronization. +- * + * @author Arthur van Hoff + * @author Michael McCloskey + * @author Xueming Shen diff -r 37bf993565d7 -r f4e596f8a417 patches/openjdk/6909563-docs-rmi.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6909563-docs-rmi.patch Wed Jul 21 20:32:53 2010 +0100 @@ -0,0 +1,70 @@ +# HG changeset patch +# User darcy +# Date 1261419383 0 +# Node ID 88557649e47f984d0412243232486534004c65af +# Parent e321afbdc36669c231cd20cb2415b886c4e795e9 +6909563: Javadoc build warnings in rmi, security, management +Reviewed-by: mchung, mullan + +diff -r e321afbdc366 -r 88557649e47f src/share/classes/java/rmi/activation/Activatable.java +--- openjdk.orig/jdk/src/share/classes/java/rmi/activation/Activatable.java Wed Sep 09 20:15:22 2009 -0400 ++++ openjdk/jdk/src/share/classes/java/rmi/activation/Activatable.java Mon Dec 21 18:16:23 2009 +0000 +@@ -73,7 +73,7 @@ + * can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int) + * exportObject} method with this object, and the specified location, + * data, restart mode, and port. Subsequent calls to {@link #getID} + * will return the activation identifier returned from the call to +@@ -120,7 +120,7 @@ + * can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port,RMIClientSocketFactory,RMIServerSocketFactory) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int,RMIClientSocketFactory,RMIServerSocketFactory) + * exportObject} method with this object, and the specified location, + * data, restart mode, port, and client and server socket factories. + * Subsequent calls to {@link #getID} will return the activation +@@ -312,7 +312,7 @@ + * separately, so that exceptions can be handled properly. + * + *

This method invokes the {@link +- * exportObject(Remote,String,MarshalledObject,boolean,port,RMIClientSocketFactory,RMIServerSocketFactory) ++ * #exportObject(Remote,String,MarshalledObject,boolean,int,RMIClientSocketFactory,RMIServerSocketFactory) + * exportObject} method with the specified object, location, data, + * restart mode, and port, and null for both client and + * server socket factories, and then returns the resulting activation +diff -r e321afbdc366 -r 88557649e47f src/share/classes/java/rmi/registry/LocateRegistry.java +--- openjdk.orig/jdk/src/share/classes/java/rmi/registry/LocateRegistry.java Wed Sep 09 20:15:22 2009 -0400 ++++ openjdk/jdk/src/share/classes/java/rmi/registry/LocateRegistry.java Mon Dec 21 18:16:23 2009 +0000 +@@ -187,7 +187,7 @@ + * host that accepts requests on the specified port. + * + *

The Registry instance is exported as if the static +- * {@link UnicastRemoteObject.exportObject(Remote,int) ++ * {@link UnicastRemoteObject#exportObject(Remote,int) + * UnicastRemoteObject.exportObject} method is invoked, passing the From dbhole at icedtea.classpath.org Wed Jul 21 13:29:52 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 21 Jul 2010 20:29:52 +0000 Subject: /hg/icedtea6: Undo changes from 98c88b32cdb4 to Parser.java, sin... Message-ID: changeset cf796bf3d5aa in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cf796bf3d5aa author: Deepak Bhole date: Wed Jul 21 16:29:05 2010 -0400 Undo changes from 98c88b32cdb4 to Parser.java, since they could cause potential regressions. diffstat: 2 files changed, 19 insertions(+), 11 deletions(-) ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/Parser.java | 25 ++++++++++++++----------- diffs (110 lines): diff -r 7a124a6f0568 -r cf796bf3d5aa ChangeLog --- a/ChangeLog Tue Jul 20 16:38:54 2010 -0400 +++ b/ChangeLog Wed Jul 21 16:29:05 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-20 Man Lung Wong + + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to + Parser.java, since they could cause potential regressions. + 2010-07-20 Man Lung Wong * netx/net/sourceforge/jnlp/SecurityDesc.java: diff -r 7a124a6f0568 -r cf796bf3d5aa netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Tue Jul 20 16:38:54 2010 -0400 +++ b/netx/net/sourceforge/jnlp/Parser.java Wed Jul 21 16:29:05 2010 -0400 @@ -86,6 +86,9 @@ class Parser { /** the specification version */ private Version spec; + + /** the base URL that all hrefs are relative to */ + private URL base; /** the codebase URL */ private URL codebase; @@ -129,8 +132,8 @@ class Parser { // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); this.codebase = addSlash(getURL(root, "codebase", base)); - - fileLocation = getURL(root, "href", codebase); + this.base = (codebase!=null) ? codebase : base; // if codebase not specified use default codebase + fileLocation = getURL(root, "href", this.base); // ensure version is supported if (!supportedVersions.matchesAny(spec)) @@ -276,7 +279,7 @@ class Parser { */ public JREDesc getJRE(Node node) throws ParseException { Version version = getVersion(node, "version", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String vmArgs = getAttribute(node, "java-vm-args",null); try { checkVMArgs(vmArgs); @@ -303,7 +306,7 @@ class Parser { */ public JARDesc getJAR(Node node) throws ParseException { boolean nativeJar = "nativelib".equals(node.getNodeName()); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Version version = getVersion(node, "version", null); String part = getAttribute(node, "part", null); boolean main = "true".equals(getAttribute(node, "main", "false")); @@ -327,7 +330,7 @@ class Parser { public ExtensionDesc getExtension(Node node) throws ParseException { String name = getAttribute(node, "name", null); Version version = getVersion(node, "version", null); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); ExtensionDesc ext = new ExtensionDesc(name, version, location); @@ -430,7 +433,7 @@ class Parser { addInfo(info, child, kind, getSpanText(child)); } if ("homepage".equals(name)) - addInfo(info, child, null, getRequiredURL(child, "href", codebase)); + addInfo(info, child, null, getRequiredURL(child, "href", base)); if ("icon".equals(name)) addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); if ("offline-allowed".equals(name)) @@ -484,7 +487,7 @@ class Parser { int height = Integer.parseInt(getAttribute(node, "height", "-1")); int size = Integer.parseInt(getAttribute(node, "size", "-1")); int depth = Integer.parseInt(getAttribute(node, "depth", "-1")); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Object kind = getAttribute(node, "kind", "default"); return new IconDesc(location, kind, width, height, depth, size); @@ -521,8 +524,8 @@ class Parser { else if (strict) throw new ParseException(R("PEmptySecurity")); - if (codebase != null) - return new SecurityDesc(file, type, codebase.getHost()); + if (base != null) + return new SecurityDesc(file, type, base.getHost()); else return new SecurityDesc(file, type, null); } @@ -589,7 +592,7 @@ class Parser { public AppletDesc getApplet(Node node) throws ParseException { String name = getRequiredAttribute(node, "name", R("PUnknownApplet")); String main = getRequiredAttribute(node, "main-class", null); - URL docbase = getURL(node, "documentbase", codebase); + URL docbase = getURL(node, "documentbase", base); Map paramMap = new HashMap(); int width = 0; int height = 0; @@ -721,7 +724,7 @@ class Parser { public RelatedContentDesc getRelatedContent(Node node) throws ParseException { getRequiredAttribute(node, "href", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String title = null; String description = null; From dbhole at icedtea.classpath.org Wed Jul 21 13:47:12 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 21 Jul 2010 20:47:12 +0000 Subject: /hg/release/icedtea6-1.7: Partially commit mwong's changeset 98c... Message-ID: changeset 32f3cb4b987b in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=32f3cb4b987b author: Deepak Bhole date: Wed Jul 21 16:46:23 2010 -0400 Partially commit mwong's changeset 98c88b32cdb4 to handle cases where location URLs could be null. diffstat: 3 files changed, 42 insertions(+), 25 deletions(-) ChangeLog | 7 ++ rt/net/sourceforge/jnlp/JNLPFile.java | 3 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 57 ++++++++++-------- diffs (101 lines): diff -r f4e596f8a417 -r 32f3cb4b987b ChangeLog --- a/ChangeLog Wed Jul 21 20:32:53 2010 +0100 +++ b/ChangeLog Wed Jul 21 16:46:23 2010 -0400 @@ -1,3 +1,10 @@ 2010-07-21 Andrew John Hughes + + * rt/net/sourceforge/jnlp/JNLPFile.java: Use location as sourceLocation if + parser.getFileLocation() returns null. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Use main jar's + location as codebase if codebase is not supplied. + 2010-07-21 Andrew John Hughes Backport documentation patches to avoid documentation diff -r f4e596f8a417 -r 32f3cb4b987b rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Wed Jul 21 20:32:53 2010 +0100 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Wed Jul 21 16:46:23 2010 -0400 @@ -559,8 +559,7 @@ public class JNLPFile { specVersion = parser.getSpecVersion(); fileVersion = parser.getFileVersion(); codeBase = parser.getCodeBase(); - sourceLocation = parser.getFileLocation(); - + sourceLocation = parser.getFileLocation() != null ? parser.getFileLocation() : location; info = parser.getInfo(root); resources = parser.getResources(root, false); // false == not a j2se/java resources section launchType = parser.getLauncher(root); diff -r f4e596f8a417 -r 32f3cb4b987b rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 20:32:53 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 16:46:23 2010 -0400 @@ -168,22 +168,33 @@ public class JNLPClassLoader extends URL } private void setSecurity() throws LaunchException { - /** - * When we're trying to load an applet, file.getSecurity() will return - * null since there is no jnlp file to specify permissions. We - * determine security settings here, after trying to verify jars. - */ - if (file instanceof PluginBridge) { - if (signing == true) { - this.security = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - file.getCodeBase().getHost()); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } else { //regular jnlp file + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + /** + * When we're trying to load an applet, file.getSecurity() will return + * null since there is no jnlp file to specify permissions. We + * determine security settings here, after trying to verify jars. + */ + if (file instanceof PluginBridge) { + if (signing == true) { + this.security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } else { //regular jnlp file /* * Various combinations of the jars being signed and tags being @@ -202,13 +213,13 @@ public class JNLPClassLoader extends URL throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); } else if (signing == true) { - this.security = file.getSecurity(); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } - } + this.security = file.getSecurity(); + } else { + this.security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebase.getHost()); + } + } } /** From dbhole at icedtea.classpath.org Wed Jul 21 13:50:30 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 21 Jul 2010 20:50:30 +0000 Subject: /hg/release/icedtea6-1.8: Undo changes from 98c88b32cdb4 to Pars... Message-ID: changeset fcc6da6f0adb in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=fcc6da6f0adb author: Deepak Bhole date: Wed Jul 21 16:29:05 2010 -0400 Undo changes from 98c88b32cdb4 to Parser.java, since they could cause potential regressions. diffstat: 2 files changed, 19 insertions(+), 11 deletions(-) ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/Parser.java | 25 ++++++++++++++----------- diffs (110 lines): diff -r baf9e63a16aa -r fcc6da6f0adb ChangeLog --- a/ChangeLog Wed Jul 21 13:02:49 2010 -0400 +++ b/ChangeLog Wed Jul 21 16:29:05 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to + Parser.java, since they could cause potential regressions. + 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: diff -r baf9e63a16aa -r fcc6da6f0adb netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Wed Jul 21 13:02:49 2010 -0400 +++ b/netx/net/sourceforge/jnlp/Parser.java Wed Jul 21 16:29:05 2010 -0400 @@ -86,6 +86,9 @@ class Parser { /** the specification version */ private Version spec; + + /** the base URL that all hrefs are relative to */ + private URL base; /** the codebase URL */ private URL codebase; @@ -129,8 +132,8 @@ class Parser { // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); this.codebase = addSlash(getURL(root, "codebase", base)); - - fileLocation = getURL(root, "href", codebase); + this.base = (codebase!=null) ? codebase : base; // if codebase not specified use default codebase + fileLocation = getURL(root, "href", this.base); // ensure version is supported if (!supportedVersions.matchesAny(spec)) @@ -276,7 +279,7 @@ class Parser { */ public JREDesc getJRE(Node node) throws ParseException { Version version = getVersion(node, "version", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String vmArgs = getAttribute(node, "java-vm-args",null); try { checkVMArgs(vmArgs); @@ -303,7 +306,7 @@ class Parser { */ public JARDesc getJAR(Node node) throws ParseException { boolean nativeJar = "nativelib".equals(node.getNodeName()); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Version version = getVersion(node, "version", null); String part = getAttribute(node, "part", null); boolean main = "true".equals(getAttribute(node, "main", "false")); @@ -327,7 +330,7 @@ class Parser { public ExtensionDesc getExtension(Node node) throws ParseException { String name = getAttribute(node, "name", null); Version version = getVersion(node, "version", null); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); ExtensionDesc ext = new ExtensionDesc(name, version, location); @@ -430,7 +433,7 @@ class Parser { addInfo(info, child, kind, getSpanText(child)); } if ("homepage".equals(name)) - addInfo(info, child, null, getRequiredURL(child, "href", codebase)); + addInfo(info, child, null, getRequiredURL(child, "href", base)); if ("icon".equals(name)) addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); if ("offline-allowed".equals(name)) @@ -484,7 +487,7 @@ class Parser { int height = Integer.parseInt(getAttribute(node, "height", "-1")); int size = Integer.parseInt(getAttribute(node, "size", "-1")); int depth = Integer.parseInt(getAttribute(node, "depth", "-1")); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Object kind = getAttribute(node, "kind", "default"); return new IconDesc(location, kind, width, height, depth, size); @@ -521,8 +524,8 @@ class Parser { else if (strict) throw new ParseException(R("PEmptySecurity")); - if (codebase != null) - return new SecurityDesc(file, type, codebase.getHost()); + if (base != null) + return new SecurityDesc(file, type, base.getHost()); else return new SecurityDesc(file, type, null); } @@ -589,7 +592,7 @@ class Parser { public AppletDesc getApplet(Node node) throws ParseException { String name = getRequiredAttribute(node, "name", R("PUnknownApplet")); String main = getRequiredAttribute(node, "main-class", null); - URL docbase = getURL(node, "documentbase", codebase); + URL docbase = getURL(node, "documentbase", base); Map paramMap = new HashMap(); int width = 0; int height = 0; @@ -721,7 +724,7 @@ class Parser { public RelatedContentDesc getRelatedContent(Node node) throws ParseException { getRequiredAttribute(node, "href", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String title = null; String description = null; From andrew at icedtea.classpath.org Thu Jul 22 01:25:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 22 Jul 2010 08:25:00 +0000 Subject: /hg/release/icedtea6-1.7: Update INSTALL documentation and confi... Message-ID: changeset 36fc1b3ae030 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=36fc1b3ae030 author: Andrew John Hughes date: Thu Jul 22 09:24:52 2010 +0100 Update INSTALL documentation and configure help. 2010-07-21 Andrew John Hughes * INSTALL: Updated, with documentation of new options and removal of outdated information. * acinclude.m4: (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} in configure help, replacing it with the value used. (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in configure help. * configure.ac: Fix default in configure help for NIO2. diffstat: 4 files changed, 310 insertions(+), 93 deletions(-) ChangeLog | 14 ++ INSTALL | 373 ++++++++++++++++++++++++++++++++++++++++++++-------------- acinclude.m4 | 12 - configure.ac | 4 diffs (500 lines): diff -r 32f3cb4b987b -r 36fc1b3ae030 ChangeLog --- a/ChangeLog Wed Jul 21 16:46:23 2010 -0400 +++ b/ChangeLog Thu Jul 22 09:24:52 2010 +0100 @@ -1,3 +1,17 @@ 2010-07-21 Deepak Bhole + + * INSTALL: Updated, with documentation + of new options and removal of outdated information. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. + (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. + (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} + in configure help, replacing it with the value used. + (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in + configure help. + * configure.ac: + Fix default in configure help for NIO2. + 2010-07-21 Deepak Bhole * rt/net/sourceforge/jnlp/JNLPFile.java: Use location as sourceLocation if diff -r 32f3cb4b987b -r 36fc1b3ae030 INSTALL --- a/INSTALL Wed Jul 21 16:46:23 2010 -0400 +++ b/INSTALL Thu Jul 22 09:24:52 2010 +0100 @@ -7,8 +7,10 @@ a default location. The build requirements are as follows: -GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95) -Eclipse Java Compiler +A bootstrap JDK, either: + - GNU libgcj 4.3.0 (or equivalent class library based on GNU Classpath >= 0.95) for --with-gcj-home mode (the default) + - IcedTea6 for --with-openjdk mode +Eclipse Java Compiler (ecj) CUPS libX11 (libXp, libXtst, libXi, libXt) Freetype2 @@ -29,112 +31,273 @@ libpng-devel libpng-devel libjpeg-devel >= 6b zlib-devel +xulrunner-devel (can be disabled using --disable-plugin) rhino (can be disabled using --without-rhino) - -For building the PulseAudio based mixer, you will need -pulseaudio-libs-devel >= 0.9.11 - -For building VisualVM, you will need -netbeans = 6.5 - -For building the zero-assembler port (see below), you will need libffi. - -For building the Shark JIT, you will need LLVM 2.5 or current SVN. - -For building with systemtap support (--enable-systemtap), you will need -systemtap-sdt-devel (available since systemtap 0.9.5). This also needs -the --with-abs-install-dir configure option to make sure the hotspot.stp.in -tapset gets the correct installation location for the libjvm.so, it -defaults to the root of the j2sdk-image build dir otherwise (but then -you cannot move that to another location without adjusting the paths -in the tapset/hotspot.stp file. For example: - --enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk -(Java method tracing works starting with systemtap 0.9.9) +libffi (for --enable-zero or on archs other than x86/x86_64/sparc) +pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) +LLVM 2.5 or later (for --enable-shark) +systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9) +netbeans = 6.5 (for --enable-visualvm) See ./configure --help if you need to override the defaults. -To bootstrap IcedTea with ecj and a Classpath-based JDK such as GCJ: -autoreconf +To bootstrap IcedTea with ecj and a GNU Classpath-based JDK: +./autogen.sh ./configure make -To build IcedTea with an older version of IcedTea or OpenJDK, use: -autoreconf -./configure --with-openjdk - to specify the location use --with-openjdk=/path/to/icedtea] +The following locations are checked for a GNU Classpath-based JDK: + * /usr/lib/jvm/java-gcj + * /usr/lib/jvm/gcj-jdk + * /usr/lib/jvm/cacao +in that order. + +To build IcedTea with an older version of IcedTea6, use: +./autogen.sh +./configure --with-openjdk make -There is currently no install target. +The following locations are checked for an IcedTea6 JDK: + * /usr/lib/jvm/java-openjdk + * /usr/lib/jvm/icedtea6 + * /usr/lib/jvm/java-6-openjdk + * /usr/lib/jvm/openjdk + * /usr/lib/jvm/java-icedtea +in the order given above. -IcedTea ends up in openjdk/build/- when the build completes. -Example instantiations of - include linux-i586, linux-amd64 and linux-ppc64. +Note that IcedTea7 can not be used to build IcedTea6. -Rebuilding The IcedTea Plugs ----------------------------- +There is currently no install target. IcedTea ends up in +openjdk/build/- when the build completes. Example +instantiations of - include linux-i586, linux-amd64 and +linux-ppc64. -When IcedTea is initially built, it creates stamp files in the stamps directory -to determine what and when dependencies were compiled. For example, to rebuild -the rt plugs certain files need to be deleted before restarting the build. +Most targets in IcedTea creat stamp files in the stamps directory to +determine what and when dependencies were compiled. Each target has a +corresponding clean-x target which removes the output and the stamp +file, allowing it to be rebuilt. For example, stamps/rt.stamp (alias +rt) builds the bootstrap classes needed in the bootstrap build and +clean-rt removes the classes and the stamp file. - - If the rt plugs have been modified, delete stamps/rt-class-files.stamp. - - If a new class has been added to the rt plugs, delete - rt-source-files.txt so it can be recreated with the new class list. +Build Modification Options +========================== -To view all targets that create stamp files, see -Makefile.am (section 'All Stamped Targets'). +The build process may be modified by passing the following options +to configure: -The Zero Assembler Port ------------------------ +* --disable-docs: Don't build the Javadoc documentation. +* --with-openjdk-src-dir: Copy the specified OpenJDK tree, rather than + downloading and extracting a tarball. +* --disable-optimizations: Build with -O0. +* --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than + downloading and extracting a tarball. +* --with-gcj: Compile ecj to native code with gcj prior to building. +* --with-openjdk: Perform a quick (no bootstrap) build using an installed + copy of IcedTea6. If a directory is not specified, a check against + the list presented above is performed. +* --with-parallel-jobs: Run the specified number of parallel jobs when + building HotSpot and the JDK. +* --with-netbeans-home: The location of NetBeans for use in the VisualVM build, + defaults to /usr/share/netbeans. +* --with-ant-home: The location of Ant, defaults to /usr/share/ant. +* --with-pkgversion=PKG: Include the specified distro package information in + the output of java -version. +* --with-gcj-home: Perform a full bootstrap build using an installed + copy of a GNU Classpath JDK such as gcj. If a directory is not specified, + a check against the list presented above is performed. +* --with-java: Specify the location of a 'java' binary. By default, the path + is checked for gij and java. +* --with-ecj: Specify the location of a 'ecj' binary. By default, the path + is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3. +* --with-javac: Specify the location of a 'javac' binary. By default, the path + is checked for javac. +* --with-jar: Specify the location of a 'jar' binary. By default, the path + is checked for gjar and jar. +* --with-javah: Specify the location of a 'javah' binary. By default, the path + is checked for gjavah and javah. +* --with-rmic: Specify the location of a 'rmic' binary. By default, the path + is checked for grmic and rmic. +* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the + following paths are checked: + - /usr/share/java/eclipse-ecj.jar + - /usr/share/java/ecj.jar + - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar +* --with-xalan2-jar: Specify the location of a xalan2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xalan-j2.jar + - /usr/share/java/xalan2.jar + - /usr/share/xalan/lib/xalan.jar +* --with-xalan2-serializer-jar: Specify the location of a xalan2 serializer JAR file. + By default, the following paths are checked: + - /usr/share/java/xalan-j2-serializer.jar + - /usr/share/xalan-serializer/lib/serializer.jar + - /usr/share/java/serializer.jar +* --with-xerces2-jar: Specify the location of a xerces2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xerces-j2.jar + - /usr/share/java/xerces2.jar + - /usr/share/xerces-2/lib/xercesImpl.jar + - /usr/share/java/xercesImpl.jar +* --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading. +* --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading. +* --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built. +* --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading + and building one. +* --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading. +* --with-cacao-src-dir: Specify the location of a CACAO source tree to avoid downloading. +* --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option. +* --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. +* --with-netbeans: Specify the location of NetBeans for VisualVM, defaulting to the netbeans on the path. +* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. -Gary Benson has developed a port of the interpreter included in the -HotSpot virtual machine which avoids using any assembly language. As -a pure C++ interpreter, it should be possible to build this on most -architectures and have a working (albeit slow) version of OpenJDK. -Successful builds have been made on ppc, ppc64 and arm. The zero -assembler port is enabled by default on platforms other than x86, -x86_64 and sparc. To enable it on these platforms, use the ---enable-zero option. +Other options may be supplied which enable or disable new features. +These are documented fully in the relevant section below. -Gary is now working on a JIT called Shark to provide better -performance on platforms which need to use the zero port. A -preliminary version of this is now included with IcedTea and can be -built with the --enable-shark option. +* --enable-visualvm: Build VisualVM. +* --enable-pulse-java: Build the PulseAudio sound provider. +* --disable-xrender: Don't include the XRender pipeline. +* --enable-nio2: Include the NIO2 backport. +* --enable-systemtap: Include support for tracing using systemtap. +* --enable-nss: Enable the NSS security provider. +* --enable-cacao: Replace HotSpot with the CACAO VM. +* --enable-shark: Build the Shark LLVM-based JIT. +* --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms. +* --disable-plugin: Don't build the browser plugin. +* --disable-npplugin: Build the old unsupported plugin rather than NPPlugin. +* --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. +* --with-rhino: Include Javascript support using Rhino. +* --with-additional-vms=vm-list: Additional VMs to build using the system described + below. + +Testing +======= + +IcedTea6 includes support for running the test suite included with +OpenJDK, using the in-tree copy of JTReg. Invoking 'make check' will +cause the HotSpot, JDK and langtools test suites to be run. The +individual test suites may be run using the check-hotspot, check-jdk +and check-langtools targets respectively. + +VisualVM +======== + +IcedTea6 supports the downloading and compilation of VisualVM 1.1.1 +via the --enable-visualvm option. This requires NetBeans 6.5. The +build takes place following that of IcedTea, which is used to compile +VisualVM, and the result is installed in the SDK image created by the +OpenJDK build (i.e. openjdk/build/-/j2sdk-image). + +The PulseAudio provider +======================= + +IcedTea6 includes an implementation of the javax.sound.* APIs using +PulseAudio which can be enabled using --enable-pulse-java. The resulting +provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. + +Xrender Support +=============== + +IcedTea6 includes support for an Xrender-based rendering pipeline +developed by Clemens Eisserer (http://linuxhippy.blogspot.com/). This +is compiled by default, and can be disabled using --disable-xrender. +To actually use the pipeline, the sun.java2d.xrender property needs to +be set to true, e.g. by passing the -Dsun.java2d.xrender=True option +to java. + +NIO2 Backport +============= + +IcedTea6 includes a backport of NIO2 from OpenJDK7; see +http://openjdk.java.net/projects/nio/. This provides support for +asynchronous I/O and an improved file system API, providing access to +POSIX file permissions, timestamps, extended attributes and ACLs and +allowing directories to be watched. This is enabled using the +--enable-nio2 option. + +As new classes can not be added to the java.* and javax.* namespace of +the 1.6 API, the new java.nio classes are contained in +org.classpath.icedtea.java.nio, so code will needed to be adjusted to +work with the backport. + +SystemTap +========= + +IcedTea6 includes work to allow the existing DTrace probes included in +OpenJDK to be used with SystemTap. This is enabled using the +--enable-systemtap option, and requires version 0.9.5 or later (0.9.9 +or later if you want Java method tracing). The tapset needs to know +the final install location of the JDK, so the --with-abs-install-dir +should also be used to specify this. If not set, it defaults to the +in-tree location of openjdk/build/-/j2sdk-image and requires +manual changes to tapset/hotspot.stp to work from elsewhere. For +example, if you plan to install the resulting build in +/usr/lib/jvm/java-1.6.0-openjdk, then you should specify +--enable-systemtap +--with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk. + +NSS Security Provider +===================== + +OpenJDK includes an NSS-based security provider in the form of +sun.security.pkcs11.SunPKCS11. However, as this needs to know the +location of the NSS installation it should use, it is not enabled +in normal OpenJDK builds. As IcedTea can detect NSS using configure, +it can simplify the process of enabling this provider. If --enable-nss +is specified, then a configuration file for the NSS provider will be +generated and installed, and the provider turned on. CACAO ------ +===== -The CACAO virtual machine (http://cacaovm.org) can be used as an -alternative to the HotSpot virtual machine. One advantage of this is -that it already provides a JIT for many platforms to which HotSpot has -not yet been ported, including ppc, ppc64, arm and mips. To use CACAO -as the VM, use the --with-cacao option. This will download CACAO -0.99.3 during the build. To use a different version, use ---with-cacao-home=

to point to an existing installation which use -the Sun VM interface. +IcedTea6 can use CACAO as the virtual machine, as opposed to HotSpot. +One advantage of this is that CACAO has a JIT implementation for +more platforms than HotSpot, including ppc, ppc64, arm and mips. +When --enable-cacao is specified, CACAO will be downloaded and built, +followed by the JDK portion of OpenJDK resulting in a CACAO+OpenJDK +image in openjdk/build/-/j2sdk-image. The --with-cacao-home +option can be used to specify the use of an existing CACAO install +instead, and --with-cacao-src-zip/dir options exist to allow the use +of a pre-downloaded zip or source tree respectively. -Building additional virtual machines ------------------------------------- +Zero & Shark +============ -Although IcedTea can be built multiple times to use a different virtual -machine, addtional VM's can be built without building the other components -multiple times. +IcedTea6 includes a zero assembler port of HotSpot, which avoids +architecture-specific code as much as possible, allowing an +interpreter to be built and run on most platforms (albeit very +slowly). As HotSpot only includes JITs for x86, x86_64 and SPARC, the +zero assembler port is automatically enabled on all other +architectures. On x86, x86_64 and SPARC, it may be built using +--enable-zero. -On architectures where hotspot is available, use - --with-additional-vms=cacao,zero (or shark instead of zero) -on architectures where only zero (or shark) is available, use - --with-additional-vms=cacao -to build the additional VM's. It's not possible to build cacao as the -default VM, and zero as additional VM. -To build zero as the default VM and shark as an additional VM, use - --enable-zero --with-additional-vms=shark +To overcome the performance issues inherent in zero, a LLVM-based JIT +called Shark has been developed. This performs Just-In-Time compilation +on any architecture supported by LLVM. To enable it, pass the option +--enable-shark to configure. Please note that Shark is still in +development and builds are still likely to fail at present. -The additional VM's are available by calling the java with the option -`-cacao', `-zero' or `-shark', or by calling the java tools with -`-J-'. If the build was configured with '--enable-shark', -use `-Xint' to just use the zero VM. +The Browser Plugin +================== -Support for different versions of HotSpot ------------------------------------------ +IcedTea6 currently includes two browser plugins; a new supported +plugin based on NPRuntime and an older deprecated plugin used in +previous releases. By default, the first will be built and this +is the recommended option. Passing the option --disable-npplugin +reverts to the old plugin, while --disable-plugin turns off the +build of a browser plugin altogether. + +A test suite is supplied for the browser plugin. It can be built +using 'make plugin-tests' and run by loading the HTML page specified +into a browser with the plugin installed. + +For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be +set to 'true'. This will produce output on the console from the C++ +side, and output from the Java side in $HOME/.icedteaplugin/java.stdout +and $HOME/.icedteaplugin/java.stderr. It also starts the debug server +on port 8787. + +Support for Different Versions of HotSpot +========================================= IcedTea allows the version of HotSpot provided with the upstream build drop to be replaced with another. Support for this is provided by the @@ -169,7 +332,47 @@ are HotSpot 14 ('original') which is pro are HotSpot 14 ('original') which is provided by the upstream OpenJDK tarball, and 'hs16', which is used in hotspot.map to provide the latest version of HotSpot 16. Thus, either --with-hotspot-build -without an argument or --with-hotspot-build=hs16 provides the -latest supported hs16, while no HotSpot build argument, +without an argument or --with-hotspot-build=hs16 provides the latest +supported hs16, while no HotSpot build argument, --without-hotspot-build or --with-hotspot-build=original uses the upstream HotSpot. + +Javascript Support +================== + +IcedTea6 adds Javascript support via the javax.script API by using +an existing installation of Rhino. Support is enabled by default, +with the following locations being searched for a Rhino JAR file: + +* /usr/share/java/rhino.jar +* /usr/share/java/js.jar +* /usr/share/rhino-1.6/lib/js.jar + +A JAR file can instead be specified using the --with-rhino option, +or support may be disabled by specifying --without-rhino. + +Note that the final installed JAR file is a modified version with the +namespace prefixed by 'sun.' as in the proprietary Oracle JDK. This +avoids conflicts between the JDK's copy of Rhino and any used by other +applications. + +Building Additional Virtual Machines +==================================== + +Although IcedTea can be built multiple times to use a different virtual +machine, additional VMs can be built without building the other components +multiple times. + +On architectures where hotspot is available, use + --with-additional-vms=cacao,zero (or shark instead of zero) +on architectures where only zero (or shark) is available, use + --with-additional-vms=cacao +to build the additional VM's. It's not possible to build cacao as the +default VM, and zero as additional VM. +To build zero as the default VM and shark as an additional VM, use + --enable-zero --with-additional-vms=shark + +The additional VM's are available by calling the java with the option +`-cacao', `-zero' or `-shark', or by calling the java tools with +`-J-'. If the build was configured with '--enable-shark', +use `-Xint' to just use the zero VM. diff -r 32f3cb4b987b -r 36fc1b3ae030 acinclude.m4 --- a/acinclude.m4 Wed Jul 21 16:46:23 2010 -0400 +++ b/acinclude.m4 Thu Jul 22 09:24:52 2010 +0100 @@ -221,7 +221,7 @@ AC_DEFUN([WITH_OPENJDK_SRC_DIR], [ AC_MSG_CHECKING(for an OpenJDK source directory) AC_ARG_WITH([openjdk-src-dir], - [AS_HELP_STRING(--with-openjdk-src-dir,specify the location of the openjdk sources)], + [AS_HELP_STRING(--with-openjdk-src-dir=DIR,specify the location of the openjdk sources)], [ OPENJDK_SRC_DIR=${withval} AC_MSG_RESULT(${withval}) @@ -1028,7 +1028,7 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], [ AC_MSG_CHECKING([for an existing OpenJDK installation]) AC_ARG_WITH([openjdk], - [AS_HELP_STRING([--with-openjdk], + [AS_HELP_STRING([--with-openjdk[=DIR]], [perform a quick build with an installed copy of OpenJDK])], [ if test "x${withval}" = xno @@ -1069,7 +1069,7 @@ AC_DEFUN([AC_CHECK_WITH_TZDATA_DIR], DEFAULT="/usr/share/javazi" AC_MSG_CHECKING([which Java timezone data directory to use]) AC_ARG_WITH([tzdata-dir], - [AS_HELP_STRING(--with-tzdata-dir,set the Java timezone data directory [[default=${DEFAULT}]])], + [AS_HELP_STRING(--with-tzdata-dir,set the Java timezone data directory [[default=/usr/share/javazi]])], [ if test "x${withval}" = x || test "x${withval}" = xyes; then TZDATA_DIR_SET=yes @@ -1270,10 +1270,10 @@ AC_MSG_RESULT(${enable_plugin}) AC_DEFUN_ONCE([IT_CHECK_NEW_PLUGIN], [ -AC_MSG_CHECKING([whether to build the new experimental browser plugin based on npruntime]) +AC_MSG_CHECKING([whether to build the new browser plugin based on npruntime]) AC_ARG_ENABLE([npplugin], - [AS_HELP_STRING([--enable-npplugin], - [Enable compilation of browser plugin (automatically disables default plugin)])], + [AS_HELP_STRING([--disable-npplugin], + [Disable compilation of the new browser plugin (automatically disables default plugin)])], [enable_npplugin="${enableval}"], [enable_npplugin="yes"]) AC_MSG_RESULT(${enable_npplugin}) ]) diff -r 32f3cb4b987b -r 36fc1b3ae030 configure.ac --- a/configure.ac Wed Jul 21 16:46:23 2010 -0400 +++ b/configure.ac Thu Jul 22 09:24:52 2010 +0100 @@ -128,8 +128,8 @@ AC_MSG_RESULT(${ENABLE_XRENDER}) AC_MSG_CHECKING([whether to include NIO2 support]) AC_ARG_ENABLE([nio2], - [AS_HELP_STRING([--disable-nio2], - [Disable inclusion of backported NIO2])], + [AS_HELP_STRING([--enable-nio2], + [Enable inclusion of backported NIO2])], [ENABLE_NIO2="${enableval}"], [ENABLE_NIO2='no']) AM_CONDITIONAL([ENABLE_NIO2], [test x$ENABLE_NIO2 = xyes]) AC_MSG_RESULT(${ENABLE_NIO2}) From ptisnovs at icedtea.classpath.org Thu Jul 22 07:27:04 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 22 Jul 2010 14:27:04 +0000 Subject: /hg/gfx-test: Changed generation of various rendering styles for... Message-ID: changeset e6167048456f in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=e6167048456f author: Pavel Tisnovsky date: Thu Jul 22 16:27:18 2010 +0200 Changed generation of various rendering styles for common graphics entities. diffstat: 12 files changed, 136 insertions(+), 204 deletions(-) TODO | 5 - src/org/gfxtest/framework/EntityRenderingStyle.java | 51 +++++++++++++ src/org/gfxtest/framework/GfxTest.java | 65 ++++++++++++----- src/org/gfxtest/testsuites/FilledCircles.java | 6 - src/org/gfxtest/testsuites/FilledPolygons.java | 6 - src/org/gfxtest/testsuites/FilledRectangles.java | 39 +--------- src/org/gfxtest/testsuites/FilledRoundRectangles.java | 39 +--------- src/org/gfxtest/testsuites/NormalArcs.java | 39 +--------- src/org/gfxtest/testsuites/NormalCircles.java | 6 - src/org/gfxtest/testsuites/NormalPolygons.java | 6 - src/org/gfxtest/testsuites/NormalRectangles.java | 39 +--------- src/org/gfxtest/testsuites/NormalRoundRectangles.java | 39 +--------- diffs (truncated from 595 to 500 lines): diff -r ec0b1d456477 -r e6167048456f TODO --- a/TODO Wed Jul 21 16:28:07 2010 +0200 +++ b/TODO Thu Jul 22 16:27:18 2010 +0200 @@ -3,15 +3,10 @@ DashedPolylines.java DashedPolylines.java DashedRectangles.java FilledEllipses.java -FilledRectangles.java -FilledRoundRectangles.java Normal3DRectangles.java -NormalArcs.java NormalEllipses.java NormalLines.java NormalPolylines.java -NormalRectangles.java -NormalRoundRectangles.java ScaledLines.java ScaledPolylines.java ScaledRectangles.java diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/framework/EntityRenderingStyle.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/EntityRenderingStyle.java Thu Jul 22 16:27:18 2010 +0200 @@ -0,0 +1,51 @@ +package org.gfxtest.framework; + +public class EntityRenderingStyle +{ + private int cap; + private int join; + private float width; + private float scale; + private int arcWidth; + private int arcHeight; + + public EntityRenderingStyle(int cap, int join, float width, int arcWidth, int arcHeight) + { + this.cap = cap; + this.join = join; + this.width = width; + this.arcWidth = arcWidth; + this.arcHeight = arcHeight; + } + + public int getCap() + { + return this.cap; + } + + public int getJoin() + { + return this.join; + } + + public float getWidth() + { + return this.width; + } + + public float getScale() + { + return this.scale; + } + + public int getArcWidth() + { + return this.arcWidth; + } + + public int getArcHeight() + { + return this.arcHeight; + } + +} diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Thu Jul 22 16:27:18 2010 +0200 @@ -63,6 +63,8 @@ public abstract class GfxTest */ protected static final int MAJOR_RADIUS = 100; + protected static final int RADIUS_STEP = 30; + /** * Offset from image borders used for rendering various graphics entities, for example rectangles. */ @@ -108,6 +110,8 @@ public abstract class GfxTest * All line or curve widths. */ protected static final float[] ALL_WIDTHS = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; + + private static final int ARC_STEP = 10; /** * Construct test suite name using full class name. @@ -183,12 +187,17 @@ public abstract class GfxTest * * @param configuration configuration of current test case. */ - protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { // to be overrided by test cases } protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash) + { + this.drawEntityWithVariousStyles(configuration, changeCap, changeJoin, changeWidth, changeScale, changeDash, 0, 0, 0, 0); + } + + protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash, int minArcWidth, int maxArcWidth, int minArcHeight, int maxArcHeight) { int[] caps = changeCap ? ALL_CAP_STYLES : DEFAULT_CAP_STYLE; int[] joins = changeJoin ? ALL_JOIN_STYLES : DEFAULT_JOIN_STYLE; @@ -200,26 +209,50 @@ public abstract class GfxTest { for (float width : widths) { - String testName = "test" + testNumber; //$NON-NLS-1$ - this.log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = image.getGraphics(); - /* TODO: add support to various scales and dashes */ - drawEntity(image, graphics, testNumber, 1.0f, width, cap, join, null); - graphics.dispose(); - try + for (int arcHeight = minArcHeight; arcHeight <= maxArcHeight; arcHeight += ARC_STEP) { - image.writeImage(configuration, this.suiteName, testName); + for (int arcWidth = minArcWidth; arcWidth <= maxArcWidth; arcWidth += ARC_STEP) + { + performOneTest(configuration, testNumber, cap, join, width, arcHeight, arcWidth); + testNumber++; + } } - catch (IOException e) - { - e.printStackTrace(); - } - this.log.logEnd(testName); - testNumber++; } } } + } + + private void performOneTest(Configuration configuration, int testNumber, int cap, int join, float width, + int arcHeight, int arcWidth) + { + String testName = "test" + testNumber; //$NON-NLS-1$ + this.log.logBegin(testName); + TestImage image = new TestImage(configuration); + Graphics2D graphics = image.getGraphics(); + /* TODO: add support to various scales and dashes */ + EntityRenderingStyle entityRenderingStyle = new EntityRenderingStyle(cap, join, width, arcHeight, arcWidth); + logCurrentRenderingStyle(entityRenderingStyle); + drawEntity(image, graphics, testNumber, entityRenderingStyle); + graphics.dispose(); + try + { + image.writeImage(configuration, this.suiteName, testName); + } + catch (IOException e) + { + e.printStackTrace(); + } + this.log.logEnd(testName); + } + + @SuppressWarnings({ "nls", "boxing" }) + private void logCurrentRenderingStyle(EntityRenderingStyle entityRenderingStyle) + { + this.log.logSet("cap", entityRenderingStyle.getCap()); + this.log.logSet("join", entityRenderingStyle.getJoin()); + this.log.logSet("width", entityRenderingStyle.getWidth()); + this.log.logSet("arc width", entityRenderingStyle.getArcWidth()); + this.log.logSet("arc height", entityRenderingStyle.getArcHeight()); } private void tryToInvokeTestMethod(Configuration configuration, Method method) diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/FilledCircles.java --- a/src/org/gfxtest/testsuites/FilledCircles.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/FilledCircles.java Thu Jul 22 16:27:18 2010 +0200 @@ -58,12 +58,10 @@ public class FilledCircles extends GfxTe { @Override - protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { graphics.setColor(Color.BLACK); - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - join)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/FilledPolygons.java --- a/src/org/gfxtest/testsuites/FilledPolygons.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/FilledPolygons.java Thu Jul 22 16:27:18 2010 +0200 @@ -58,12 +58,10 @@ public class FilledPolygons extends GfxT { @Override - protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { graphics.setColor(Color.BLACK); - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - join)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int w = image.getWidth(); int h = image.getHeight(); int xPoints[] = new int[] { OFFSET, w >> 1, w >> 1, w - OFFSET }; diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/FilledRectangles.java --- a/src/org/gfxtest/testsuites/FilledRectangles.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/FilledRectangles.java Thu Jul 22 16:27:18 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -57,9 +56,10 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class FilledRectangles extends GfxTest { - private void drawFilledRectangle(TestImage image, Graphics2D graphics, float width, int cap, int join) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, cap, join)); + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); @@ -77,39 +77,10 @@ public class FilledRectangles extends Gf drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - /* TODO: transfer caps and joins to GfxTest for ALL test cases */ - int[] caps = { BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE }; - int[] joins = { BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; - // TODO: transfer widths to GfxTest for ALL test cases - float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - int testNumber = 0; - for (int cap : caps) - { - for (int join : joins) - { - for (float width : widths) - { - String testName = "test" + testNumber; - log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = (Graphics2D) image.getGraphics(); - drawFilledRectangle(image, graphics, width, cap, join); - graphics.dispose(); - try - { - image.writeImage(configuration, suiteName, testName); - } - catch (IOException e) - { - e.printStackTrace(); - } - log.logEnd(testName); - testNumber++; - } - } - } + drawEntityWithVariousStyles(configuration, true, true, true, false, false); } public static void main(String[] args) diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/FilledRoundRectangles.java --- a/src/org/gfxtest/testsuites/FilledRoundRectangles.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/FilledRoundRectangles.java Thu Jul 22 16:27:18 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -57,11 +56,10 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class FilledRoundRectangles extends GfxTest { - private void drawFilledRoundRectangle(TestImage image, Graphics2D graphics, float width, int arcWidth, int arcHeight) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, // width - BasicStroke.CAP_BUTT, // cap - BasicStroke.JOIN_BEVEL)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); @@ -74,40 +72,15 @@ public class FilledRoundRectangles exten int x = (int) (xc + rmaj * Math.cos(angle)); int y = (int) (yc + rmaj * Math.sin(angle)); int radius = (int)(MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS)); - graphics.fillRoundRect(x - radius, y - radius, radius << 1, radius << 1, arcWidth, arcHeight); + graphics.fillRoundRect(x - radius, y - radius, radius << 1, radius << 1, entityRenderingStyle.getArcWidth(), entityRenderingStyle.getArcHeight()); } drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - int testNumber = 0; - for (float width : widths) - { - for (int arcHeight = 0; arcHeight < 40; arcHeight += 10) - { - for (int arcWidth = 0; arcWidth < 40; arcWidth += 10) - { - String testName = "test" + testNumber; - log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = (Graphics2D) image.getGraphics(); - drawFilledRoundRectangle(image, graphics, width, arcWidth, arcHeight); - graphics.dispose(); - try - { - image.writeImage(configuration, suiteName, testName); - } - catch (IOException e) - { - e.printStackTrace(); - } - log.logEnd(testName); - testNumber++; - } - } - } + drawEntityWithVariousStyles(configuration, true, true, true, false, false, 0, 40, 0, 40); } public static void main(String[] args) diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/NormalArcs.java --- a/src/org/gfxtest/testsuites/NormalArcs.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalArcs.java Thu Jul 22 16:27:18 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -57,19 +56,16 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class NormalArcs extends GfxTest { - private static final int MINOR_RADIUS = 50; - private static final int RADIUS_STEP = 30; - private void drawArc(TestImage image, Graphics2D graphics, float width, int cap) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - BasicStroke.JOIN_BEVEL)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); int majorRadius = (xc > yc ? yc : xc) - 20; - for (int radius = MINOR_RADIUS; radius < majorRadius; radius += RADIUS_STEP) + for (int radius = majorRadius; radius >= MINOR_RADIUS; radius -= RADIUS_STEP) { double r = ((double) radius - MINOR_RADIUS) / (majorRadius - MINOR_RADIUS); Color color = new Color(Color.HSBtoRGB((float)r, 1.0f, 1.0f)); @@ -79,33 +75,10 @@ public class NormalArcs extends GfxTest drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - float[] widths = { 1.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - int[] caps = { BasicStroke.CAP_SQUARE, BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND }; - int testNumber = 0; - for (int cap : caps) - { - for (float width : widths) - { - String testName = "test" + testNumber; - log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = (Graphics2D) image.getGraphics(); - drawArc(image, graphics, width, cap); - graphics.dispose(); - try - { - image.writeImage(configuration, suiteName, testName); - } - catch (IOException e) - { - e.printStackTrace(); - } - log.logEnd(testName); - testNumber++; - } - } + drawEntityWithVariousStyles(configuration, true, true, true, false, false); } public static void main(String[] args) diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/NormalCircles.java --- a/src/org/gfxtest/testsuites/NormalCircles.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalCircles.java Thu Jul 22 16:27:18 2010 +0200 @@ -58,12 +58,10 @@ public class NormalCircles extends GfxTe { @Override - protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { graphics.setColor(Color.BLACK); - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - join)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/NormalPolygons.java --- a/src/org/gfxtest/testsuites/NormalPolygons.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalPolygons.java Thu Jul 22 16:27:18 2010 +0200 @@ -58,12 +58,10 @@ public class NormalPolygons extends GfxT { @Override - protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, float scale, float width, int cap, int join, float[] dash) + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { graphics.setColor(Color.BLACK); - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - join)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int w = image.getWidth(); int h = image.getHeight(); int xPoints[] = new int[] { OFFSET, w >> 1, w >> 1, w - OFFSET }; diff -r ec0b1d456477 -r e6167048456f src/org/gfxtest/testsuites/NormalRectangles.java --- a/src/org/gfxtest/testsuites/NormalRectangles.java Wed Jul 21 16:28:07 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalRectangles.java Thu Jul 22 16:27:18 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -57,9 +56,10 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class NormalRectangles extends GfxTest { - private void drawRectangle(TestImage image, Graphics2D graphics, float width, int cap, int join) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, cap, join)); + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); @@ -77,39 +77,10 @@ public class NormalRectangles extends Gf drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - /* TODO: transfer caps and joins to GfxTest for ALL test cases */ - int[] caps = { BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE }; - int[] joins = { BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.CAP_ROUND }; - // TODO: transfer widths to GfxTest for ALL test cases - float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - int testNumber = 0; - for (int cap : caps) - { - for (int join : joins) - { From ptisnovs at icedtea.classpath.org Thu Jul 22 09:28:28 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 22 Jul 2010 16:28:28 +0000 Subject: /hg/gfx-test: New test case - rendering of filled arcs. Message-ID: changeset be2c8cfb62cd in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=be2c8cfb62cd author: Pavel Tisnovsky date: Thu Jul 22 18:15:34 2010 +0200 New test case - rendering of filled arcs. diffstat: 8 files changed, 213 insertions(+), 111 deletions(-) Makefile | 1 src/org/gfxtest/framework/EntityRenderingStyle.java | 56 +++++++++++- src/org/gfxtest/framework/GfxTest.java | 68 ++++++++++---- src/org/gfxtest/testsuites/FilledArcs.java | 88 +++++++++++++++++++ src/org/gfxtest/testsuites/FilledEllipses.java | 32 +----- src/org/gfxtest/testsuites/NormalArcs.java | 2 src/org/gfxtest/testsuites/NormalEllipses.java | 39 +------- src/org/gfxtest/testsuites/NormalLines.java | 38 +------- diffs (truncated from 523 to 500 lines): diff -r e6167048456f -r be2c8cfb62cd Makefile --- a/Makefile Thu Jul 22 16:27:18 2010 +0200 +++ b/Makefile Thu Jul 22 18:15:34 2010 +0200 @@ -77,6 +77,7 @@ TESTSUITE_CLASSES = \ $(CLASSES)/$(TESTSUITE_DIR)/NormalRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/NormalRoundRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/Normal3DRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/FilledArcs.class \ $(CLASSES)/$(TESTSUITE_DIR)/FilledCircles.class \ $(CLASSES)/$(TESTSUITE_DIR)/FilledEllipses.class \ $(CLASSES)/$(TESTSUITE_DIR)/FilledRectangles.class \ diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/framework/EntityRenderingStyle.java --- a/src/org/gfxtest/framework/EntityRenderingStyle.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/framework/EntityRenderingStyle.java Thu Jul 22 18:15:34 2010 +0200 @@ -1,3 +1,43 @@ package org.gfxtest.framework; +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + package org.gfxtest.framework; public class EntityRenderingStyle @@ -8,14 +48,19 @@ public class EntityRenderingStyle private float scale; private int arcWidth; private int arcHeight; + private boolean raised; + private float eccentricity; - public EntityRenderingStyle(int cap, int join, float width, int arcWidth, int arcHeight) + public EntityRenderingStyle(int cap, int join, float width, float scale, int arcWidth, int arcHeight, boolean raised, float eccentricity) { this.cap = cap; this.join = join; this.width = width; + this.scale = scale; this.arcWidth = arcWidth; this.arcHeight = arcHeight; + this.raised = raised; + this.eccentricity = eccentricity; } public int getCap() @@ -48,4 +93,13 @@ public class EntityRenderingStyle return this.arcHeight; } + public boolean isRaised() + { + return this.raised; + } + + public float getEccentricity() + { + return this.eccentricity; + } } diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Thu Jul 22 18:15:34 2010 +0200 @@ -65,21 +65,14 @@ public abstract class GfxTest protected static final int RADIUS_STEP = 30; + protected static final int ANGLES = 16; + /** * Offset from image borders used for rendering various graphics entities, for example rectangles. */ protected static final int OFFSET = 80; - /** - * Write test suite duration to the log file. - * - * @param t1 time when the test suite has been started - * @param t2 time when the test suite was completed - */ - private void printDuration(long t1, long t2) - { - this.log.logSet("duration", Long.valueOf(t2-t1)); //$NON-NLS-1$ - } + protected static final int ARC_STEP = 10; /** * Default cap style. @@ -111,7 +104,26 @@ public abstract class GfxTest */ protected static final float[] ALL_WIDTHS = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - private static final int ARC_STEP = 10; + /** + * Default ellipse eccentricity. + */ + protected static final float[] DEFAULT_ECCENTRICITY = { 1.0f }; + + /** + * Values used for rendering ellipses and similar geometric shapes. + */ + protected static final float[] ECCENTRICITIES = {1/3.0f, 1/2.5f, 1/2.0f, 1/1.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f}; + + /** + * Write test suite duration to the log file. + * + * @param t1 time when the test suite has been started + * @param t2 time when the test suite was completed + */ + private void printDuration(long t1, long t2) + { + this.log.logSet("duration", Long.valueOf(t2-t1)); //$NON-NLS-1$ + } /** * Construct test suite name using full class name. @@ -194,14 +206,25 @@ public abstract class GfxTest protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash) { - this.drawEntityWithVariousStyles(configuration, changeCap, changeJoin, changeWidth, changeScale, changeDash, 0, 0, 0, 0); + this.drawEntityWithVariousStyles(configuration, changeCap, changeJoin, changeWidth, changeScale, changeDash, 0, 0, 0, 0, false); + } + + protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash, boolean changeEccentricity) + { + this.drawEntityWithVariousStyles(configuration, changeCap, changeJoin, changeWidth, changeScale, changeDash, 0, 0, 0, 0, changeEccentricity); } protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash, int minArcWidth, int maxArcWidth, int minArcHeight, int maxArcHeight) { + this.drawEntityWithVariousStyles(configuration, changeCap, changeJoin, changeWidth, changeScale, changeDash, minArcWidth, maxArcWidth, minArcHeight, maxArcHeight, false); + } + + protected void drawEntityWithVariousStyles(Configuration configuration, boolean changeCap, boolean changeJoin, boolean changeWidth, boolean changeScale, boolean changeDash, int minArcWidth, int maxArcWidth, int minArcHeight, int maxArcHeight, boolean changeEccentricity) + { int[] caps = changeCap ? ALL_CAP_STYLES : DEFAULT_CAP_STYLE; int[] joins = changeJoin ? ALL_JOIN_STYLES : DEFAULT_JOIN_STYLE; float[] widths = changeWidth ? ALL_WIDTHS : DEFAULT_WIDTH; + float[] eccentricities = changeEccentricity ? ECCENTRICITIES : DEFAULT_ECCENTRICITY; int testNumber = 0; for (int cap : caps) { @@ -209,12 +232,20 @@ public abstract class GfxTest { for (float width : widths) { - for (int arcHeight = minArcHeight; arcHeight <= maxArcHeight; arcHeight += ARC_STEP) + for (float eccentricity : eccentricities) { - for (int arcWidth = minArcWidth; arcWidth <= maxArcWidth; arcWidth += ARC_STEP) + for (int arcHeight = minArcHeight; arcHeight <= maxArcHeight; arcHeight += ARC_STEP) { - performOneTest(configuration, testNumber, cap, join, width, arcHeight, arcWidth); - testNumber++; + for (int arcWidth = minArcWidth; arcWidth <= maxArcWidth; arcWidth += ARC_STEP) + { + /* + * TODO: add support to various scales and dashes + */ + EntityRenderingStyle entityRenderingStyle = new EntityRenderingStyle(cap, join, width, + 1.0f, arcHeight, arcWidth, false, eccentricity); + performOneTest(configuration, testNumber, entityRenderingStyle); + testNumber++; + } } } } @@ -222,15 +253,12 @@ public abstract class GfxTest } } - private void performOneTest(Configuration configuration, int testNumber, int cap, int join, float width, - int arcHeight, int arcWidth) + private void performOneTest(Configuration configuration, int testNumber, EntityRenderingStyle entityRenderingStyle) { String testName = "test" + testNumber; //$NON-NLS-1$ this.log.logBegin(testName); TestImage image = new TestImage(configuration); Graphics2D graphics = image.getGraphics(); - /* TODO: add support to various scales and dashes */ - EntityRenderingStyle entityRenderingStyle = new EntityRenderingStyle(cap, join, width, arcHeight, arcWidth); logCurrentRenderingStyle(entityRenderingStyle); drawEntity(image, graphics, testNumber, entityRenderingStyle); graphics.dispose(); diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/testsuites/FilledArcs.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/FilledArcs.java Thu Jul 22 18:15:34 2010 +0200 @@ -0,0 +1,88 @@ +/* + Java gfx-test framework + + Copyright (C) 2010 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.*; + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders filled arcs using identity transformation matrix. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.ARC) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) +public class FilledArcs extends GfxTest +{ + + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) + { + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); + int xc = image.getCenterX(); + int yc = image.getCenterY(); + int majorRadius = (xc > yc ? yc : xc) - 20; + + for (int radius = majorRadius; radius >= MINOR_RADIUS; radius -= RADIUS_STEP) + { + double r = ((double) radius - MINOR_RADIUS) / (majorRadius - MINOR_RADIUS); + Color color = new Color(Color.HSBtoRGB((float)r, 1.0f, 1.0f)); + graphics.setColor(color); + graphics.fillArc(xc - radius, yc - radius, radius << 1, radius << 1, (int) (r * 360.0), 180); + } + drawCross(graphics, xc, yc, CROSS_SIZE); + } + + @Override + protected void runOtherTests(Configuration configuration) + { + drawEntityWithVariousStyles(configuration, true, true, true, false, false); + } + + public static void main(String[] args) + { + new FilledArcs().runTestSuite(args); + } +} diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/testsuites/FilledEllipses.java --- a/src/org/gfxtest/testsuites/FilledEllipses.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/testsuites/FilledEllipses.java Thu Jul 22 18:15:34 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -58,8 +57,10 @@ public class FilledEllipses extends GfxT public class FilledEllipses extends GfxTest { - protected void drawFilledEllipse(TestImage image, Graphics2D graphics, float eccentricity) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); @@ -72,36 +73,17 @@ public class FilledEllipses extends GfxT int x = (int) (xc + rmaj * Math.cos(angle)); int y = (int) (yc + rmaj * Math.sin(angle)); float radius = MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS); - int rx = (int)(radius * eccentricity); - int ry = (int)(radius / eccentricity); + int rx = (int)(radius * entityRenderingStyle.getEccentricity()); + int ry = (int)(radius / entityRenderingStyle.getEccentricity()); graphics.fillOval(x - rx, y - ry, rx << 1, ry << 1); } drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - float[] eccentricities = {1/3.0f, 1/2.5f, 1/2.0f, 1/1.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f}; - int testNumber = 0; - for (float eccentricity : eccentricities) - { - String testName = "test" + testNumber; - log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = (Graphics2D) image.getGraphics(); - drawFilledEllipse(image, graphics, eccentricity); - graphics.dispose(); - try - { - image.writeImage(configuration, suiteName, testName); - } - catch (IOException e) - { - e.printStackTrace(); - } - log.logEnd(testName); - testNumber++; - } + drawEntityWithVariousStyles(configuration, false, false, false, false, false, true); } public static void main(String[] args) diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/testsuites/NormalArcs.java --- a/src/org/gfxtest/testsuites/NormalArcs.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalArcs.java Thu Jul 22 18:15:34 2010 +0200 @@ -46,7 +46,7 @@ import org.gfxtest.framework.annotations import org.gfxtest.framework.annotations.*; /** - * This test renders arcs using identity transformation matrix. + * This test renders empty arcs using identity transformation matrix. * * @author Pavel Tisnovsky */ diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/testsuites/NormalEllipses.java --- a/src/org/gfxtest/testsuites/NormalEllipses.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalEllipses.java Thu Jul 22 18:15:34 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -58,11 +57,10 @@ public class NormalEllipses extends GfxT public class NormalEllipses extends GfxTest { - private void drawEllipse(TestImage image, Graphics2D graphics, float width, float eccentricity) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, // width - BasicStroke.JOIN_MITER, // cap - BasicStroke.JOIN_BEVEL)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); double rmaj = (xc > yc ? yc : xc) - (MAJOR_RADIUS - MINOR_RADIUS); @@ -75,40 +73,17 @@ public class NormalEllipses extends GfxT int x = (int) (xc + rmaj * Math.cos(angle)); int y = (int) (yc + rmaj * Math.sin(angle)); float radius = MINOR_RADIUS + m * (MAJOR_RADIUS - MINOR_RADIUS); - int rx = (int)(radius * eccentricity); - int ry = (int)(radius / eccentricity); + int rx = (int)(radius * entityRenderingStyle.getEccentricity()); + int ry = (int)(radius / entityRenderingStyle.getEccentricity()); graphics.drawOval(x - rx, y - ry, rx << 1, ry << 1); } drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - float[] eccentricities = {1/3.0f, 1/2.5f, 1/2.0f, 1/1.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f}; - float[] widths = { 1.0f, 2.0f, 5.0f, 10.0f, 20.0f, 40.0f }; - int testNumber = 0; - for (float eccentricity : eccentricities) - { - for (float width : widths) - { - String testName = "test" + testNumber; - log.logBegin(testName); - TestImage image = new TestImage(configuration); - Graphics2D graphics = (Graphics2D) image.getGraphics(); - drawEllipse(image, graphics, width, eccentricity); - graphics.dispose(); - try - { - image.writeImage(configuration, suiteName, testName); - } - catch (IOException e) - { - e.printStackTrace(); - } - log.logEnd(testName); - testNumber++; - } - } + drawEntityWithVariousStyles(configuration, false, false, true, false, false, true); } public static void main(String[] args) diff -r e6167048456f -r be2c8cfb62cd src/org/gfxtest/testsuites/NormalLines.java --- a/src/org/gfxtest/testsuites/NormalLines.java Thu Jul 22 16:27:18 2010 +0200 +++ b/src/org/gfxtest/testsuites/NormalLines.java Thu Jul 22 18:15:34 2010 +0200 @@ -41,7 +41,6 @@ package org.gfxtest.testsuites; package org.gfxtest.testsuites; import java.awt.*; -import java.io.IOException; import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; @@ -57,14 +56,12 @@ import org.gfxtest.framework.annotations @Transformation(Transformations.NONE) public class NormalLines extends GfxTest { - private static final int MINOR_RADIUS = 50; - private static final int ANGLES = 16; + protected static final int LINE_MINOR_RADIUS = 50; - private void drawLines(TestImage image, Graphics2D graphics, float width, int cap) + @Override + protected void drawEntity(TestImage image, Graphics2D graphics, int testNumber, EntityRenderingStyle entityRenderingStyle) { - graphics.setStroke(new BasicStroke(width, // width - cap, // cap - BasicStroke.JOIN_ROUND)); // join + graphics.setStroke(new BasicStroke(entityRenderingStyle.getWidth(), entityRenderingStyle.getCap(), entityRenderingStyle.getJoin())); int xc = image.getCenterX(); int yc = image.getCenterY(); for (int i = 0; i < ANGLES; i++) @@ -84,33 +81,10 @@ public class NormalLines extends GfxTest drawCross(graphics, xc, yc, CROSS_SIZE); } + @Override protected void runOtherTests(Configuration configuration) { - float[] widths = { 1.0f, 10.0f, 20.0f, 40.0f, 80.0f }; - int[] caps = { BasicStroke.CAP_SQUARE, BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND }; - int testNumber = 0; - for (int cap : caps) - { - for (float width : widths) From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 13:26:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 20:26:26 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of THREAD Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED ------- Comment #9 from xerxes at zafena.se 2010-07-22 20:26 ------- Fixed when using LLVM 2.8svn branch r109125 and later http://llvm.org/viewvc/llvm-project?view=rev&revision=109125 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:01:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:01:12 +0000 Subject: [Bug 473] NSS PKCS11 regression - due to java.security automatic loading Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=473 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #4 from gnu_andrew at member.fsf.org 2010-07-22 22:01 ------- I'll look into this further when I get chance. In the meantime, I suggest you file a bug with Ubuntu asking them to disable NSS for now. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:01:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:01:22 +0000 Subject: [Bug 473] NSS PKCS11 regression - due to java.security automatic loading Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=473 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Status|ASSIGNED |NEW -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:04:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:04:08 +0000 Subject: [Bug 518] NPString.utf8characters not guaranteed to be nul-terminated Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=518 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dbhole at redhat.com |.org | Component|GCJWebPlugin |NPPlugin ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-22 22:04 ------- Which version of IcedTea are you referring to? Please include the version output. I'm assuming this is about NPPlugin and not the GCJWebPlugin which was removed some time ago and is no longer supported. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:07:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:07:04 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dbhole at redhat.com |.org | Component|IcedTea6 |NPPlugin ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-22 22:07 ------- Refiling as a plugin issue as it occurs with an applet. The proprietary Oracle JDK uses a completely different proprietary plugin so don't expect a fix for that here. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:21:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:21:09 +0000 Subject: [Bug 378] Gecko Browsers crashes due to IcedTeaPluginFactory Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=378 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX ------- Comment #3 from gnu_andrew at member.fsf.org 2010-07-22 22:21 ------- The old plugin is no longer supported. Please test with the new plugin provided with 1.7 and open a new bug if the issue persists. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:22:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:22:18 +0000 Subject: [Bug 379] JVM failed while running an external library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=379 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #4 from gnu_andrew at member.fsf.org 2010-07-22 22:22 ------- Closing as invalid. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:26:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:26:51 +0000 Subject: [Bug 468] Eclipse Galileo CDT crashes for SIGSEGV after saving a c++ file on CentOS 5.4 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=468 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|all |x86_64 Version|unspecified |6-1.2 ------- Comment #1 from gnu_andrew at member.fsf.org 2010-07-22 22:26 ------- Please test with a newer version of IcedTea6. There should be updated packages available in your distro. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:29:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:29:21 +0000 Subject: [Bug 470] SIGSEGV memcpy Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=470 ------- Comment #6 from gnu_andrew at member.fsf.org 2010-07-22 22:29 ------- That's not very helpful. What is 'Red Hat 4.1.2-46'? IcedTea packages were only added to RHEL from 5.3 and up: http://www.redhat.com/about/news/prarchive/2009/rhel_5_3.html -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:31:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:31:30 +0000 Subject: [Bug 471] debugging using eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=471 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.6 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-22 22:31 ------- Guessing 1.6 on VM version. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:34:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:34:43 +0000 Subject: [Bug 478] Fatal error when running tests in Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=478 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #331|application/octet-stream |text/plain mime type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:36:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:36:29 +0000 Subject: [Bug 478] Fatal error when running tests in Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=478 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|all |x86_64 Version|6-1.6 |6-1.7.1 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-22 22:36 ------- Setting arch and version from crash report. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:40:23 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:40:23 +0000 Subject: [Bug 398] hotspot hs16 / 6b17 build failure on sparc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 15:41:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 22:41:38 +0000 Subject: [Bug 405] Cannot link default plugin when building on CentOS 5.4 x86_64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=405 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID Version|unspecified |6-1.6 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-22 22:41 ------- The old plugin is no longer supported. Please try with the new plugin included with 1.7 (--enable-npplugin). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 22 16:02:01 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Jul 2010 23:02:01 +0000 Subject: [Bug 407] Segfault in IcedTeaPluginFactory::GetProxyInfo Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=407 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #1 from gnu_andrew at member.fsf.org 2010-07-22 23:02 ------- The old plugin is no longer supported. Please try with the new plugin included in 1.7 and later (--enable-npplugin) and file a new bug if the problem persists. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Thu Jul 22 16:32:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 22 Jul 2010 23:32:00 +0000 Subject: /hg/icedtea: 7 new changesets Message-ID: changeset 0e3aba9022ce in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0e3aba9022ce author: Andrew John Hughes date: Thu Jul 22 22:58:42 2010 +0100 Update documentation and configure help output. 2010-07-22 Andrew John Hughes * INSTALL, * README: Updated to match current state of play and extended with missing information. * acinclude.m4: Add parameter information to configure help for all options. (FIND_ENDORSED_JARS): Remove unused macro and correct typos. * configure.ac: Make the --disable-plugin help clearer by replacing 'LiveConnect plugin' with 'browser plugin'. changeset 199a7a1f9a66 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=199a7a1f9a66 author: Omair Majid date: Thu Jun 24 09:40:43 2010 -0400 netx: handle JNLP files which use native libraries but do not indicate it 2010-06-24 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. * netx/net/sourceforge/jnlp/JNLPClassLoader.java (activateJars): Always call activateNative. (activateNative): Search for native code anywhere in the jar. changeset 1a13fd8125c7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=1a13fd8125c7 author: Omair Majid date: Tue Jun 29 14:19:38 2010 -0400 Netx: make path sanitization consistent; use a blacklisting approach. 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/cache/CacheUtil.java (urlToPath): Call FileUtils.sanitizePath. (fixPath): Moved to... * netx/net/sourceforge/jnlp/util/FileUtils.java (sanitizePath): New function. Moved from CacheUtil.java (sanitizeFileName): Use a blacklisting approach rather than a whitelisting approach: should work better with non ascii filenames. changeset a8117b0af51d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a8117b0af51d author: Omair Majid date: Tue Jun 29 14:26:57 2010 -0400 Netx: make the SingleInstanceServer thread a daemon thread 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java (startListeningServer): Mark the thread as a daemon so the JVM can shutdown if there are no other non-daemon thread running. changeset 3ac6591eded8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3ac6591eded8 author: Omair Majid date: Tue Jun 29 15:48:10 2010 -0400 Netx: allow jnlp classloaders to share native libraries 2010-06-29 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java nativeDirectories: New variable. Contains a list of directories that contain native libraries. (getInstance): Tell other classloaders about the native directory. (getNativeDir): Add the new native directory to nativeDirectories. (addNativeDirectory): New function. (getNativeDirectories): New function. (findLibrary): Look in all the native directories for the native library. changeset aca7e8363025 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=aca7e8363025 author: Omair Majid date: Thu Jul 08 14:25:02 2010 -0400 PR460: Add ForbiddenTargetException for legacy support. 2010-07-08 Omair Majid PR icedtea/460 * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav a: New file. Some applets, for legacy support, expect this class to be present. changeset b52dc7f36b70 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b52dc7f36b70 author: Omair Majid date: Fri Jul 23 00:26:40 2010 +0100 RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (reFrame): Pass the panel to the constructor, dont set it yourself. (PluginAppletViewer): Set the panel to be the passed in object and only then add it to the list of all panels. diffstat: 12 files changed, 598 insertions(+), 291 deletions(-) ChangeLog | 60 + INSTALL | 383 +++++++--- README | 83 -- acinclude.m4 | 122 +-- configure.ac | 2 netx/net/sourceforge/jnlp/SecurityDesc.java | 9 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 17 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 93 +- netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 11 netx/net/sourceforge/jnlp/util/FileUtils.java | 51 - plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 + plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 diffs (truncated from 1483 to 500 lines): diff -r 0cae6a810c07 -r b52dc7f36b70 ChangeLog --- a/ChangeLog Wed Jul 21 09:21:37 2010 +0100 +++ b/ChangeLog Fri Jul 23 00:26:40 2010 +0100 @@ -1,3 +1,63 @@ 2010-07-20 Andrew John Hughes + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + nativeDirectories: New variable. Contains a list of directories that + contain native libraries. + (getInstance): Tell other classloaders about the native directory. + (getNativeDir): Add the new native directory to nativeDirectories. + (addNativeDirectory): New function. + (getNativeDirectories): New function. + (findLibrary): Look in all the native directories for the native library. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + (startListeningServer): Mark the thread as a daemon so the JVM can + shutdown if there are no other non-daemon thread running. + +2010-06-29 Omair Majid + + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + (urlToPath): Call FileUtils.sanitizePath. + (fixPath): Moved to... + * netx/net/sourceforge/jnlp/util/FileUtils.java + (sanitizePath): New function. Moved from CacheUtil.java + (sanitizeFileName): Use a blacklisting approach rather than a whitelisting + approach: should work better with non ascii filenames. + +2010-06-24 Omair Majid + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Fix comments. + * netx/net/sourceforge/jnlp/JNLPClassLoader.java + (activateJars): Always call activateNative. + (activateNative): Search for native code anywhere in the jar. + +2010-07-22 Andrew John Hughes + + * INSTALL, + * README: Updated to match current state of + play and extended with missing information. + * acinclude.m4: Add parameter information to + configure help for all options. + (FIND_ENDORSED_JARS): Remove unused macro and + correct typos. + * configure.ac: Make the --disable-plugin help clearer + by replacing 'LiveConnect plugin' with 'browser plugin'. + 2010-07-20 Andrew John Hughes * Makefile.am: diff -r 0cae6a810c07 -r b52dc7f36b70 INSTALL --- a/INSTALL Wed Jul 21 09:21:37 2010 +0100 +++ b/INSTALL Fri Jul 23 00:26:40 2010 +0100 @@ -1,141 +1,291 @@ Building IcedTea6 -Building IcedTea6 +Building IcedTea7 ================= For convenience we've provided make targets that automatically -download, extract and patch the source code from openjdk.java.net, in -a default location. +download, extract and patch the source code from the IcedTea forest +(http://hg.openjdk.java.net/icedtea/jdk7/). The build requirements are as follows: -GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95) -Eclipse Java Compiler +A bootstrap JDK, either: + - GNU libgcj 4.4.0 (or equivalent class library based on GNU Classpath >= 0.95) for --enable-bootstrap mode (the default) + - IcedTea6 or IcedTea7 for --disable-bootstrap mode +Eclipse Java Compiler (ecj) CUPS libX11 (libXp, libXtst, libXi, libXt) Freetype2 patch sed tar -md5sum +sha256sum (from coreutils) wget alsa xalan xerces -firefox-devel glib2-devel gtk2-devel -ant >= 1.6.5 +ant >= 1.6.5 with the regexp task from ant-nodeps libXinerama-devel giflib-devel libpng-devel libjpeg-devel >= 6b zlib-devel +xulrunner-devel (can be disabled using --disable-plugin) rhino (can be disabled using --without-rhino) - -For building the PulseAudio based mixer, you will need -pulseaudio-libs-devel >= 0.9.11 - -For building VisualVM, you will need -netbeans = 6.7.1 - -For building the zero-assembler port (see below), you will need libffi. - -For building the Shark JIT, you will need LLVM 2.5 or current SVN. - -For building with systemtap support (--enable-systemtap), you will need -systemtap-sdt-devel (available since systemtap 0.9.5). This also needs -the --with-abs-install-dir configure option to make sure the hotspot.stp.in -tapset gets the correct installation location for the libjvm.so, it -defaults to the root of the j2sdk-image build dir otherwise (but then -you cannot move that to another location without adjusting the paths -in the tapset/hotspot.stp file. For example: - --enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk -(Java method tracing works starting with systemtap 0.9.9) +libffi (for --enable-zero or on archs other than x86/x86_64/sparc) +pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) +LLVM 2.5 or later (for --enable-shark) +systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9) See ./configure --help if you need to override the defaults. -To bootstrap IcedTea with ecj: -autoreconf +To bootstrap IcedTea with ecj and a GNU Classpath-based JDK: +./autogen.sh ./configure make To build IcedTea with an older version of IcedTea, use: -autoreconf -./configure --with-icedtea - [default location: /usr/lib/jvm/java-icedtea, - to specifiy location use --with-icedtea-home=/path/to/icedtea] +./autogen.sh +./configure --disable-bootstrap make -There is currently no install target. +The following locations are checked for a JDK: + * /usr/lib/jvm/java-openjdk + * /usr/lib/jvm/icedtea6 + * /usr/lib/jvm/java-6-openjdk + * /usr/lib/jvm/openjdk + * /usr/lib/jvm/java-icedtea +in the order given above. -IcedTea ends up in openjdk/control/build/- when the build completes. -Example instantiations of - include linux-i586, linux-amd64 and linux-ppc64. +If bootstrapping is enabled, the following JDK locations are prepended to the above list: + * /usr/lib/jvm/java-gcj + * /usr/lib/jvm/gcj-jdk + * /usr/lib/jvm/cacao -Rebuilding The IcedTea Plugs ----------------------------- +There is currently no install target. IcedTea ends up in +openjdk.build when the build completes. -When IcedTea is initially built, it creates stamp files in the stamps directory -to determine what and when dependencies were compiled. For example, to rebuild -the rt plugs certain files need to be deleted before restarting the build. +Most targets in IcedTea creat stamp files in the stamps directory to +determine what and when dependencies were compiled. Each target has a +corresponding clean-x target which removes the output and the stamp +file, allowing it to be rebuilt. For example, stamps/rt.stamp (alias +rt) builds the bootstrap classes needed in the bootstrap build and +clean-rt removes the classes and the stamp file. - - If the rt plugs have been modified, delete stamps/rt-class-files.stamp. - - If a new class has been added to the rt plugs, delete - rt-source-files.txt so it can be recreated with the new class list. +Build Modification Options +========================== -To view all targets that create stamp files, see -Makefile.am (section 'All Stamped Targets'). +The build process may be modified by passing the following options +to configure: -The Zero Assembler Port ------------------------ +* --disable-docs: Don't build the Javadoc documentation. +* --disable-bootstrap: Perform a quick (no bootstrap) build using an installed + copy of IcedTea6 or IcedTea7. If a directory is not specified, a check against + the list presented above is performed. +* --enable-warnings: Produce warnings from the Java compiler during the build. +* --with-openjdk-src-dir: Copy the specified OpenJDK tree, rather than + downloading and extracting a tarball. +* --disable-optimizations: Build with -O0. +* --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than + downloading and extracting a tarball. +* --with-gcj: Compile ecj to native code with gcj prior to building. +* --with-parallel-jobs: Run the specified number of parallel jobs when + building HotSpot and the JDK. If this option is passed without an + argument, the number of online processors plus one is used. +* --with-netbeans-home: The location of NetBeans for use in the VisualVM build, + defaults to /usr/share/netbeans. +* --with-ant-home: The location of Ant, defaults to /usr/share/ant. +* --with-pkgversion=PKG: Include the specified distro package information in + the output of java -version. +* --with-gcj-home: Perform a full bootstrap build using an installed + copy of a GNU Classpath JDK such as gcj. If a directory is not specified, + a check against the list presented above is performed. +* --with-java: Specify the location of a 'java' binary. By default, the path + is checked for gij and java. +* --with-ecj: Specify the location of a 'ecj' binary. By default, the path + is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3. +* --with-javac: Specify the location of a 'javac' binary. By default, the path + is checked for javac. +* --with-jar: Specify the location of a 'jar' binary. By default, the path + is checked for gjar and jar. +* --with-javah: Specify the location of a 'javah' binary. By default, the path + is checked for gjavah and javah. +* --with-rmic: Specify the location of a 'rmic' binary. By default, the path + is checked for grmic and rmic. +* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the + following paths are checked: + - /usr/share/java/eclipse-ecj.jar + - /usr/share/java/ecj.jar + - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar +* --with-xalan2-jar: Specify the location of a xalan2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xalan-j2.jar + - /usr/share/java/xalan2.jar + - /usr/share/xalan/lib/xalan.jar +* --with-xalan2-serializer-jar: Specify the location of a xalan2 serializer JAR file. + By default, the following paths are checked: + - /usr/share/java/xalan-j2-serializer.jar + - /usr/share/xalan-serializer/lib/serializer.jar + - /usr/share/java/serializer.jar +* --with-xerces2-jar: Specify the location of a xerces2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xerces-j2.jar + - /usr/share/java/xerces2.jar + - /usr/share/xerces-2/lib/xercesImpl.jar + - /usr/share/java/xercesImpl.jar +* --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading. +* --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading. +* --with-corba-src-zip: Specify the location of the CORBA tarball to avoid downloading. +* --with-jaxp-src-zip: Specify the location of the JAXP tarball to avoid downloading. +* --with-jaxws-src-zip: Specify the location of the JAXWS tarball to avoid downloading. +* --with-jdk-src-zip: Specify the location of the JDK tarball to avoid downloading. +* --with-langtools-src-zip: Specify the location of the langtools tarball to avoid downloading. +* --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built. +* --with-jaxp-drop-zip: Specify the location of the JAXP source drop zip file to avoid downloading. +* --with-jaf-drop-zip: Specify the location of the JAF source drop zip file to avoid downloading. +* --with-jaxws-drop-zip: Specify the location of the JAXWS source drop zip file to avoid downloading. +* --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading + and building one. +* --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading. +* --with-cacao-src-dir: Specify the location of a CACAO source tree to avoid downloading. +* --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option. +* --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. +* --with-netbeans: Specify the location of NetBeans for VisualVM, defaulting to the netbeans on the path. +* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. +* --with-version-suffix: Appends the given text to the JDK version output. +* --with-project: Build an OpenJDK project from the following: icedtea, jdk7, closures, cvmi, cacaiocavallo, + bsd, nio2. The default is icedtea. Use of others is at the user's risk and builds may fail. This setting + affects which forest is checked out when --enable-hg is used and the set of patches applied. -Gary Benson has developed a port of the interpreter included in the -HotSpot virtual machine which avoids using any assembly language. As -a pure C++ interpreter, it should be possible to build this on most -architectures and have a working (albeit slow) version of OpenJDK. -Successful builds have been made on ppc, ppc64 and arm. The zero -assembler port is enabled by default on platforms other than x86, -x86_64 and sparc. To enable it on these platforms, use the ---enable-zero option. +Other options may be supplied which enable or disable new features. +These are documented fully in the relevant section below. -Gary is now working on a JIT called Shark to provide better -performance on platforms which need to use the zero port. A -preliminary version of this is now included with IcedTea and can be -built with the --enable-shark option. +* --disable-tests: Disable the running of all JTReg tests. +* --disable-hotspot-tests: Disable the running of the HotSpot JTReg suite. +* --disable-langtools-tests: Disable the running of the langtools JTReg suite. +* --disable-jdk-tests: Disable the running of the jdk JTreg suite. +* --enable-pulse-java: Build the PulseAudio sound provider. +* --disable-xrender: Don't include the XRender pipeline. +* --enable-systemtap: Include support for tracing using systemtap. +* --enable-nss: Enable the NSS security provider. +* --enable-cacao: Replace HotSpot with the CACAO VM. +* --enable-shark: Build the Shark LLVM-based JIT. +* --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms. +* --disable-plugin: Don't build the browser plugin. +* --disable-npplugin: Build the old unsupported plugin rather than NPPlugin. +* --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. +* --with-rhino: Include Javascript support using Rhino. +* --with-additional-vms=vm-list: Additional VMs to build using the system described + below. + +Testing +======= + +IcedTea7 includes support for running the test suite included with +OpenJDK, using the in-tree copy of JTReg. Invoking 'make check' will +cause the HotSpot, JDK and langtools test suites to be run. The +individual test suites may be run using the check-hotspot, check-jdk +and check-langtools targets respectively. The --disable-tests option +can be used to turn off all tests, and the +--disable-{hotspot,langtools,jdk}-tests options can be used to turn +off individual suites. This is useful when using 'make distcheck' +as a way of avoiding running the extensive JDK test suite which +takes several hours. + +The PulseAudio provider +======================= + +IcedTea7 includes an implementation of the javax.sound.* APIs using +PulseAudio which can be enabled using --enable-pulse-java. The resulting +provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. + +Xrender Support +=============== + +IcedTea7 includes support for an Xrender-based rendering pipeline +developed by Clemens Eisserer (http://linuxhippy.blogspot.com/). This +is compiled by default, and can be disabled using --disable-xrender. +To actually use the pipeline, the sun.java2d.xrender property needs to +be set to true, e.g. by passing the -Dsun.java2d.xrender=True option +to java. + +SystemTap +========= + +IcedTea7 includes work to allow the existing DTrace probes included in +OpenJDK to be used with SystemTap. This is enabled using the +--enable-systemtap option, and requires version 0.9.5 or later (0.9.9 +or later if you want Java method tracing). The tapset needs to know +the final install location of the JDK, so the --with-abs-install-dir +should also be used to specify this. If not set, it defaults to the +in-tree location of openjdk/build/-/j2sdk-image and requires +manual changes to tapset/hotspot.stp to work from elsewhere. For +example, if you plan to install the resulting build in +/usr/lib/jvm/java-1.6.0-openjdk, then you should specify +--enable-systemtap +--with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk. + +NSS Security Provider +===================== + +OpenJDK includes an NSS-based security provider in the form of +sun.security.pkcs11.SunPKCS11. However, as this needs to know the +location of the NSS installation it should use, it is not enabled +in normal OpenJDK builds. As IcedTea can detect NSS using configure, +it can simplify the process of enabling this provider by generating +a configuration file for the NSS provider. If --enable-nss is specified, +this configuration will be turned on in lib/security/java.security. +This can also be done manually at a later date. CACAO ------ +===== -The CACAO virtual machine (http://cacaovm.org) can be used as an -alternative to the HotSpot virtual machine. One advantage of this is -that it already provides a JIT for many platforms to which HotSpot has -not yet been ported, including ppc, ppc64, arm and mips. To use CACAO -as the VM, use the --with-cacao option. This will download CACAO -0.99.3 during the build. To use a different version, use ---with-cacao-home= to point to an existing installation which use -the Sun VM interface. +IcedTea7 can use CACAO as the virtual machine, as opposed to HotSpot. +One advantage of this is that CACAO has a JIT implementation for +more platforms than HotSpot, including ppc, ppc64, arm and mips. +When --enable-cacao is specified, CACAO will be downloaded and built, +followed by the JDK portion of OpenJDK resulting in a CACAO+OpenJDK +image in openjdk/build/-/j2sdk-image. The --with-cacao-home +option can be used to specify the use of an existing CACAO install +instead, and --with-cacao-src-zip/dir options exist to allow the use +of a pre-downloaded zip or source tree respectively. -Building additional virtual machines ------------------------------------- +Zero & Shark +============ -Although IcedTea can be built multiple times to use a different virtual -machine, addtional VM's can be built without building the other components -multiple times. +IcedTea7 includes a zero assembler port of HotSpot, which avoids +architecture-specific code as much as possible, allowing an +interpreter to be built and run on most platforms (albeit very +slowly). As HotSpot only includes JITs for x86, x86_64 and SPARC, the +zero assembler port is automatically enabled on all other +architectures. On x86, x86_64 and SPARC, it may be built using +--enable-zero. -On architectures where hotspot is available, use - --with-additional-vms=cacao,zero (or shark instead of zero) -on architectures where only zero (or shark) is available, use - --with-additional-vms=cacao -to build the additional VMs. It's not possible to build cacao as the -default VM, and zero as additional VM. -To build zero as the default VM and shark as an additional VM, use - --enable-zero --with-additional-vms=shark +To overcome the performance issues inherent in zero, a LLVM-based JIT +called Shark has been developed. This performs Just-In-Time compilation +on any architecture supported by LLVM. To enable it, pass the option +--enable-shark to configure. Please note that Shark is still in +development and builds are still likely to fail at present. -The additional VMs are available by calling the java with the option -`-cacao', `-zero' or `-shark', or by calling the java tools with -`-J-'. If the build was configured with '--enable-shark', -use `-Xint' to just use the zero VM. +The Browser Plugin +================== -Support for different versions of HotSpot ------------------------------------------ +IcedTea7 contains a Free Software browser plugin based on NPRuntime +called NPPlugin. By default, this will be built, and it can be turned +off using the -disable-plugin option. + +A test suite is supplied for the browser plugin. It can be built +using 'make plugin-tests' and run by loading the HTML page specified +into a browser with the plugin installed. + +For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be +set to 'true'. This will produce output on the console from the C++ +side, and output from the Java side in $HOME/.icedteaplugin/java.stdout +and $HOME/.icedteaplugin/java.stderr. It also starts the debug server +on port 8787. + +Support for Different Versions of HotSpot +========================================= IcedTea allows the version of HotSpot provided with the upstream build drop to be replaced with another. Support for this is provided by the @@ -166,11 +316,50 @@ download stage and just verifies that th download stage and just verifies that the zip's MD5 sum matches that of the requested build. -At present, two versions of HotSpot are officially supported. These -are HotSpot 14 ('original') which is provided by the upstream OpenJDK -tarball, and 'default', which is used in hotspot.map to provide the -latest version of HotSpot 16. Thus, either --with-hotspot-build -without an argument or --with-hotspot-build=default provides the -latest supported hs16, while no HotSpot build argument, ---without-hotspot-build or --with-hotspot-build=original uses the -upstream HotSpot. +Currently, IcedTea7 only supports the 'original' HotSpot provided as +part of the upstream IcedTea forest. + +Javascript Support +================== + +IcedTea7 adds Javascript support via the javax.script API by using +an existing installation of Rhino. Support is enabled by default, +with the following locations being searched for a Rhino JAR file: + +* /usr/share/java/rhino.jar +* /usr/share/java/js.jar +* /usr/share/rhino-1.6/lib/js.jar + +A JAR file can instead be specified using the --with-rhino option, +or support may be disabled by specifying --without-rhino. + +Note that the final installed JAR file is a modified version with the +namespace prefixed by 'sun.' as in the proprietary Oracle JDK. This +avoids conflicts between the JDK's copy of Rhino and any used by other +applications. + +Building Additional Virtual Machines +==================================== + +Although IcedTea can be built multiple times to use a different virtual +machine, additional VMs can be built without building the other components +multiple times. + +On architectures where hotspot is available, use + --with-additional-vms=cacao,zero (or shark instead of zero) +on architectures where only zero (or shark) is available, use + --with-additional-vms=cacao +to build the additional VMs. It's not possible to build cacao as the +default VM, and zero as additional VM. +To build zero as the default VM and shark as an additional VM, use + --enable-zero --with-additional-vms=shark From andrew at icedtea.classpath.org Fri Jul 23 01:27:07 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 23 Jul 2010 08:27:07 +0000 Subject: /hg/icedtea: 8 new changesets Message-ID: changeset 69e2cfc5643f in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=69e2cfc5643f author: Andrew John Hughes date: Fri Jul 23 09:11:11 2010 +0100 Add rebuild target to allow a quick OpenJDK rebuild (warning; may not work in some cases due to flaws in OpenJDK's build system) 2010-07-08 Andrew John Hughes * Makefile.am: (rebuild): Add new target to allow a quick rebuild of OpenJDK in the manner of the existing hotspot target. changeset 2d3c4a7208ec in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=2d3c4a7208ec author: Man Lung Wong date: Thu Jul 08 15:54:35 2010 -0400 Added encoding support for netx. 2010-07-08 Man Lung Wong * netx/net/sourceforge/jnlp/Parser.java: (getRootNode): Used BufferedInputStream instead of InputStream to have mark and reset method available. Passed the encoding to the constructor of InputStreamReader, such that the stream will now be parsed with the encoding the jnlp file is in. (getEncoding): A new method which checks the first four bytes of input and determines what the files encoding is. changeset 77a59d9a4ce5 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=77a59d9a4ce5 author: Jon VanAlten date: Mon Jul 12 11:13:35 2010 -0400 Eliminate spurious exception throwing in PulseAudio provider. 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataL ine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine. java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourc eDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTarge tDataLine.java: Eliminate spurious exception throwing from open, close, read, write, drain, and flush calls on closed lines. Use isOpen() API call instead of instance variable where appropriate. changeset b7ee63785b8d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b7ee63785b8d author: Deepak Bhole date: Fri Jul 23 09:16:18 2010 +0100 Use variadic macro for plugin debug message printing. 2010-06-14 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro for debug message printing. * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. * plugin/icedteanp/IcedTeaPluginUtils.h: Same. * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. changeset 0bdf82fd01e8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0bdf82fd01e8 author: Deepak Bhole date: Tue Jul 13 14:48:45 2010 -0400 - Set timeout to 120 seconds (previous commit mistakenly changed it to 10). - Print debug info only in debug mode. changeset 5ecc2d7f4f7c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5ecc2d7f4f7c author: Deepak Bhole date: Wed Jul 14 17:42:26 2010 -0400 Fix race conditions in plugin initialization code that were causing hangs when loading multiple applets in parallel. changeset 48c6bc3dbf4c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=48c6bc3dbf4c author: Xerxes R?nby date: Mon Jul 19 14:39:53 2010 +0200 PR498: Catch-all handler can be unloaded. 2010-07-19 Gary Benson Xerxes R?nby PR icedtea/498 * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. changeset 0b272cf7e4a3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0b272cf7e4a3 author: Omair Majid date: Tue Jul 20 09:35:12 2010 -0400 netx: do not use Look and Feel related methods for setting up security dialogs 2010-07-20 Omair Majid PR icedtea/372 * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. Remove all usage of Look and Feel related functionality. Extend JPanel. (createSetValueListener): New method. (setVisible): New method. (requestFocusOnDefaultButton): New method. * netx/net/sourceforge/jnlp/security/AccessWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramenter. Call addComponents. (installComponents): Renamed to (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/AppletWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (htmlWrap): Moved to parent class. * netx/net/sourceforge/jnlp/security/CertWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. (CheckBoxListener): Add debug information. * netx/net/sourceforge/jnlp/security/CertsInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. * netx/net/sourceforge/jnlp/security/MoreInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java Extend JDialog instead of JOptionPane. Add panel, value as new fields. (SecurityWarningDialog): Call super and initDialog. (showAccessWarningDialog): Modified to use the cleaned-up api. (showCertWarningDialog): Likewise. (showMoreInfoDialog): Likewise. (showCertInfoDialog): Likewise. (showSingleCertInfoDialog): Likewise. (showAppletWarning): Likewise. (createDialog): Renamed to... (initDialog): New method. Clean up api and remove JOptionPane references. (updateUI): Renamed to... (installPanel): Switch from Look and Feel related setUI methods to simple JComponents. (selectDefaultButton): New method. Causes the default button to request focus. (setValue): New method. Set the return value of this dialog. (getValue): New method. Get the return value of this dialog. (setSystemLookAndFeel): New method. Set the Look and Feel to the System look and feel. * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. (buildTree): Use parant instead of optionPane. (populateTable): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend JPanel instead of SecurityDialogUI. Add two new fields: parent and defaultFocusComponent. (CertificatePane): Take a JDialog as the argument. (installUI): Removed. (setSystemLookAndFeel): Removed. (installComponents): Renamed to ... (addComponents): New method. (focusOnDefaultButton): New method. Makes the defaultFocusComponent get focus. (CloseButtonListener): New class. Disposes the JDialog. * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend JDialog instead of JOptionPane (CertificateViewer): Initialize the JDialog, add the CertificatePanel and set default focus. (updateUI): Removed. (centerDialog): Takes no arguments. (createDialog): Removed. (showCertificateViewer): Use the new cleaned up api for CertificateViewer. (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. diffstat: 27 files changed, 960 insertions(+), 904 deletions(-) ChangeLog | 161 +++++++ Makefile.am | 15 netx/net/sourceforge/jnlp/Parser.java | 72 +++ netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 47 -- netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 27 - netx/net/sourceforge/jnlp/security/CertWarningPane.java | 61 +- netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 19 netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 39 - netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 129 ++++++ netx/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 --------- netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 187 ++++---- netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 7 netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 78 +-- netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 129 ++---- plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 16 plugin/icedteanp/IcedTeaNPPlugin.cc | 214 +++++----- plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 46 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 102 ++-- plugin/icedteanp/IcedTeaPluginUtils.h | 66 --- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 58 +- plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 23 - plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 ++- diffs (truncated from 4005 to 500 lines): diff -r b52dc7f36b70 -r 0b272cf7e4a3 ChangeLog --- a/ChangeLog Fri Jul 23 00:26:40 2010 +0100 +++ b/ChangeLog Tue Jul 20 09:35:12 2010 -0400 @@ -1,3 +1,164 @@ 2010-07-08 Omair Majid + + PR icedtea/372 + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. + Remove all usage of Look and Feel related functionality. Extend JPanel. + (createSetValueListener): New method. + (setVisible): New method. + (requestFocusOnDefaultButton): New method. + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramenter. Call addComponents. + (installComponents): Renamed to + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (htmlWrap): Moved to parent class. + * netx/net/sourceforge/jnlp/security/CertWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as + a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + (CheckBoxListener): Add debug information. + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java + Extend JDialog instead of JOptionPane. Add panel, value as new fields. + (SecurityWarningDialog): Call super and initDialog. + (showAccessWarningDialog): Modified to use the cleaned-up api. + (showCertWarningDialog): Likewise. + (showMoreInfoDialog): Likewise. + (showCertInfoDialog): Likewise. + (showSingleCertInfoDialog): Likewise. + (showAppletWarning): Likewise. + (createDialog): Renamed to... + (initDialog): New method. Clean up api and remove JOptionPane references. + (updateUI): Renamed to... + (installPanel): Switch from Look and Feel related setUI methods to simple + JComponents. + (selectDefaultButton): New method. Causes the default button to request + focus. + (setValue): New method. Set the return value of this dialog. + (getValue): New method. Get the return value of this dialog. + (setSystemLookAndFeel): New method. Set the Look and Feel to the System + look and feel. + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java + (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. + (buildTree): Use parant instead of optionPane. + (populateTable): Likewise. + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend + JPanel instead of SecurityDialogUI. Add two new fields: parent and + defaultFocusComponent. + (CertificatePane): Take a JDialog as the argument. + (installUI): Removed. + (setSystemLookAndFeel): Removed. + (installComponents): Renamed to ... + (addComponents): New method. + (focusOnDefaultButton): New method. Makes the defaultFocusComponent get + focus. + (CloseButtonListener): New class. Disposes the JDialog. + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend + JDialog instead of JOptionPane + (CertificateViewer): Initialize the JDialog, add the CertificatePanel and + set default focus. + (updateUI): Removed. + (centerDialog): Takes no arguments. + (createDialog): Removed. + (showCertificateViewer): Use the new cleaned up api for CertificateViewer. + (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. + +2010-07-19 Gary Benson + Xerxes R??nby + + PR icedtea/498 + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. + +2010-07-14 Deepak Bhole + + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new + processedIds list to track which instances have been instantiated. + (okToProcess): Register width as priority only after handle is acquired. + Process resize messages only after tag and handle are processed. + (notifyWorkerIsFree): Add instance id to processedIds list if the worked + being free'd is an init worker. + (getFreeWorker): Create new normal worked only if worker count is less + than MAX_WORKERS - PRIORITY_WORKERS. + (dumpWorkerStatus): New method. Useful when debugging -- prints status of + all workers. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (toString): New method. Returns the string representation of the worker + instance at call time. + +2010-07-13 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 + seconds (previous commit mistakenly changed it to 10). + * plugin/icedteanp/IcedTeaPluginUtils.h: Print debug info only in debug + mode. + +2010-06-14 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro + for debug message printing. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + +2010-07-12 Jon VanAlten + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + +2010-07-08 Man Lung Wong + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + +2010-07-08 Andrew John Hughes + + * Makefile.am: + (rebuild): Add new target to allow a quick + rebuild of OpenJDK in the manner of the existing + hotspot target. + 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: diff -r b52dc7f36b70 -r 0b272cf7e4a3 Makefile.am --- a/Makefile.am Fri Jul 23 00:26:40 2010 +0100 +++ b/Makefile.am Tue Jul 20 09:35:12 2010 -0400 @@ -1948,6 +1948,21 @@ stamps/icedtea-boot.stamp: stamps/bootst mkdir -p stamps touch $@ +# Rebuild targets + +rebuild: +if BOOTSTRAPPING + rm -f stamps/icedtea-boot.stamp + rm -f stamps/icedtea-stage1.stamp + $(ARCH_PREFIX) $(MAKE) icedtea-stage1 + @echo "bootstrap-poured IcedTea is served (again):" $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image +else + rm -f stamps/icedtea.stamp + rm -f stamps/icedtea-stage2.stamp + $(ARCH_PREFIX) $(MAKE) icedtea-stage2 + @echo "IcedTea is served (again):" $(BUILD_OUTPUT_DIR)/j2sdk-image +endif + hotspot: if BOOTSTRAPPING rm -f stamps/icedtea-boot.stamp diff -r b52dc7f36b70 -r 0b272cf7e4a3 netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Fri Jul 23 00:26:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Tue Jul 20 09:35:12 2010 -0400 @@ -1168,12 +1168,16 @@ class Parser { Node document = new Node(TinyParser.parseXML(input)); Node jnlpNode = getChildNode(document, "jnlp"); // skip comments */ + + //A BufferedInputStream is used to allow marking and reseting + //of a stream. + BufferedInputStream bs = new BufferedInputStream(input); /* NANO */ final XMLElement xml = new XMLElement(); final PipedInputStream pin = new PipedInputStream(); - final PipedOutputStream pout = new PipedOutputStream(pin); - final InputStreamReader isr = new InputStreamReader(input); + final PipedOutputStream pout = new PipedOutputStream(pin); + final InputStreamReader isr = new InputStreamReader(bs, getEncoding(bs)); // Clean the jnlp xml file of all comments before passing // it to the parser. new Thread( @@ -1196,7 +1200,69 @@ class Parser { throw new ParseException(R("PBadXML"), ex); } } + + /** + * Returns the name of the encoding used in this InputStream. + * + * @param input the InputStream + * @return a String representation of encoding + */ + private static String getEncoding(InputStream input) throws IOException{ + //Fixme: This only recognizes UTF-8, UTF-16, and + //UTF-32, which is enough to parse the prolog portion of xml to + //find out the exact encoding (if it exists). The reason being + //there could be other encodings, such as ISO 8859 which is 8-bits + //but it supports latin characters. + //So what needs to be done is to parse the prolog and retrieve + //the exact encoding from it. + int[] s = new int[4]; + String encoding = "UTF-8"; + + //Determine what the first four bytes are and store + //them into an int array. + input.mark(4); + for (int i = 0; i < 4; i++) { + s[i] = input.read(); + } + input.reset(); + + //Set the encoding base on what the first four bytes of the + //inputstream turn out to be (following the information from + //www.w3.org/TR/REC-xml/#sec-guessing). + if (s[0] == 255) { + if (s[1] == 254) { + if (s[2] != 0 || s[3] != 0) { + encoding = "UnicodeLittle"; + } else { + encoding = "X-UTF-32LE-BOM"; + } + } + } else if (s[0] == 254 && s[1] == 255 && (s[2] != 0 || + s[3] != 0)) { + encoding = "UTF-16"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 254 && + s[3] == 255) { + encoding = "X-UTF-32BE-BOM"; + + } else if (s[0] == 0 && s[1] == 0 && s[2] == 0 && + s[3] == 60) { + encoding = "UTF-32BE"; + + } else if (s[0] == 60 && s[1] == 0 && s[2] == 0 && + s[3] == 0) { + encoding = "UTF-32LE"; + + } else if (s[0] == 0 && s[1] == 60 && s[2] == 0 && + s[3] == 63) { + encoding = "UTF-16BE"; + } else if (s[0] == 60 && s[1] == 0 && s[2] == 63 && + s[3] == 0) { + encoding = "UTF-16LE"; + } + + return encoding; + } } - diff -r b52dc7f36b70 -r 0b272cf7e4a3 netx/net/sourceforge/jnlp/security/AccessWarningPane.java --- a/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Fri Jul 23 00:26:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/security/AccessWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -51,44 +51,42 @@ import javax.swing.ImageIcon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import net.sourceforge.jnlp.JNLPFile; -import net.sourceforge.jnlp.runtime.JNLPRuntime; /** - * Provides the look and feel for a SecurityWarningDialog. These dialogs are + * Provides a panel to show inside a SecurityWarningDialog. These dialogs are * used to warn the user when either signed code (with or without signing * issues) is going to be run, or when service permission (file, clipboard, * printer, etc) is needed with unsigned code. * * @author Joshua Sumali */ -public class AccessWarningPane extends SecurityDialogUI { +public class AccessWarningPane extends SecurityDialogPanel { JCheckBox alwaysAllow; Object[] extras; - public AccessWarningPane(JComponent x, CertVerifier certVerifier) { + public AccessWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } - public AccessWarningPane(JComponent x, Object[] extras, CertVerifier certVerifier) { + public AccessWarningPane(SecurityWarningDialog x, Object[] extras, CertVerifier certVerifier) { super(x, certVerifier); this.extras = extras; + addComponents(); } /** - * Creates the actual GUI components, and adds it to optionPane + * Creates the actual GUI components, and adds it to this panel */ - protected void installComponents() { - SecurityWarningDialog.AccessType type = - ((SecurityWarningDialog)optionPane).getType(); - JNLPFile file = - ((SecurityWarningDialog)optionPane).getFile(); + private void addComponents() { + SecurityWarningDialog.AccessType type = parent.getType(); + JNLPFile file = parent.getFile(); String name = ""; String publisher = ""; @@ -173,35 +171,22 @@ public class AccessWarningPane extends S JButton run = new JButton("Allow"); JButton cancel = new JButton("Cancel"); - run.addActionListener(createButtonActionListener(0)); + run.addActionListener(createSetValueListener(parent,0)); run.addActionListener(new CheckBoxListener()); - cancel.addActionListener(createButtonActionListener(1)); + cancel.addActionListener(createSetValueListener(parent, 1)); initialFocusComponent = cancel; buttonPanel.add(run); buttonPanel.add(cancel); buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //all of the above - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - main.add(topPanel); - main.add(infoPanel); - main.add(buttonPanel); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(topPanel); + add(infoPanel); + add(buttonPanel); - optionPane.add(main, BorderLayout.CENTER); } - private static String R(String key) { - return JNLPRuntime.getMessage(key); - } - - private static String R(String key, Object param) { - return JNLPRuntime.getMessage(key, new Object[] {param}); - } - - protected String htmlWrap (String s) { - return ""+s+""; - } private class CheckBoxListener implements ActionListener { public void actionPerformed(ActionEvent e) { diff -r b52dc7f36b70 -r 0b272cf7e4a3 netx/net/sourceforge/jnlp/security/AppletWarningPane.java --- a/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Fri Jul 23 00:26:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/security/AppletWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -46,18 +46,18 @@ import javax.swing.BorderFactory; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JButton; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; -public class AppletWarningPane extends SecurityDialogUI { +public class AppletWarningPane extends SecurityDialogPanel { - public AppletWarningPane(JComponent x, CertVerifier certVerifier) { + public AppletWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); + addComponents(); } - protected void installComponents() { + protected void addComponents() { //Top label String topLabelText = "While support for verifying signed code" + @@ -95,9 +95,9 @@ public class AppletWarningPane extends S yes.setPreferredSize(d); no.setPreferredSize(d); cancel.setPreferredSize(d); - yes.addActionListener(createButtonActionListener(0)); - no.addActionListener(createButtonActionListener(1)); - cancel.addActionListener(createButtonActionListener(2)); + yes.addActionListener(createSetValueListener(parent, 0)); + no.addActionListener(createSetValueListener(parent, 1)); + cancel.addActionListener(createSetValueListener(parent, 2)); initialFocusComponent = cancel; buttonPanel.add(yes); buttonPanel.add(no); @@ -105,17 +105,12 @@ public class AppletWarningPane extends S buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //all of the above - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - main.add(topPanel); - main.add(infoPanel); - main.add(buttonPanel); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(topPanel); + add(infoPanel); + add(buttonPanel); - optionPane.add(main, BorderLayout.CENTER); } - protected String htmlWrap (String s) { - return ""+s+""; - } } diff -r b52dc7f36b70 -r 0b272cf7e4a3 netx/net/sourceforge/jnlp/security/CertWarningPane.java --- a/netx/net/sourceforge/jnlp/security/CertWarningPane.java Fri Jul 23 00:26:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/security/CertWarningPane.java Tue Jul 20 09:35:12 2010 -0400 @@ -53,7 +53,6 @@ import javax.swing.ImageIcon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; @@ -64,33 +63,31 @@ import net.sourceforge.jnlp.tools.KeyToo import net.sourceforge.jnlp.tools.KeyTool; /** - * Provides the look and feel for a SecurityWarningDialog. These dialogs are + * Provides the panel for using inside a SecurityWarningDialog. These dialogs are * used to warn the user when either signed code (with or without signing * issues) is going to be run, or when service permission (file, clipboard, * printer, etc) is needed with unsigned code. * * @author Joshua Sumali */ -public class CertWarningPane extends SecurityDialogUI { +public class CertWarningPane extends SecurityDialogPanel { JCheckBox alwaysTrust; CertVerifier certVerifier; - public CertWarningPane(JComponent x, CertVerifier certVerifier) { + public CertWarningPane(SecurityWarningDialog x, CertVerifier certVerifier) { super(x, certVerifier); this.certVerifier = certVerifier; + addComponents(); } /** - * Creates the actual GUI components, and adds it to optionPane + * Creates the actual GUI components, and adds it to this panel */ - protected void installComponents() { - SecurityWarningDialog.AccessType type = - ((SecurityWarningDialog)optionPane).getType(); - JNLPFile file = - ((SecurityWarningDialog)optionPane).getFile(); - Certificate c = ((SecurityWarningDialog)optionPane) - .getJarSigner().getPublisher(); + private void addComponents() { + SecurityWarningDialog.AccessType type = parent.getType(); + JNLPFile file = parent.getFile(); + Certificate c = parent.getJarSigner().getPublisher(); String name = ""; From andrew at icedtea.classpath.org Fri Jul 23 02:06:12 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 23 Jul 2010 09:06:12 +0000 Subject: /hg/icedtea: 6 new changesets Message-ID: changeset a69cd17ab8c8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a69cd17ab8c8 author: Omair Majid date: Tue Jul 20 13:30:49 2010 -0400 netx: error out when unsigned jnlp applications request permissions 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw a LaunchException if the JNLP file requests permissions but the jars are unsigned. changeset 5729e7fdd3f2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5729e7fdd3f2 author: Omair Majid date: Tue Jul 20 13:39:49 2010 -0400 PR icedtea/491 pass java_{code,codebase,archive} paramters to java side 2010-07-20 Omair Majid PR icedtea/491 * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Accept and pass on java_{code,codebase,archive} tags to the java side of the plugin. changeset cff4f67eb5e2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=cff4f67eb5e2 author: Mark Wielaard date: Tue Jul 20 20:26:03 2010 +0200 Get configure and make BUILD_DIR in sync. 2010-07-20 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . changeset 3c4600357f38 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3c4600357f38 author: Man Lung Wong date: Tue Jul 20 16:31:28 2010 -0400 Adds javawebstart.version property and give user permission to read that proerty during sandbox permission. changeset 9b832c4c78fd in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=9b832c4c78fd author: Man Lung Wong date: Tue Jul 20 16:38:54 2010 -0400 Minor formatting error and forgot to mention related bug in Changelog. changeset 66cd8b27fe54 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=66cd8b27fe54 author: Deepak Bhole date: Wed Jul 21 16:29:05 2010 -0400 Undo changes from 98c88b32cdb4 to Parser.java, since they could cause potential regressions. diffstat: 9 files changed, 100 insertions(+), 23 deletions(-) ChangeLog | 36 +++++++++++++++ Makefile.am | 2 configure.ac | 6 +- netx/net/sourceforge/jnlp/Parser.java | 25 +++++----- netx/net/sourceforge/jnlp/SecurityDesc.java | 1 netx/net/sourceforge/jnlp/resources/Messages.properties | 2 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 25 ++++++---- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 5 ++ plugin/icedteanp/IcedTeaNPPlugin.cc | 21 ++++++++ diffs (303 lines): diff -r 0b272cf7e4a3 -r 66cd8b27fe54 ChangeLog --- a/ChangeLog Tue Jul 20 09:35:12 2010 -0400 +++ b/ChangeLog Wed Jul 21 16:29:05 2010 -0400 @@ -1,3 +1,39 @@ 2010-07-19 Omair Majid + + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to + Parser.java, since they could cause potential regressions. + +2010-07-20 Man Lung Wong + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version + property as part of sandbox permission. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). + +2010-07-20 Mark Wielaard + + * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. + (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. + * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . + +2010-07-20 Omair Majid + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + +2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + 2010-07-19 Omair Majid PR icedtea/372 diff -r 0b272cf7e4a3 -r 66cd8b27fe54 Makefile.am --- a/Makefile.am Tue Jul 20 09:35:12 2010 -0400 +++ b/Makefile.am Wed Jul 21 16:29:05 2010 -0400 @@ -51,7 +51,7 @@ HOTSPOT_URL = $(ICEDTEA_HG_URL)/hotspot # Build directories -BUILD_DIR = openjdk.build +BUILD_DIR = @OPENJDK_BUILD_DIR@ BUILD_OUTPUT_DIR = $(abs_top_builddir)/$(BUILD_DIR) DEBUG_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-debug BOOT_BUILD_OUTPUT_DIR = $(BUILD_OUTPUT_DIR)-boot diff -r 0b272cf7e4a3 -r 66cd8b27fe54 configure.ac --- a/configure.ac Tue Jul 20 09:35:12 2010 -0400 +++ b/configure.ac Wed Jul 21 16:29:05 2010 -0400 @@ -115,6 +115,8 @@ IT_GET_LSB_DATA IT_SET_ARCH_SETTINGS SET_OS_DIRS +OPENJDK_BUILD_DIR=openjdk.build +AC_SUBST(OPENJDK_BUILD_DIR) IT_CHECK_NUMBER_OF_PARALLEL_JOBS IT_CHECK_IF_BOOTSTRAPPING @@ -305,10 +307,10 @@ public: [AS_HELP_STRING([--with-abs-install-dir], [The absolute path where the j2sdk-image dir will be installed])], [if test "x${withval}" = x; then - ABS_JAVA_HOME_DIR="`pwd`/openjdk/build/${BUILD_OS_DIR}-${BUILD_ARCH_DIR}/j2sdk-image" + ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image" else ABS_JAVA_HOME_DIR="${withval}" - fi], [ABS_JAVA_HOME_DIR="`pwd`/openjdk/build/${BUILD_OS_DIR}-${BUILD_ARCH_DIR}/j2sdk-image"]) + fi], [ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image"]) AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" diff -r 0b272cf7e4a3 -r 66cd8b27fe54 netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/Parser.java Wed Jul 21 16:29:05 2010 -0400 @@ -86,6 +86,9 @@ class Parser { /** the specification version */ private Version spec; + + /** the base URL that all hrefs are relative to */ + private URL base; /** the codebase URL */ private URL codebase; @@ -129,8 +132,8 @@ class Parser { // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); this.codebase = addSlash(getURL(root, "codebase", base)); - - fileLocation = getURL(root, "href", codebase); + this.base = (codebase!=null) ? codebase : base; // if codebase not specified use default codebase + fileLocation = getURL(root, "href", this.base); // ensure version is supported if (!supportedVersions.matchesAny(spec)) @@ -276,7 +279,7 @@ class Parser { */ public JREDesc getJRE(Node node) throws ParseException { Version version = getVersion(node, "version", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String vmArgs = getAttribute(node, "java-vm-args",null); try { checkVMArgs(vmArgs); @@ -303,7 +306,7 @@ class Parser { */ public JARDesc getJAR(Node node) throws ParseException { boolean nativeJar = "nativelib".equals(node.getNodeName()); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Version version = getVersion(node, "version", null); String part = getAttribute(node, "part", null); boolean main = "true".equals(getAttribute(node, "main", "false")); @@ -327,7 +330,7 @@ class Parser { public ExtensionDesc getExtension(Node node) throws ParseException { String name = getAttribute(node, "name", null); Version version = getVersion(node, "version", null); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); ExtensionDesc ext = new ExtensionDesc(name, version, location); @@ -430,7 +433,7 @@ class Parser { addInfo(info, child, kind, getSpanText(child)); } if ("homepage".equals(name)) - addInfo(info, child, null, getRequiredURL(child, "href", codebase)); + addInfo(info, child, null, getRequiredURL(child, "href", base)); if ("icon".equals(name)) addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); if ("offline-allowed".equals(name)) @@ -484,7 +487,7 @@ class Parser { int height = Integer.parseInt(getAttribute(node, "height", "-1")); int size = Integer.parseInt(getAttribute(node, "size", "-1")); int depth = Integer.parseInt(getAttribute(node, "depth", "-1")); - URL location = getRequiredURL(node, "href", codebase); + URL location = getRequiredURL(node, "href", base); Object kind = getAttribute(node, "kind", "default"); return new IconDesc(location, kind, width, height, depth, size); @@ -521,8 +524,8 @@ class Parser { else if (strict) throw new ParseException(R("PEmptySecurity")); - if (codebase != null) - return new SecurityDesc(file, type, codebase.getHost()); + if (base != null) + return new SecurityDesc(file, type, base.getHost()); else return new SecurityDesc(file, type, null); } @@ -589,7 +592,7 @@ class Parser { public AppletDesc getApplet(Node node) throws ParseException { String name = getRequiredAttribute(node, "name", R("PUnknownApplet")); String main = getRequiredAttribute(node, "main-class", null); - URL docbase = getURL(node, "documentbase", codebase); + URL docbase = getURL(node, "documentbase", base); Map paramMap = new HashMap(); int width = 0; int height = 0; @@ -721,7 +724,7 @@ class Parser { public RelatedContentDesc getRelatedContent(Node node) throws ParseException { getRequiredAttribute(node, "href", null); - URL location = getURL(node, "href", codebase); + URL location = getURL(node, "href", base); String title = null; String description = null; diff -r 0b272cf7e4a3 -r 66cd8b27fe54 netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 21 16:29:05 2010 -0400 @@ -94,6 +94,7 @@ public class SecurityDesc { new PropertyPermission("java.vm.version", "read"), new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), + new PropertyPermission("javawebstart.version", "read"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), diff -r 0b272cf7e4a3 -r 66cd8b27fe54 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 16:29:05 2010 -0400 @@ -50,6 +50,8 @@ LNotLaunchableInfo=File must be a JNLP a LNotLaunchableInfo=File must be a JNLP application, applet, or installer type. LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application. +LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. +LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 0b272cf7e4a3 -r 66cd8b27fe54 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 16:29:05 2010 -0400 @@ -167,7 +167,7 @@ public class JNLPClassLoader extends URL } - private void setSecurity() { + private void setSecurity() throws LaunchException { URL codebase = null; @@ -196,15 +196,22 @@ public class JNLPClassLoader extends URL } } else { //regular jnlp file - /** - * If the application is signed, then we set the SecurityDesc to the - * tag in the jnlp file. Note that if an application is - * signed, but there is no tag in the jnlp file, the - * application will get sandbox permissions. - * If the application is unsigned, we ignore the tag and - * use a sandbox instead. + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * */ - if (signing == true) { + if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + else if (signing == true) { this.security = file.getSecurity(); } else { this.security = new SecurityDesc(file, diff -r 0b272cf7e4a3 -r 66cd8b27fe54 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Jul 20 09:35:12 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Jul 21 16:29:05 2010 -0400 @@ -167,6 +167,11 @@ public class JNLPRuntime { checkInitialized(); isWebstartApplication = isApplication; + + //Setting the system property for javawebstart's version. + //The version stored will be the same as java's version. + System.setProperty("javawebstart.version", "javaws-" + + System.getProperty("java.version")); if (headless == false) checkHeadless(); diff -r 0b272cf7e4a3 -r 66cd8b27fe54 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 09:35:12 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Jul 21 16:29:05 2010 -0400 @@ -1625,12 +1625,26 @@ plugin_create_applet_tag (int16_t argc, g_free (code); code = NULL; } + else if (!g_ascii_strcasecmp (argn[i], "java_code")) + { + gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_code, NULL); + g_free (java_code); + java_code = NULL; + } else if (!g_ascii_strcasecmp (argn[i], "codebase")) { gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", argv[i]); applet_tag = g_strconcat (applet_tag, codebase, NULL); g_free (codebase); codebase = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_codebase")) + { + gchar* java_codebase = g_strdup_printf ("JAVA_CODEBASE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_codebase, NULL); + g_free (java_codebase); + java_codebase = NULL; } else if (!g_ascii_strcasecmp (argn[i], "classid")) { @@ -1645,6 +1659,13 @@ plugin_create_applet_tag (int16_t argc, applet_tag = g_strconcat (applet_tag, archive, NULL); g_free (archive); archive = NULL; + } + else if (!g_ascii_strcasecmp (argn[i], "java_archive")) + { + gchar* java_archive = g_strdup_printf ("JAVA_ARCHIVE=\"%s\" ", argv[i]); + applet_tag = g_strconcat (applet_tag, java_archive, NULL); + g_free (java_archive); + java_archive = NULL; } else if (!g_ascii_strcasecmp (argn[i], "width")) { From andrew at icedtea.classpath.org Fri Jul 23 02:56:49 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 23 Jul 2010 09:56:49 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset 0e2081083c90 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0e2081083c90 author: Andrew John Hughes date: Fri Jul 23 10:53:49 2010 +0100 Normalise NetX whitespace usage. 2010-07-23 Andrew John Hughes * netx/javax/jnlp/BasicService.java, * netx/javax/jnlp/ClipboardService.java, * netx/javax/jnlp/DownloadService.java, * netx/javax/jnlp/DownloadServiceListener.java, * netx/javax/jnlp/ExtendedService.java, * netx/javax/jnlp/ExtensionInstallerService.java, * netx/javax/jnlp/FileContents.java, * netx/javax/jnlp/FileOpenService.java, * netx/javax/jnlp/FileSaveService.java, * netx/javax/jnlp/JNLPRandomAccessFile.java, * netx/javax/jnlp/PersistenceService.java, * netx/javax/jnlp/PrintService.java, * netx/javax/jnlp/ServiceManager.java, * netx/javax/jnlp/ServiceManagerStub.java, * netx/javax/jnlp/SingleInstanceListener.java, * netx/javax/jnlp/SingleInstanceService.java, * netx/javax/jnlp/UnavailableServiceException.java, * netx/net/sourceforge/jnlp/AppletDesc.java, * netx/net/sourceforge/jnlp/ApplicationDesc.java, * netx/net/sourceforge/jnlp/AssociationDesc.java, * netx/net/sourceforge/jnlp/ComponentDesc.java, * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, * netx/net/sourceforge/jnlp/ExtensionDesc.java, * netx/net/sourceforge/jnlp/IconDesc.java, * netx/net/sourceforge/jnlp/InformationDesc.java, * netx/net/sourceforge/jnlp/InstallerDesc.java, * netx/net/sourceforge/jnlp/JARDesc.java, * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, * netx/net/sourceforge/jnlp/JREDesc.java, * netx/net/sourceforge/jnlp/LaunchException.java, * netx/net/sourceforge/jnlp/LaunchHandler.java, * netx/net/sourceforge/jnlp/Launcher.java, * netx/net/sourceforge/jnlp/MenuDesc.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/Node.java, * netx/net/sourceforge/jnlp/PackageDesc.java, * netx/net/sourceforge/jnlp/ParseException.java, * netx/net/sourceforge/jnlp/Parser.java, * netx/net/sourceforge/jnlp/PluginBridge.java, * netx/net/sourceforge/jnlp/PropertyDesc.java, * netx/net/sourceforge/jnlp/RelatedContentDesc.java, * netx/net/sourceforge/jnlp/ResourcesDesc.java, * netx/net/sourceforge/jnlp/SecurityDesc.java, * netx/net/sourceforge/jnlp/ShortcutDesc.java, * netx/net/sourceforge/jnlp/StreamEater.java, * netx/net/sourceforge/jnlp/Version.java, * netx/net/sourceforge/jnlp/cache/CacheEntry.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/Resource.java, * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, * netx/net/sourceforge/jnlp/event/ApplicationListener.java, * netx/net/sourceforge/jnlp/event/DownloadEvent.java, * netx/net/sourceforge/jnlp/event/DownloadListener.java, * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/Boot.java, * netx/net/sourceforge/jnlp/runtime/Boot13.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertVerifier.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, * netx/net/sourceforge/jnlp/security/SecurityUtil.java, * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.jav a, * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, * netx/net/sourceforge/jnlp/services/XBasicService.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XDownloadService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * netx/net/sourceforge/jnlp/services/XFileContents.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java, * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * netx/net/sourceforge/jnlp/services/XPersistenceService.java, * netx/net/sourceforge/jnlp/services/XPrintService.java, * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/tools/JarRunner.java, * netx/net/sourceforge/jnlp/tools/JarSigner.java, * netx/net/sourceforge/jnlp/tools/KeyTool.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/PropertiesFile.java, * netx/net/sourceforge/jnlp/util/Reflect.java, * netx/net/sourceforge/jnlp/util/WeakList.java, * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, * netx/net/sourceforge/nanoxml/XMLElement.java, * netx/netscape/javascript/JSObjectCreatePermission.java: Normalise whitespace usage. changeset 3dc60ae70ef6 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3dc60ae70ef6 author: Andrew John Hughes date: Fri Jul 23 10:56:39 2010 +0100 Rename getType to getAccessType to avoid conflict with Window.getType() from OpenJDK7 2010-07-23 Andrew John Hughes * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: (addComponents()): Fix call to getType(). * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: (getType): Rename to getAccessType() to avoid conflict with Window.getType() in OpenJDK7. diffstat: 110 files changed, 3106 insertions(+), 3101 deletions(-) ChangeLog | 124 ++ netx/javax/jnlp/BasicService.java | 1 netx/javax/jnlp/ClipboardService.java | 1 netx/javax/jnlp/DownloadService.java | 1 netx/javax/jnlp/DownloadServiceListener.java | 1 netx/javax/jnlp/ExtendedService.java | 8 netx/javax/jnlp/ExtensionInstallerService.java | 1 netx/javax/jnlp/FileContents.java | 1 netx/javax/jnlp/FileOpenService.java | 1 netx/javax/jnlp/FileSaveService.java | 1 netx/javax/jnlp/JNLPRandomAccessFile.java | 1 netx/javax/jnlp/PersistenceService.java | 1 netx/javax/jnlp/PrintService.java | 1 netx/javax/jnlp/ServiceManager.java | 1 netx/javax/jnlp/ServiceManagerStub.java | 1 netx/javax/jnlp/SingleInstanceListener.java | 4 netx/javax/jnlp/SingleInstanceService.java | 8 netx/javax/jnlp/UnavailableServiceException.java | 1 netx/net/sourceforge/jnlp/AppletDesc.java | 27 netx/net/sourceforge/jnlp/ApplicationDesc.java | 14 netx/net/sourceforge/jnlp/AssociationDesc.java | 8 netx/net/sourceforge/jnlp/ComponentDesc.java | 9 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 8 netx/net/sourceforge/jnlp/ExtensionDesc.java | 10 netx/net/sourceforge/jnlp/IconDesc.java | 37 netx/net/sourceforge/jnlp/InformationDesc.java | 17 netx/net/sourceforge/jnlp/InstallerDesc.java | 8 netx/net/sourceforge/jnlp/JARDesc.java | 15 netx/net/sourceforge/jnlp/JNLPFile.java | 70 - netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 2 netx/net/sourceforge/jnlp/JREDesc.java | 18 netx/net/sourceforge/jnlp/LaunchException.java | 12 netx/net/sourceforge/jnlp/LaunchHandler.java | 10 netx/net/sourceforge/jnlp/Launcher.java | 176 +-- netx/net/sourceforge/jnlp/MenuDesc.java | 6 netx/net/sourceforge/jnlp/NetxPanel.java | 123 +- netx/net/sourceforge/jnlp/Node.java | 3 netx/net/sourceforge/jnlp/PackageDesc.java | 11 netx/net/sourceforge/jnlp/ParseException.java | 10 netx/net/sourceforge/jnlp/Parser.java | 171 +-- netx/net/sourceforge/jnlp/PluginBridge.java | 42 netx/net/sourceforge/jnlp/PropertyDesc.java | 14 netx/net/sourceforge/jnlp/RelatedContentDesc.java | 6 netx/net/sourceforge/jnlp/ResourcesDesc.java | 13 netx/net/sourceforge/jnlp/SecurityDesc.java | 13 netx/net/sourceforge/jnlp/ShortcutDesc.java | 6 netx/net/sourceforge/jnlp/StreamEater.java | 6 netx/net/sourceforge/jnlp/Version.java | 18 netx/net/sourceforge/jnlp/cache/CacheEntry.java | 10 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 12 netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 15 netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 11 netx/net/sourceforge/jnlp/cache/Resource.java | 20 netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 58 - netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 10 netx/net/sourceforge/jnlp/event/ApplicationEvent.java | 12 netx/net/sourceforge/jnlp/event/ApplicationListener.java | 9 netx/net/sourceforge/jnlp/event/DownloadEvent.java | 12 netx/net/sourceforge/jnlp/event/DownloadListener.java | 9 netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 8 netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 12 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 36 netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 11 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 31 netx/net/sourceforge/jnlp/runtime/Boot.java | 31 netx/net/sourceforge/jnlp/runtime/Boot13.java | 1 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 320 ++--- netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 40 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 64 - netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 394 +++--- netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 230 ++-- netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 109 - netx/net/sourceforge/jnlp/security/CertVerifier.java | 4 netx/net/sourceforge/jnlp/security/CertWarningPane.java | 320 ++--- netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 322 ++--- netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 94 - netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 64 - netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 118 +- netx/net/sourceforge/jnlp/security/SecurityUtil.java | 260 ++-- netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 568 +++++----- netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 52 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 74 - netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 489 ++++---- netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 63 - netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 10 netx/net/sourceforge/jnlp/services/InstanceExistsException.java | 6 netx/net/sourceforge/jnlp/services/ServiceUtil.java | 49 netx/net/sourceforge/jnlp/services/SingleInstanceLock.java | 16 netx/net/sourceforge/jnlp/services/XBasicService.java | 34 netx/net/sourceforge/jnlp/services/XClipboardService.java | 46 netx/net/sourceforge/jnlp/services/XDownloadService.java | 62 - netx/net/sourceforge/jnlp/services/XExtendedService.java | 10 netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 10 netx/net/sourceforge/jnlp/services/XFileContents.java | 10 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 8 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 244 ++-- netx/net/sourceforge/jnlp/services/XPersistenceService.java | 10 netx/net/sourceforge/jnlp/services/XPrintService.java | 138 +- netx/net/sourceforge/jnlp/services/XServiceManagerStub.java | 12 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 30 netx/net/sourceforge/jnlp/tools/JarRunner.java | 12 netx/net/sourceforge/jnlp/tools/JarSigner.java | 138 +- netx/net/sourceforge/jnlp/tools/KeyTool.java | 350 +++--- netx/net/sourceforge/jnlp/util/FileUtils.java | 8 netx/net/sourceforge/jnlp/util/PropertiesFile.java | 18 netx/net/sourceforge/jnlp/util/Reflect.java | 12 netx/net/sourceforge/jnlp/util/WeakList.java | 12 netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 20 netx/net/sourceforge/nanoxml/XMLElement.java | 6 netx/netscape/javascript/JSObjectCreatePermission.java | 2 diffs (truncated from 11161 to 500 lines): diff -r 66cd8b27fe54 -r 3dc60ae70ef6 ChangeLog --- a/ChangeLog Wed Jul 21 16:29:05 2010 -0400 +++ b/ChangeLog Fri Jul 23 10:56:39 2010 +0100 @@ -1,3 +1,125 @@ 2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: + (addComponents()): Fix call to getType(). + * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: + (getType): Rename to getAccessType() to avoid conflict with + Window.getType() in OpenJDK7. + +2010-07-23 Andrew John Hughes + + * netx/javax/jnlp/BasicService.java, + * netx/javax/jnlp/ClipboardService.java, + * netx/javax/jnlp/DownloadService.java, + * netx/javax/jnlp/DownloadServiceListener.java, + * netx/javax/jnlp/ExtendedService.java, + * netx/javax/jnlp/ExtensionInstallerService.java, + * netx/javax/jnlp/FileContents.java, + * netx/javax/jnlp/FileOpenService.java, + * netx/javax/jnlp/FileSaveService.java, + * netx/javax/jnlp/JNLPRandomAccessFile.java, + * netx/javax/jnlp/PersistenceService.java, + * netx/javax/jnlp/PrintService.java, + * netx/javax/jnlp/ServiceManager.java, + * netx/javax/jnlp/ServiceManagerStub.java, + * netx/javax/jnlp/SingleInstanceListener.java, + * netx/javax/jnlp/SingleInstanceService.java, + * netx/javax/jnlp/UnavailableServiceException.java, + * netx/net/sourceforge/jnlp/AppletDesc.java, + * netx/net/sourceforge/jnlp/ApplicationDesc.java, + * netx/net/sourceforge/jnlp/AssociationDesc.java, + * netx/net/sourceforge/jnlp/ComponentDesc.java, + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * netx/net/sourceforge/jnlp/ExtensionDesc.java, + * netx/net/sourceforge/jnlp/IconDesc.java, + * netx/net/sourceforge/jnlp/InformationDesc.java, + * netx/net/sourceforge/jnlp/InstallerDesc.java, + * netx/net/sourceforge/jnlp/JARDesc.java, + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, + * netx/net/sourceforge/jnlp/JREDesc.java, + * netx/net/sourceforge/jnlp/LaunchException.java, + * netx/net/sourceforge/jnlp/LaunchHandler.java, + * netx/net/sourceforge/jnlp/Launcher.java, + * netx/net/sourceforge/jnlp/MenuDesc.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/Node.java, + * netx/net/sourceforge/jnlp/PackageDesc.java, + * netx/net/sourceforge/jnlp/ParseException.java, + * netx/net/sourceforge/jnlp/Parser.java, + * netx/net/sourceforge/jnlp/PluginBridge.java, + * netx/net/sourceforge/jnlp/PropertyDesc.java, + * netx/net/sourceforge/jnlp/RelatedContentDesc.java, + * netx/net/sourceforge/jnlp/ResourcesDesc.java, + * netx/net/sourceforge/jnlp/SecurityDesc.java, + * netx/net/sourceforge/jnlp/ShortcutDesc.java, + * netx/net/sourceforge/jnlp/StreamEater.java, + * netx/net/sourceforge/jnlp/Version.java, + * netx/net/sourceforge/jnlp/cache/CacheEntry.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/Resource.java, + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, + * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, + * netx/net/sourceforge/jnlp/event/ApplicationListener.java, + * netx/net/sourceforge/jnlp/event/DownloadEvent.java, + * netx/net/sourceforge/jnlp/event/DownloadListener.java, + * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * netx/net/sourceforge/jnlp/runtime/Boot.java, + * netx/net/sourceforge/jnlp/runtime/Boot13.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertVerifier.java, + * netx/net/sourceforge/jnlp/security/CertWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, + * netx/net/sourceforge/jnlp/security/SecurityUtil.java, + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, + * netx/net/sourceforge/jnlp/services/ServiceUtil.java, + * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * netx/net/sourceforge/jnlp/services/XBasicService.java, + * netx/net/sourceforge/jnlp/services/XClipboardService.java, + * netx/net/sourceforge/jnlp/services/XDownloadService.java, + * netx/net/sourceforge/jnlp/services/XExtendedService.java, + * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * netx/net/sourceforge/jnlp/services/XFileContents.java, + * netx/net/sourceforge/jnlp/services/XFileSaveService.java, + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * netx/net/sourceforge/jnlp/services/XPersistenceService.java, + * netx/net/sourceforge/jnlp/services/XPrintService.java, + * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/tools/JarRunner.java, + * netx/net/sourceforge/jnlp/tools/JarSigner.java, + * netx/net/sourceforge/jnlp/tools/KeyTool.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/PropertiesFile.java, + * netx/net/sourceforge/jnlp/util/Reflect.java, + * netx/net/sourceforge/jnlp/util/WeakList.java, + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, + * netx/net/sourceforge/nanoxml/XMLElement.java, + * netx/netscape/javascript/JSObjectCreatePermission.java: + Normalise whitespace usage. + 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to @@ -12,7 +134,7 @@ 2010-07-20 Man Lung Wong * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/BasicService.java --- a/netx/javax/jnlp/BasicService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/BasicService.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface BasicService { public boolean isWebBrowserSupported(); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/ClipboardService.java --- a/netx/javax/jnlp/ClipboardService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ClipboardService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface ClipboardService { public void setContents(java.awt.datatransfer.Transferable contents); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/DownloadService.java --- a/netx/javax/jnlp/DownloadService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/DownloadService.java Fri Jul 23 10:56:39 2010 +0100 @@ -22,4 +22,3 @@ public interface DownloadService { public DownloadServiceListener getDefaultProgressWindow(); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/DownloadServiceListener.java --- a/netx/javax/jnlp/DownloadServiceListener.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/DownloadServiceListener.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface DownloadServiceListener public void downloadFailed(java.net.URL url, java.lang.String version); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/ExtendedService.java --- a/netx/javax/jnlp/ExtendedService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ExtendedService.java Fri Jul 23 10:56:39 2010 +0100 @@ -23,16 +23,16 @@ import java.io.IOException; * This interface provides a way for the JNLP application to open specific files * in the client's system. It asks permission from the user before opening any * files. - * + * * @author Omair Majid - * + * */ public interface ExtendedService { /** * Open a file on the client' system and return its contents. The user must * grant permission to the application for this to work. - * + * * @param file the file to open * @return the opened file as a {@link FileContents} object * @throws IOException on any io problems @@ -42,7 +42,7 @@ public interface ExtendedService { /** * Opens multiple files on the user's sytem and returns their contents as a * {@link FileContents} array - * + * * @param files the files to open * @return an array of FileContents objects * @throws IOException on any io problems diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/ExtensionInstallerService.java --- a/netx/javax/jnlp/ExtensionInstallerService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ExtensionInstallerService.java Fri Jul 23 10:56:39 2010 +0100 @@ -19,4 +19,3 @@ public interface ExtensionInstallerServi public java.lang.String getInstalledJRE(java.net.URL url, java.lang.String version); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/FileContents.java --- a/netx/javax/jnlp/FileContents.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileContents.java Fri Jul 23 10:56:39 2010 +0100 @@ -15,4 +15,3 @@ public interface FileContents { public long setMaxLength(long maxlength) throws java.io.IOException; } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/FileOpenService.java --- a/netx/javax/jnlp/FileOpenService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileOpenService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface FileOpenService { public FileContents[] openMultiFileDialog(java.lang.String pathHint, java.lang.String[] extensions) throws java.io.IOException; } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/FileSaveService.java --- a/netx/javax/jnlp/FileSaveService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileSaveService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface FileSaveService { public FileContents saveAsFileDialog(java.lang.String pathHint, java.lang.String[] extensions, FileContents contents) throws java.io.IOException; } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/JNLPRandomAccessFile.java --- a/netx/javax/jnlp/JNLPRandomAccessFile.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/JNLPRandomAccessFile.java Fri Jul 23 10:56:39 2010 +0100 @@ -43,4 +43,3 @@ public interface JNLPRandomAccessFile { public void writeUTF(java.lang.String str) throws java.io.IOException; } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/PersistenceService.java --- a/netx/javax/jnlp/PersistenceService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/PersistenceService.java Fri Jul 23 10:56:39 2010 +0100 @@ -15,4 +15,3 @@ public interface PersistenceService { public void setTag(java.net.URL url, int tag) throws java.net.MalformedURLException, java.io.IOException; } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/PrintService.java --- a/netx/javax/jnlp/PrintService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/PrintService.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface PrintService { public boolean print(java.awt.print.Printable painter); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/ServiceManager.java --- a/netx/javax/jnlp/ServiceManager.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ServiceManager.java Fri Jul 23 10:56:39 2010 +0100 @@ -51,4 +51,3 @@ public final class ServiceManager { } } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/ServiceManagerStub.java --- a/netx/javax/jnlp/ServiceManagerStub.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ServiceManagerStub.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface ServiceManagerStub { public java.lang.String[] getServiceNames(); } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/SingleInstanceListener.java --- a/netx/javax/jnlp/SingleInstanceListener.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/SingleInstanceListener.java Fri Jul 23 10:56:39 2010 +0100 @@ -19,14 +19,14 @@ package javax.jnlp; /** * This interface specifies a listener which is notified whenever a new instance * of the web start application is launched. - * + * */ public interface SingleInstanceListener { /** * This method is called when a new instance of the application is launched. * The arguments passed to the new instance are passed into this method. - * + * * @param arguments the arguments passed to the new instance of the * application */ diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/SingleInstanceService.java --- a/netx/javax/jnlp/SingleInstanceService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/SingleInstanceService.java Fri Jul 23 10:56:39 2010 +0100 @@ -20,15 +20,15 @@ package javax.jnlp; * The SingleInstanceService provides a way to ensure that only one instance of * the application is ever running - singleton behavior at the application * level. - * + * */ public interface SingleInstanceService { /** * Adds the specified SingleInstanceListener to the notification list. This * listener is notified when a new instance of the application is started. - * - * + * + * * @param listener the single instance listener to be added. No action is * performed if it is null. */ @@ -38,7 +38,7 @@ public interface SingleInstanceService { * Removes the specified SingleInstanceListener from the notification list. * This listener will not be notified if a new instance of the application * is started. - * + * * @param listener the single instance listener to be removed. No action is * performed if it is null or not in the notification list. */ diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/javax/jnlp/UnavailableServiceException.java --- a/netx/javax/jnlp/UnavailableServiceException.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/UnavailableServiceException.java Fri Jul 23 10:56:39 2010 +0100 @@ -13,4 +13,3 @@ public class UnavailableServiceException } } - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/net/sourceforge/jnlp/AppletDesc.java --- a/netx/net/sourceforge/jnlp/AppletDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/AppletDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2001-2003 Jon A. Maxwell (JAM) -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. -// +// // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -50,7 +50,7 @@ public class AppletDesc { /** * Create an Applet descriptor. - * + * * @param name the applet name * @param mainClass the main class name and package * @param documentBase the document base @@ -68,42 +68,42 @@ public class AppletDesc { } /** - * Returns the applet name + * Returns the applet name */ public String getName() { return name; } /** - * Returns the main class name + * Returns the main class name */ public String getMainClass() { return mainClass; } /** - * Returns the document base + * Returns the document base */ public URL getDocumentBase() { return documentBase; } /** - * Returns the width + * Returns the width */ public int getWidth() { return width; } - /** - * Returns the height + /** + * Returns the height */ public int getHeight() { return height; } - /** - * Returns the applet parameters + /** + * Returns the applet parameters */ public Map getParameters() { return new HashMap(parameters); @@ -120,6 +120,3 @@ public class AppletDesc { } } - - - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/net/sourceforge/jnlp/ApplicationDesc.java --- a/netx/net/sourceforge/jnlp/ApplicationDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/ApplicationDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2001-2003 Jon A. Maxwell (JAM) -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. -// +// // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -38,7 +38,7 @@ public class ApplicationDesc { /** * Create an Application descriptor. - * + * * @param mainClass the main class name and package * @param arguments the arguments */ @@ -48,13 +48,13 @@ public class ApplicationDesc { } /** - * Returns the main class name + * Returns the main class name */ public String getMainClass() { return mainClass; } - /** + /** * Returns the arguments */ public String[] getArguments() { @@ -72,5 +72,3 @@ public class ApplicationDesc { } } - - diff -r 66cd8b27fe54 -r 3dc60ae70ef6 netx/net/sourceforge/jnlp/AssociationDesc.java --- a/netx/net/sourceforge/jnlp/AssociationDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/AssociationDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2009 Red Hat, Inc. -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. -// +// // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -45,7 +45,7 @@ public final class AssociationDesc { } From andrew at icedtea.classpath.org Fri Jul 23 03:38:05 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 23 Jul 2010 10:38:05 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 2bdc52cb3136 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2bdc52cb3136 author: Andrew John Hughes date: Fri Jul 23 11:01:17 2010 +0100 Normalise NetX whitespace. 2010-07-23 Andrew John Hughes * netx/javax/jnlp/BasicService.java, * netx/javax/jnlp/ClipboardService.java, * netx/javax/jnlp/DownloadService.java, * netx/javax/jnlp/DownloadServiceListener.java, * netx/javax/jnlp/ExtendedService.java, * netx/javax/jnlp/ExtensionInstallerService.java, * netx/javax/jnlp/FileContents.java, * netx/javax/jnlp/FileOpenService.java, * netx/javax/jnlp/FileSaveService.java, * netx/javax/jnlp/JNLPRandomAccessFile.java, * netx/javax/jnlp/PersistenceService.java, * netx/javax/jnlp/PrintService.java, * netx/javax/jnlp/ServiceManager.java, * netx/javax/jnlp/ServiceManagerStub.java, * netx/javax/jnlp/SingleInstanceListener.java, * netx/javax/jnlp/SingleInstanceService.java, * netx/javax/jnlp/UnavailableServiceException.java, * netx/net/sourceforge/jnlp/AppletDesc.java, * netx/net/sourceforge/jnlp/ApplicationDesc.java, * netx/net/sourceforge/jnlp/AssociationDesc.java, * netx/net/sourceforge/jnlp/ComponentDesc.java, * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, * netx/net/sourceforge/jnlp/ExtensionDesc.java, * netx/net/sourceforge/jnlp/IconDesc.java, * netx/net/sourceforge/jnlp/InformationDesc.java, * netx/net/sourceforge/jnlp/InstallerDesc.java, * netx/net/sourceforge/jnlp/JARDesc.java, * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, * netx/net/sourceforge/jnlp/JREDesc.java, * netx/net/sourceforge/jnlp/LaunchException.java, * netx/net/sourceforge/jnlp/LaunchHandler.java, * netx/net/sourceforge/jnlp/Launcher.java, * netx/net/sourceforge/jnlp/MenuDesc.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/Node.java, * netx/net/sourceforge/jnlp/PackageDesc.java, * netx/net/sourceforge/jnlp/ParseException.java, * netx/net/sourceforge/jnlp/Parser.java, * netx/net/sourceforge/jnlp/PluginBridge.java, * netx/net/sourceforge/jnlp/PropertyDesc.java, * netx/net/sourceforge/jnlp/RelatedContentDesc.java, * netx/net/sourceforge/jnlp/ResourcesDesc.java, * netx/net/sourceforge/jnlp/SecurityDesc.java, * netx/net/sourceforge/jnlp/ShortcutDesc.java, * netx/net/sourceforge/jnlp/StreamEater.java, * netx/net/sourceforge/jnlp/Version.java, * netx/net/sourceforge/jnlp/cache/CacheEntry.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/Resource.java, * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, * netx/net/sourceforge/jnlp/event/ApplicationListener.java, * netx/net/sourceforge/jnlp/event/DownloadEvent.java, * netx/net/sourceforge/jnlp/event/DownloadListener.java, * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/Boot.java, * netx/net/sourceforge/jnlp/runtime/Boot13.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertVerifier.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, * netx/net/sourceforge/jnlp/security/SecurityUtil.java, * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.jav a, * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, * netx/net/sourceforge/jnlp/services/XBasicService.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XDownloadService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * netx/net/sourceforge/jnlp/services/XFileContents.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java, * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * netx/net/sourceforge/jnlp/services/XPersistenceService.java, * netx/net/sourceforge/jnlp/services/XPrintService.java, * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/tools/JarRunner.java, * netx/net/sourceforge/jnlp/tools/JarSigner.java, * netx/net/sourceforge/jnlp/tools/KeyTool.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/PropertiesFile.java, * netx/net/sourceforge/jnlp/util/Reflect.java, * netx/net/sourceforge/jnlp/util/WeakList.java, * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, * netx/net/sourceforge/nanoxml/XMLElement.java: Normalise whitespace. changeset 7e8348b468ae in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7e8348b468ae author: Andrew John Hughes date: Fri Jul 23 10:56:39 2010 +0100 Rename getType to getAccessType to avoid conflict with Window.getType() from OpenJDK7 2010-07-23 Andrew John Hughes * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: (addComponents()): Fix call to getType(). * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: (getType): Rename to getAccessType() to avoid conflict with Window.getType() in OpenJDK7. diffstat: 109 files changed, 3104 insertions(+), 3100 deletions(-) ChangeLog | 127 ++ netx/javax/jnlp/BasicService.java | 1 netx/javax/jnlp/ClipboardService.java | 1 netx/javax/jnlp/DownloadService.java | 1 netx/javax/jnlp/DownloadServiceListener.java | 1 netx/javax/jnlp/ExtendedService.java | 8 netx/javax/jnlp/ExtensionInstallerService.java | 1 netx/javax/jnlp/FileContents.java | 1 netx/javax/jnlp/FileOpenService.java | 1 netx/javax/jnlp/FileSaveService.java | 1 netx/javax/jnlp/JNLPRandomAccessFile.java | 1 netx/javax/jnlp/PersistenceService.java | 1 netx/javax/jnlp/PrintService.java | 1 netx/javax/jnlp/ServiceManager.java | 1 netx/javax/jnlp/ServiceManagerStub.java | 1 netx/javax/jnlp/SingleInstanceListener.java | 4 netx/javax/jnlp/SingleInstanceService.java | 8 netx/javax/jnlp/UnavailableServiceException.java | 1 netx/net/sourceforge/jnlp/AppletDesc.java | 27 netx/net/sourceforge/jnlp/ApplicationDesc.java | 14 netx/net/sourceforge/jnlp/AssociationDesc.java | 8 netx/net/sourceforge/jnlp/ComponentDesc.java | 9 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 8 netx/net/sourceforge/jnlp/ExtensionDesc.java | 10 netx/net/sourceforge/jnlp/IconDesc.java | 37 netx/net/sourceforge/jnlp/InformationDesc.java | 17 netx/net/sourceforge/jnlp/InstallerDesc.java | 8 netx/net/sourceforge/jnlp/JARDesc.java | 15 netx/net/sourceforge/jnlp/JNLPFile.java | 70 - netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 2 netx/net/sourceforge/jnlp/JREDesc.java | 18 netx/net/sourceforge/jnlp/LaunchException.java | 12 netx/net/sourceforge/jnlp/LaunchHandler.java | 10 netx/net/sourceforge/jnlp/Launcher.java | 174 +-- netx/net/sourceforge/jnlp/MenuDesc.java | 6 netx/net/sourceforge/jnlp/NetxPanel.java | 123 +- netx/net/sourceforge/jnlp/Node.java | 3 netx/net/sourceforge/jnlp/PackageDesc.java | 11 netx/net/sourceforge/jnlp/ParseException.java | 10 netx/net/sourceforge/jnlp/Parser.java | 171 +-- netx/net/sourceforge/jnlp/PluginBridge.java | 42 netx/net/sourceforge/jnlp/PropertyDesc.java | 14 netx/net/sourceforge/jnlp/RelatedContentDesc.java | 6 netx/net/sourceforge/jnlp/ResourcesDesc.java | 13 netx/net/sourceforge/jnlp/SecurityDesc.java | 13 netx/net/sourceforge/jnlp/ShortcutDesc.java | 6 netx/net/sourceforge/jnlp/StreamEater.java | 6 netx/net/sourceforge/jnlp/Version.java | 18 netx/net/sourceforge/jnlp/cache/CacheEntry.java | 10 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 12 netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 15 netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 11 netx/net/sourceforge/jnlp/cache/Resource.java | 20 netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 58 - netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 10 netx/net/sourceforge/jnlp/event/ApplicationEvent.java | 12 netx/net/sourceforge/jnlp/event/ApplicationListener.java | 9 netx/net/sourceforge/jnlp/event/DownloadEvent.java | 12 netx/net/sourceforge/jnlp/event/DownloadListener.java | 9 netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 8 netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 12 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 36 netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 11 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 31 netx/net/sourceforge/jnlp/runtime/Boot.java | 31 netx/net/sourceforge/jnlp/runtime/Boot13.java | 1 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 320 ++--- netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 40 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 64 - netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 392 +++--- netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 230 ++-- netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 109 - netx/net/sourceforge/jnlp/security/CertVerifier.java | 4 netx/net/sourceforge/jnlp/security/CertWarningPane.java | 320 ++--- netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 322 ++--- netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 94 - netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 64 - netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 118 +- netx/net/sourceforge/jnlp/security/SecurityUtil.java | 260 ++-- netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 568 +++++----- netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 52 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 74 - netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 489 ++++---- netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 63 - netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 10 netx/net/sourceforge/jnlp/services/InstanceExistsException.java | 6 netx/net/sourceforge/jnlp/services/ServiceUtil.java | 49 netx/net/sourceforge/jnlp/services/SingleInstanceLock.java | 16 netx/net/sourceforge/jnlp/services/XBasicService.java | 34 netx/net/sourceforge/jnlp/services/XClipboardService.java | 46 netx/net/sourceforge/jnlp/services/XDownloadService.java | 62 - netx/net/sourceforge/jnlp/services/XExtendedService.java | 10 netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 10 netx/net/sourceforge/jnlp/services/XFileContents.java | 10 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 8 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 244 ++-- netx/net/sourceforge/jnlp/services/XPersistenceService.java | 10 netx/net/sourceforge/jnlp/services/XPrintService.java | 138 +- netx/net/sourceforge/jnlp/services/XServiceManagerStub.java | 12 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 30 netx/net/sourceforge/jnlp/tools/JarRunner.java | 12 netx/net/sourceforge/jnlp/tools/JarSigner.java | 138 +- netx/net/sourceforge/jnlp/tools/KeyTool.java | 350 +++--- netx/net/sourceforge/jnlp/util/FileUtils.java | 8 netx/net/sourceforge/jnlp/util/PropertiesFile.java | 18 netx/net/sourceforge/jnlp/util/Reflect.java | 12 netx/net/sourceforge/jnlp/util/WeakList.java | 12 netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 20 netx/net/sourceforge/nanoxml/XMLElement.java | 6 diffs (truncated from 11152 to 500 lines): diff -r cf796bf3d5aa -r 7e8348b468ae ChangeLog --- a/ChangeLog Wed Jul 21 16:29:05 2010 -0400 +++ b/ChangeLog Fri Jul 23 10:56:39 2010 +0100 @@ -1,3 +1,124 @@ 2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: + (addComponents()): Fix call to getType(). + * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: + (getType): Rename to getAccessType() to avoid conflict with + Window.getType() in OpenJDK7. + +2010-07-23 Andrew John Hughes + + * netx/javax/jnlp/BasicService.java, + * netx/javax/jnlp/ClipboardService.java, + * netx/javax/jnlp/DownloadService.java, + * netx/javax/jnlp/DownloadServiceListener.java, + * netx/javax/jnlp/ExtendedService.java, + * netx/javax/jnlp/ExtensionInstallerService.java, + * netx/javax/jnlp/FileContents.java, + * netx/javax/jnlp/FileOpenService.java, + * netx/javax/jnlp/FileSaveService.java, + * netx/javax/jnlp/JNLPRandomAccessFile.java, + * netx/javax/jnlp/PersistenceService.java, + * netx/javax/jnlp/PrintService.java, + * netx/javax/jnlp/ServiceManager.java, + * netx/javax/jnlp/ServiceManagerStub.java, + * netx/javax/jnlp/SingleInstanceListener.java, + * netx/javax/jnlp/SingleInstanceService.java, + * netx/javax/jnlp/UnavailableServiceException.java, + * netx/net/sourceforge/jnlp/AppletDesc.java, + * netx/net/sourceforge/jnlp/ApplicationDesc.java, + * netx/net/sourceforge/jnlp/AssociationDesc.java, + * netx/net/sourceforge/jnlp/ComponentDesc.java, + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * netx/net/sourceforge/jnlp/ExtensionDesc.java, + * netx/net/sourceforge/jnlp/IconDesc.java, + * netx/net/sourceforge/jnlp/InformationDesc.java, + * netx/net/sourceforge/jnlp/InstallerDesc.java, + * netx/net/sourceforge/jnlp/JARDesc.java, + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, + * netx/net/sourceforge/jnlp/JREDesc.java, + * netx/net/sourceforge/jnlp/LaunchException.java, + * netx/net/sourceforge/jnlp/LaunchHandler.java, + * netx/net/sourceforge/jnlp/Launcher.java, + * netx/net/sourceforge/jnlp/MenuDesc.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/Node.java, + * netx/net/sourceforge/jnlp/PackageDesc.java, + * netx/net/sourceforge/jnlp/ParseException.java, + * netx/net/sourceforge/jnlp/Parser.java, + * netx/net/sourceforge/jnlp/PluginBridge.java, + * netx/net/sourceforge/jnlp/PropertyDesc.java, + * netx/net/sourceforge/jnlp/RelatedContentDesc.java, + * netx/net/sourceforge/jnlp/ResourcesDesc.java, + * netx/net/sourceforge/jnlp/SecurityDesc.java, + * netx/net/sourceforge/jnlp/ShortcutDesc.java, + * netx/net/sourceforge/jnlp/StreamEater.java, + * netx/net/sourceforge/jnlp/Version.java, + * netx/net/sourceforge/jnlp/cache/CacheEntry.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/Resource.java, + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, + * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, + * netx/net/sourceforge/jnlp/event/ApplicationListener.java, + * netx/net/sourceforge/jnlp/event/DownloadEvent.java, + * netx/net/sourceforge/jnlp/event/DownloadListener.java, + * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * netx/net/sourceforge/jnlp/runtime/Boot.java, + * netx/net/sourceforge/jnlp/runtime/Boot13.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertVerifier.java, + * netx/net/sourceforge/jnlp/security/CertWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, + * netx/net/sourceforge/jnlp/security/SecurityUtil.java, + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, + * netx/net/sourceforge/jnlp/services/ServiceUtil.java, + * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * netx/net/sourceforge/jnlp/services/XBasicService.java, + * netx/net/sourceforge/jnlp/services/XClipboardService.java, + * netx/net/sourceforge/jnlp/services/XDownloadService.java, + * netx/net/sourceforge/jnlp/services/XExtendedService.java, + * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * netx/net/sourceforge/jnlp/services/XFileContents.java, + * netx/net/sourceforge/jnlp/services/XFileSaveService.java, + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * netx/net/sourceforge/jnlp/services/XPersistenceService.java, + * netx/net/sourceforge/jnlp/services/XPrintService.java, + * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/tools/JarRunner.java, + * netx/net/sourceforge/jnlp/tools/JarSigner.java, + * netx/net/sourceforge/jnlp/tools/KeyTool.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/PropertiesFile.java, + * netx/net/sourceforge/jnlp/util/Reflect.java, + * netx/net/sourceforge/jnlp/util/WeakList.java, + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, + * netx/net/sourceforge/nanoxml/XMLElement.java: + Normalise whitespace. + 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to @@ -6,13 +127,13 @@ 2010-07-20 Man Lung Wong * netx/net/sourceforge/jnlp/SecurityDesc.java: - Add permission to read javawebstart.version + Add permission to read javawebstart.version property as part of sandbox permission. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set the javawebstart.version property as part of System property whenever a jnlp file is being launched (note: this now allows the jnlp file in bug 486 to launch). - + 2010-07-20 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. @@ -5032,7 +5153,7 @@ 2009-10-16 Andrew John Hughes Bump to b17 and use original HotSpot. diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/BasicService.java --- a/netx/javax/jnlp/BasicService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/BasicService.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface BasicService { public boolean isWebBrowserSupported(); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/ClipboardService.java --- a/netx/javax/jnlp/ClipboardService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ClipboardService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface ClipboardService { public void setContents(java.awt.datatransfer.Transferable contents); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/DownloadService.java --- a/netx/javax/jnlp/DownloadService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/DownloadService.java Fri Jul 23 10:56:39 2010 +0100 @@ -22,4 +22,3 @@ public interface DownloadService { public DownloadServiceListener getDefaultProgressWindow(); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/DownloadServiceListener.java --- a/netx/javax/jnlp/DownloadServiceListener.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/DownloadServiceListener.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface DownloadServiceListener public void downloadFailed(java.net.URL url, java.lang.String version); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/ExtendedService.java --- a/netx/javax/jnlp/ExtendedService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ExtendedService.java Fri Jul 23 10:56:39 2010 +0100 @@ -23,16 +23,16 @@ import java.io.IOException; * This interface provides a way for the JNLP application to open specific files * in the client's system. It asks permission from the user before opening any * files. - * + * * @author Omair Majid - * + * */ public interface ExtendedService { /** * Open a file on the client' system and return its contents. The user must * grant permission to the application for this to work. - * + * * @param file the file to open * @return the opened file as a {@link FileContents} object * @throws IOException on any io problems @@ -42,7 +42,7 @@ public interface ExtendedService { /** * Opens multiple files on the user's sytem and returns their contents as a * {@link FileContents} array - * + * * @param files the files to open * @return an array of FileContents objects * @throws IOException on any io problems diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/ExtensionInstallerService.java --- a/netx/javax/jnlp/ExtensionInstallerService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ExtensionInstallerService.java Fri Jul 23 10:56:39 2010 +0100 @@ -19,4 +19,3 @@ public interface ExtensionInstallerServi public java.lang.String getInstalledJRE(java.net.URL url, java.lang.String version); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/FileContents.java --- a/netx/javax/jnlp/FileContents.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileContents.java Fri Jul 23 10:56:39 2010 +0100 @@ -15,4 +15,3 @@ public interface FileContents { public long setMaxLength(long maxlength) throws java.io.IOException; } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/FileOpenService.java --- a/netx/javax/jnlp/FileOpenService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileOpenService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface FileOpenService { public FileContents[] openMultiFileDialog(java.lang.String pathHint, java.lang.String[] extensions) throws java.io.IOException; } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/FileSaveService.java --- a/netx/javax/jnlp/FileSaveService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/FileSaveService.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface FileSaveService { public FileContents saveAsFileDialog(java.lang.String pathHint, java.lang.String[] extensions, FileContents contents) throws java.io.IOException; } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/JNLPRandomAccessFile.java --- a/netx/javax/jnlp/JNLPRandomAccessFile.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/JNLPRandomAccessFile.java Fri Jul 23 10:56:39 2010 +0100 @@ -43,4 +43,3 @@ public interface JNLPRandomAccessFile { public void writeUTF(java.lang.String str) throws java.io.IOException; } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/PersistenceService.java --- a/netx/javax/jnlp/PersistenceService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/PersistenceService.java Fri Jul 23 10:56:39 2010 +0100 @@ -15,4 +15,3 @@ public interface PersistenceService { public void setTag(java.net.URL url, int tag) throws java.net.MalformedURLException, java.io.IOException; } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/PrintService.java --- a/netx/javax/jnlp/PrintService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/PrintService.java Fri Jul 23 10:56:39 2010 +0100 @@ -10,4 +10,3 @@ public interface PrintService { public boolean print(java.awt.print.Printable painter); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/ServiceManager.java --- a/netx/javax/jnlp/ServiceManager.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ServiceManager.java Fri Jul 23 10:56:39 2010 +0100 @@ -51,4 +51,3 @@ public final class ServiceManager { } } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/ServiceManagerStub.java --- a/netx/javax/jnlp/ServiceManagerStub.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/ServiceManagerStub.java Fri Jul 23 10:56:39 2010 +0100 @@ -8,4 +8,3 @@ public interface ServiceManagerStub { public java.lang.String[] getServiceNames(); } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/SingleInstanceListener.java --- a/netx/javax/jnlp/SingleInstanceListener.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/SingleInstanceListener.java Fri Jul 23 10:56:39 2010 +0100 @@ -19,14 +19,14 @@ package javax.jnlp; /** * This interface specifies a listener which is notified whenever a new instance * of the web start application is launched. - * + * */ public interface SingleInstanceListener { /** * This method is called when a new instance of the application is launched. * The arguments passed to the new instance are passed into this method. - * + * * @param arguments the arguments passed to the new instance of the * application */ diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/SingleInstanceService.java --- a/netx/javax/jnlp/SingleInstanceService.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/SingleInstanceService.java Fri Jul 23 10:56:39 2010 +0100 @@ -20,15 +20,15 @@ package javax.jnlp; * The SingleInstanceService provides a way to ensure that only one instance of * the application is ever running - singleton behavior at the application * level. - * + * */ public interface SingleInstanceService { /** * Adds the specified SingleInstanceListener to the notification list. This * listener is notified when a new instance of the application is started. - * - * + * + * * @param listener the single instance listener to be added. No action is * performed if it is null. */ @@ -38,7 +38,7 @@ public interface SingleInstanceService { * Removes the specified SingleInstanceListener from the notification list. * This listener will not be notified if a new instance of the application * is started. - * + * * @param listener the single instance listener to be removed. No action is * performed if it is null or not in the notification list. */ diff -r cf796bf3d5aa -r 7e8348b468ae netx/javax/jnlp/UnavailableServiceException.java --- a/netx/javax/jnlp/UnavailableServiceException.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/javax/jnlp/UnavailableServiceException.java Fri Jul 23 10:56:39 2010 +0100 @@ -13,4 +13,3 @@ public class UnavailableServiceException } } - diff -r cf796bf3d5aa -r 7e8348b468ae netx/net/sourceforge/jnlp/AppletDesc.java --- a/netx/net/sourceforge/jnlp/AppletDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/AppletDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2001-2003 Jon A. Maxwell (JAM) -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. -// +// // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -50,7 +50,7 @@ public class AppletDesc { /** * Create an Applet descriptor. - * + * * @param name the applet name * @param mainClass the main class name and package * @param documentBase the document base @@ -68,42 +68,42 @@ public class AppletDesc { } /** - * Returns the applet name + * Returns the applet name */ public String getName() { return name; } /** - * Returns the main class name + * Returns the main class name */ public String getMainClass() { return mainClass; } /** - * Returns the document base + * Returns the document base */ public URL getDocumentBase() { return documentBase; } /** - * Returns the width + * Returns the width */ public int getWidth() { return width; } - /** - * Returns the height + /** + * Returns the height */ public int getHeight() { return height; } - /** - * Returns the applet parameters + /** + * Returns the applet parameters */ public Map getParameters() { return new HashMap(parameters); @@ -120,6 +120,3 @@ public class AppletDesc { } } - - - diff -r cf796bf3d5aa -r 7e8348b468ae netx/net/sourceforge/jnlp/ApplicationDesc.java --- a/netx/net/sourceforge/jnlp/ApplicationDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/ApplicationDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2001-2003 Jon A. Maxwell (JAM) -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. -// +// // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -38,7 +38,7 @@ public class ApplicationDesc { /** * Create an Application descriptor. - * + * * @param mainClass the main class name and package * @param arguments the arguments */ @@ -48,13 +48,13 @@ public class ApplicationDesc { } /** - * Returns the main class name + * Returns the main class name */ public String getMainClass() { return mainClass; } - /** + /** * Returns the arguments */ public String[] getArguments() { @@ -72,5 +72,3 @@ public class ApplicationDesc { } } - - diff -r cf796bf3d5aa -r 7e8348b468ae netx/net/sourceforge/jnlp/AssociationDesc.java --- a/netx/net/sourceforge/jnlp/AssociationDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/AssociationDesc.java Fri Jul 23 10:56:39 2010 +0100 @@ -1,15 +1,15 @@ // Copyright (C) 2009 Red Hat, Inc. -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 03:49:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 10:49:18 +0000 Subject: [Bug 508] Aptana studio constantly crashing Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=508 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #2 from asu at redhat.com 2010-07-23 10:49 ------- Hello, This is an old version of the JVM (b09) since then there has been lots of updates. Please try to update your openjdk then try again, until then I will close this as invalid. If this is still happening for you then please feel free to reopen the bug. -Andrew -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 05:29:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 12:29:52 +0000 Subject: [Bug 523] New: Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 Summary: Crash when running mkgmap Product: IcedTea Version: 6-1.8 Platform: x86_64 OS/Version: Linux Status: NEW Severity: critical Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: nakor.osm at gmail.com There is a product named mkgmap to generate GPS maps from OpenStreetMap data. It works fine under Sun Java but crashed under IcedTea # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f6a3100e902, pid=10736, tid=140094213658384 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK 64-Bit Server VM (14.0-b16 mixed mode linux-amd64 ) # Derivative: IcedTea6 1.8 # Distribution: Custom build (Tue Jun 15 08:47:07 UTC 2010) # Problematic frame: # j uk.me.parabola.mkgmap.main.Main.endOptions(Luk/me/parabola/mkgmap/CommandArgs;)V+428 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 05:37:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 12:37:03 +0000 Subject: [Bug 523] Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 ------- Comment #1 from nakor.osm at gmail.com 2010-07-23 12:37 ------- Created an attachment (id=395) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=395&action=view) error report file -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 05:37:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 12:37:56 +0000 Subject: [Bug 523] Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 nakor.osm at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #395|application/octet-stream |message/text mime type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 05:43:31 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 12:43:31 +0000 Subject: [Bug 523] Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #395|message/text |text/plain mime type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 05:57:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 12:57:17 +0000 Subject: [Bug 523] Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 ------- Comment #2 from xerxes at zafena.se 2010-07-23 12:57 ------- Hi It is a bit unclear what version of mkgmap you are using and how you are using mkgmap in order to trigger the crash. Does ti crash with all data sets or only some datasets? I can only assume you have downloaded mkgmap from here: http://www.mkgmap.org.uk/snapshots/ World it be possible for you to describe all steps needed to make it crash? like wget http://www.mkgmap.org.uk/snapshots/mkgmap-r1658.tar.gz wget some url to openstrteetmap data... untar archive foo.tar.gz java foo args ... thanks. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 07:00:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 14:00:14 +0000 Subject: [Bug 523] Crash when running mkgmap Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=523 ------- Comment #3 from nakor.osm at gmail.com 2010-07-23 14:00 ------- I am using mkgmap-r1637 but can reproduce it with different versions and different input files. The input files I have right now are quite big so I am trying to reproduce it with a smaller set. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Fri Jul 23 08:36:02 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 23 Jul 2010 11:36:02 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <220920637.1351661279899214425.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <466845155.1351871279899362439.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hello all, This patch eliminates a NPE in swing. It has been accepted in upstream jdk7. I'd like to add it to IcedTea6 while we wait for it to percolate down to an openjdk6 release. OK to push? thanks, jon -------------- next part -------------- A non-text attachment was scrubbed... Name: 477.patch Type: text/x-patch Size: 1536 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100723/3e53e98e/477.patch From jon.vanalten at redhat.com Fri Jul 23 09:10:07 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 23 Jul 2010 12:10:07 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <1984382633.1356611279901398107.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1775279899.1356661279901407649.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Urp. "hg add" helps. Here is proper patch, with full contents. ----- "jon vanalten" wrote: > Hello all, > > This patch eliminates a NPE in swing. It has been accepted in > upstream jdk7. I'd like to add it to IcedTea6 while we wait for it to > percolate down to an openjdk6 release. OK to push? > > thanks, > > jon -------------- next part -------------- A non-text attachment was scrubbed... Name: 477.patch Type: text/x-patch Size: 5158 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100723/7a77253d/477.patch From aph at redhat.com Fri Jul 23 09:22:27 2010 From: aph at redhat.com (Andrew Haley) Date: Fri, 23 Jul 2010 17:22:27 +0100 Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <1775279899.1356661279901407649.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <1775279899.1356661279901407649.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <4C49C1C3.7040504@redhat.com> On 07/23/2010 05:10 PM, jon.vanalten at redhat.com wrote: > Urp. "hg add" helps. Here is proper patch, with full contents. > > ----- "jon vanalten" wrote: > >> Hello all, >> >> This patch eliminates a NPE in swing. It has been accepted in >> upstream jdk7. I'd like to add it to IcedTea6 while we wait for it to >> percolate down to an openjdk6 release. OK to push? Looks good. Thanks, Andrew. From vanaltj at icedtea.classpath.org Fri Jul 23 11:16:25 2010 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Fri, 23 Jul 2010 18:16:25 +0000 Subject: /hg/icedtea6: Backpatch fix for upstream bug#6963870 from jdk7 t... Message-ID: changeset 6bf6ff2ad1ea in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6bf6ff2ad1ea author: Jon VanAlten date: Fri Jul 23 11:51:57 2010 -0400 Backpatch fix for upstream bug#6963870 from jdk7 to eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing class CompoundBorder method getBorderInsets. * Makefile.am: Include above patch. diffstat: 3 files changed, 99 insertions(+), 1 deletion(-) ChangeLog | 7 +++ Makefile.am | 3 - patches/openjdk/6963870.patch | 90 +++++++++++++++++++++++++++++++++++++++++ diffs (121 lines): diff -r 7e8348b468ae -r 6bf6ff2ad1ea ChangeLog --- a/ChangeLog Fri Jul 23 10:56:39 2010 +0100 +++ b/ChangeLog Fri Jul 23 11:51:57 2010 -0400 @@ -1,3 +1,10 @@ 2010-07-23 Andrew John Hughes + + * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for + upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing + class CompoundBorder method getBorderInsets. + * Makefile.am: Include above patch. + 2010-07-23 Andrew John Hughes * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: diff -r 7e8348b468ae -r 6bf6ff2ad1ea Makefile.am --- a/Makefile.am Fri Jul 23 10:56:39 2010 +0100 +++ b/Makefile.am Fri Jul 23 11:51:57 2010 -0400 @@ -282,7 +282,8 @@ ICEDTEA_PATCHES = \ patches/openjdk/6961732.patch \ patches/debug-dir.patch \ patches/no-sync.patch \ - patches/icedtea-override-redirect-metacity.patch + patches/icedtea-override-redirect-metacity.patch \ + patches/openjdk/6963870.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 7e8348b468ae -r 6bf6ff2ad1ea patches/openjdk/6963870.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6963870.patch Fri Jul 23 11:51:57 2010 -0400 @@ -0,0 +1,90 @@ +diff -r a05e047c5b98 -r f1bafc4f249d src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java +--- openjdk.old/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Jun 22 20:36:55 2010 +0400 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Jun 29 14:42:30 2010 +0400 +@@ -1440,10 +1440,6 @@ + } + } + +- public Insets getBorderInsets(Component c) { +- return getBorderInsets(c, null); +- } +- + public Insets getBorderInsets(Component c, Insets i) { + SynthContext context = getContext(c); + +diff -r a05e047c5b98 -r f1bafc4f249d test/com/sun/java/swing/plaf/gtk/Test6963870.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/com/sun/java/swing/plaf/gtk/Test6963870.java Tue Jun 29 14:42:30 2010 +0400 +@@ -0,0 +1,72 @@ ++/* ++ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/* @test ++ @bug 6963870 ++ @summary Tests that GTKPainter.ListTableFocusBorder.getBorderInsets() ++ doesn't return null ++ @author Peter Zhelezniakov ++ @run main Test6963870 ++*/ ++ ++import java.awt.Insets; ++import javax.swing.SwingUtilities; ++import javax.swing.UIManager; ++import javax.swing.border.Border; ++ ++public class Test6963870 implements Runnable { ++ ++ final static String[] UI_NAMES = { ++ "List.focusCellHighlightBorder", ++ "List.focusSelectedCellHighlightBorder", ++ "List.noFocusBorder", ++ "Table.focusCellHighlightBorder", ++ "Table.focusSelectedCellHighlightBorder", ++ }; ++ ++ public void run() { ++ for (String uiName: UI_NAMES) { ++ test(uiName); ++ } ++ } ++ ++ void test(String uiName) { ++ Border b = UIManager.getBorder(uiName); ++ Insets i = b.getBorderInsets(null); ++ if (i == null) { ++ throw new RuntimeException("getBorderInsets() returns null for " + uiName); ++ } ++ } ++ ++ public static void main(String[] args) throws Exception { ++ try { ++ UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); ++ } catch (Exception e) { ++ System.out.println("GTKLookAndFeel cannot be set, skipping this test"); ++ return; ++ } ++ ++ SwingUtilities.invokeAndWait(new Test6963870()); ++ } ++} ++ From jon.vanalten at redhat.com Fri Jul 23 11:24:11 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 23 Jul 2010 14:24:11 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 394 In-Reply-To: <587302366.1373101279909153884.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <736160589.1373691279909451460.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, I've got another upstream bugfix to backpatch. This one is a little stranger, taking out some System class initialization code that seems to be obsoleted but originally was sort of a hack to prevent inlining. Upstream accepted this, but nobody is completely certain about it. I'd still like to see this get exposure for testing purposes sooner rather than later, by adding it to IcedTea6. OK to push? thanks, jon From jon.vanalten at redhat.com Fri Jul 23 11:25:15 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 23 Jul 2010 14:25:15 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 394 In-Reply-To: <2147421608.1373751279909486837.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1539261564.1373821279909515048.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ... and here's the attachment. (it must be Friday) ----- "jon vanalten" wrote: > Hi, > > I've got another upstream bugfix to backpatch. This one is a little > stranger, taking out some System class initialization code that seems > to be obsoleted but originally was sort of a hack to prevent inlining. > Upstream accepted this, but nobody is completely certain about it. > I'd still like to see this get exposure for testing purposes sooner > rather than later, by adding it to IcedTea6. OK to push? > > thanks, > > jon -------------- next part -------------- A non-text attachment was scrubbed... Name: 394.patch Type: text/x-patch Size: 4035 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100723/b33d2d95/394.patch From jon.vanalten at redhat.com Fri Jul 23 11:27:08 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 23 Jul 2010 14:27:08 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <843254352.1374051279909593416.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <904597230.1374201279909628257.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Andrew Haley" wrote: > On 07/23/2010 05:10 PM, jon.vanalten at redhat.com wrote: > > Urp. "hg add" helps. Here is proper patch, with full contents. > > > > ----- "jon vanalten" wrote: > > > >> Hello all, > >> > >> This patch eliminates a NPE in swing. It has been accepted in > >> upstream jdk7. I'd like to add it to IcedTea6 while we wait for it > to > >> percolate down to an openjdk6 release. OK to push? > > Looks good. > > Thanks, > Andrew. Thanks Andrew. Pushed to IcedTea6 HEAD http://icedtea.classpath.org/hg/icedtea6/rev/6bf6ff2ad1ea From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 11:29:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 18:29:06 +0000 Subject: [Bug 478] Fatal error when running tests in Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=478 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2010-07-23 18:29 ------- (see prev comment) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 11:30:01 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 18:30:01 +0000 Subject: [Bug 478] Fatal error when running tests in Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=478 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | ------- Comment #4 from jon.vanalten at redhat.com 2010-07-23 18:30 ------- Whoops. User error here. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 13:47:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Jul 2010 20:47:35 +0000 Subject: [Bug 351] Spontaneous crashes in rawhide Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=351 ------- Comment #4 from linuxhippy at gmail.com 2010-07-23 20:47 ------- Whatever the problem was, it seems fixed :) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 23 19:12:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Jul 2010 02:12:32 +0000 Subject: [Bug 351] Spontaneous crashes in rawhide Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=351 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #5 from asu at redhat.com 2010-07-24 02:12 ------- Awesome, closing a worksforme. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Jul 24 13:35:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Jul 2010 20:35:08 +0000 Subject: [Bug 450] TinyLaF 1.4.0 generated gui rendered incorrect using IcedTea6 1.8pre (6b18~pre1-1ubuntu1) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=450 mwisnicki at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mwisnicki at gmail.com ------- Comment #5 from mwisnicki at gmail.com 2010-07-24 20:35 ------- I was debugging this problem some time ago and found that rendering artifacts are caused by differences in how OpenJDK renders single (zero?) pixel lines. TinyLAF does a lot of drawPixel-type operation in the form of g.drawLine(x, y, x, y)[1]. On SunJDK this always results in single pixel. On OpenJDK when foreground color has alpha nothing will be drawn. I worked around it by redirecting such drawLine calls to fillRect (IIRC) which solved all rendering artifacts. Still, every component with text was one pixel shorter vertically. I did some investigation into differences in rendering between OpenJDK and SunJDK using pixel comparison and there were a lot of such single-pixel differences plus OpenJDK had really awful AA and curved lines. Unfortunately, temporarily I don't have access to machine where I did this and kept notes. BTW. don't compare screenshot from web page. It is using unknown version of java on unknown operating system (judging by fonts it's WinXP). Better install SunJDK for comparisons. [1] e.g. tinylaf-1_4_0_src\src\de\muntjak\tinylookandfeel\util\DrawRoutines.java:136 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Sun Jul 25 03:38:35 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Sun, 25 Jul 2010 11:38:35 +0100 Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <904597230.1374201279909628257.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <843254352.1374051279909593416.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <904597230.1374201279909628257.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: On 23 July 2010 19:27, wrote: > > ----- "Andrew Haley" wrote: > >> On 07/23/2010 05:10 PM, jon.vanalten at redhat.com wrote: >> > Urp. ?"hg add" helps. ?Here is proper patch, with full contents. >> > >> > ----- "jon vanalten" wrote: >> > >> >> Hello all, >> >> >> >> This patch eliminates a NPE in swing. ?It has been accepted in >> >> upstream jdk7. ?I'd like to add it to IcedTea6 while we wait for it >> to >> >> percolate down to an openjdk6 release. ?OK to push? >> >> Looks good. >> >> Thanks, >> Andrew. > > Thanks Andrew. ?Pushed to IcedTea6 HEAD http://icedtea.classpath.org/hg/icedtea6/rev/6bf6ff2ad1ea > Thanks for doing this. There is no defined process 'for it to percolate down to an openjdk6 release'. You need to explictly request permission for the backport from Joe Darcy on the jdk6-dev list, as, in my experience, these things don't tend to happen automatically. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Sun Jul 25 14:43:52 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 25 Jul 2010 21:43:52 +0000 Subject: /hg/release/icedtea6-1.7: 3 new changesets Message-ID: changeset 6abc3a568866 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6abc3a568866 author: Andrew John Hughes date: Sun Jul 25 21:12:18 2010 +0100 Backport S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. 2010-07-25 Andrew John Hughes * .hgignore: Remove 'openjdk' which hides files added to overlays. * Makefile.am: Add patch. * patches/openjdk/6668231-ssl_cert.patch: Backport SSL certificate fix 'Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks'. * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/crisubn.jks, * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/trusted.jks: Keystores for the new test introduced by this patch. changeset 00d39eef8e59 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=00d39eef8e59 author: Andrew John Hughes date: Sun Jul 25 22:36:52 2010 +0100 Backpatch S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing class CompoundBorder method getBorderInsets. * Makefile.am: Include above patch. changeset 81bc6674c223 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=81bc6674c223 author: Andrew John Hughes date: Sun Jul 25 22:43:38 2010 +0100 List backported upstream fixes in NEWS. 2010-07-25 Andrew John Hughes * NEWS: Update with list of backported fixes. diffstat: 6 files changed, 442 insertions(+), 2 deletions(-) .hgignore | 1 ChangeLog | 25 ++ Makefile.am | 4 NEWS | 9 patches/openjdk/6668231-ssl_cert.patch | 306 +++++++++++++++++++++++++++++++ patches/openjdk/6963870-swing_npe.patch | 99 ++++++++++ diffs (493 lines): diff -r 36fc1b3ae030 -r 81bc6674c223 .hgignore --- a/.hgignore Thu Jul 22 09:24:52 2010 +0100 +++ b/.hgignore Sun Jul 25 22:43:38 2010 +0100 @@ -7,7 +7,6 @@ cacao cacao netbeans visualvm -openjdk bootstrap debian lib diff -r 36fc1b3ae030 -r 81bc6674c223 ChangeLog --- a/ChangeLog Thu Jul 22 09:24:52 2010 +0100 +++ b/ChangeLog Sun Jul 25 22:43:38 2010 +0100 @@ -1,3 +1,28 @@ 2010-07-21 Andrew John Hughes + + * NEWS: Update with list of backported + fixes. + +2010-07-23 Jon VanAlten + + * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for + upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing + class CompoundBorder method getBorderInsets. + * Makefile.am: Include above patch. + +2010-07-25 Andrew John Hughes + + * .hgignore: Remove 'openjdk' which hides files + added to overlays. + * Makefile.am: Add patch. + * patches/openjdk/6668231-ssl_cert.patch: + Backport SSL certificate fix 'Presence of a + critical subjectAltName causes JSSE's SunX509 to + fail trusted checks'. + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks, + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks: + Keystores for the new test introduced by this patch. + 2010-07-21 Andrew John Hughes * INSTALL: Updated, with documentation diff -r 36fc1b3ae030 -r 81bc6674c223 Makefile.am --- a/Makefile.am Thu Jul 22 09:24:52 2010 +0100 +++ b/Makefile.am Sun Jul 25 22:43:38 2010 +0100 @@ -341,7 +341,9 @@ ICEDTEA_PATCHES = \ patches/openjdk/6875861-docs-properties.patch \ patches/openjdk/6909563-docs-rmi.patch \ patches/openjdk/6917485-docs-corba.patch \ - patches/openjdk/6921068-docs-specdefault.patch + patches/openjdk/6921068-docs-specdefault.patch \ + patches/openjdk/6668231-ssl_cert.patch \ + patches/openjdk/6963870-swing_npe.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 36fc1b3ae030 -r 81bc6674c223 NEWS --- a/NEWS Thu Jul 22 09:24:52 2010 +0100 +++ b/NEWS Sun Jul 25 22:43:38 2010 +0100 @@ -5,6 +5,15 @@ New in release 1.7.4 (2010-XX-XX): * Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. * S6678385, RH551835: Fixes JVM crashes when window is resized. +* S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. +* S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets. +* S4891262: API spec, javax/accessibility: few invalid javadoc tags. +* S6737212: Fixed javadoc warning messages in RowSet classes. +* S6875861: javadoc build warning on java.util.Properites from unconventional @see ordering. +* S6909563: Javadoc build warnings in rmi, security, management. +* S6879689: Fix warning about ignored return value when compiling with -O2 +* S6917485: Corba doc warnings. +* S6921068: Remove javadoc build warnings from specdefault tag. * Make the new plugin the default. This is now the main supported plugin. Use --disable-npplugin to use the old one. * New plugin: diff -r 36fc1b3ae030 -r 81bc6674c223 overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks Binary file overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks has changed diff -r 36fc1b3ae030 -r 81bc6674c223 overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks Binary file overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks has changed diff -r 36fc1b3ae030 -r 81bc6674c223 patches/openjdk/6668231-ssl_cert.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6668231-ssl_cert.patch Sun Jul 25 22:43:38 2010 +0100 @@ -0,0 +1,306 @@ +# HG changeset patch +# User xuelei +# Date 1207190685 14400 +# Node ID df5d7e6ac15e2e2e0b6f8fd37b2240a0057c586d +# Parent 99b3301fc27c218cb2fca3c585751d12be00d49a +6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks +Summary: make the critical extension known to end entity checker. +Reviewed-by: wetmore, mullan + +diff -r 99b3301fc27c -r df5d7e6ac15e src/share/classes/sun/security/validator/EndEntityChecker.java +--- openjdk.orig/jdk/src/share/classes/sun/security/validator/EndEntityChecker.java Mon Mar 31 16:50:16 2008 -0700 ++++ openjdk/jdk/src/share/classes/sun/security/validator/EndEntityChecker.java Wed Apr 02 22:44:45 2008 -0400 +@@ -87,6 +87,9 @@ + // the Microsoft Server-Gated-Cryptography EKU extension OID + private final static String OID_EKU_MS_SGC = "1.3.6.1.4.1.311.10.3.3"; + ++ // the recognized extension OIDs ++ private final static String OID_SUBJECT_ALT_NAME = "2.5.29.17"; ++ + private final static String NSCT_SSL_CLIENT = + NetscapeCertTypeExtension.SSL_CLIENT; + +@@ -171,6 +174,13 @@ + throws CertificateException { + // basic constraints irrelevant in EE certs + exts.remove(SimpleValidator.OID_BASIC_CONSTRAINTS); ++ ++ // If the subject field contains an empty sequence, the subjectAltName ++ // extension MUST be marked critical. ++ // We do not check the validity of the critical extension, just mark ++ // it recognizable here. ++ exts.remove(OID_SUBJECT_ALT_NAME); ++ + if (!exts.isEmpty()) { + throw new CertificateException("Certificate contains unsupported " + + "critical extensions: " + exts); +diff -r 99b3301fc27c -r df5d7e6ac15e test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java Wed Apr 02 22:44:45 2008 -0400 +@@ -0,0 +1,262 @@ ++/* ++ * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/* ++ * @test ++ * @bug 6668231 ++ * @summary Presence of a critical subjectAltName causes JSSE's SunX509 to ++ * fail trusted checks ++ * @author Xuelei Fan ++ * ++ * This test depends on binary keystore, crisubn.jks and trusted.jks. Because ++ * JAVA keytool cannot generate X509 certificate with SubjectAltName extension, ++ * the certificates are generated with openssl toolkits and then imported into ++ * JAVA keystore. ++ * ++ * The crisubn.jks holds a private key entry and the corresponding X509 ++ * certificate issued with an empty Subject field, and a critical ++ * SubjectAltName extension. ++ * ++ * The trusted.jks holds the trusted certificate. ++ */ ++import java.io.*; ++import java.net.*; ++import javax.net.ssl.*; ++import java.security.cert.Certificate; ++ ++public class CriticalSubjectAltName implements HostnameVerifier { ++ /* ++ * ============================================================= ++ * Set the various variables needed for the tests, then ++ * specify what tests to run on each side. ++ */ ++ ++ /* ++ * Should we run the client or server in a separate thread? ++ * Both sides can throw exceptions, but do you have a preference ++ * as to which side should be the main thread. ++ */ ++ static boolean separateServerThread = true; ++ ++ /* ++ * Where do we find the keystores? ++ */ ++ static String pathToStores = "./"; ++ static String keyStoreFile = "crisubn.jks"; ++ static String trustStoreFile = "trusted.jks"; ++ static String passwd = "passphrase"; ++ ++ /* ++ * Is the server ready to serve? ++ */ ++ volatile static boolean serverReady = false; ++ ++ /* ++ * Turn on SSL debugging? ++ */ ++ static boolean debug = false; ++ ++ /* ++ * If the client or server is doing some kind of object creation ++ * that the other side depends on, and that thread prematurely ++ * exits, you may experience a hang. The test harness will ++ * terminate all hung threads after its timeout has expired, ++ * currently 3 minutes by default, but you might try to be ++ * smart about it.... ++ */ ++ ++ /* ++ * Define the server side of the test. ++ * ++ * If the server prematurely exits, serverReady will be set to true ++ * to avoid infinite hangs. ++ */ ++ void doServerSide() throws Exception { ++ SSLServerSocketFactory sslssf = ++ (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); ++ SSLServerSocket sslServerSocket = ++ (SSLServerSocket) sslssf.createServerSocket(serverPort); ++ serverPort = sslServerSocket.getLocalPort(); ++ ++ /* ++ * Signal Client, we're ready for his connect. ++ */ ++ serverReady = true; ++ ++ SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept(); ++ OutputStream sslOS = sslSocket.getOutputStream(); ++ BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sslOS)); ++ bw.write("HTTP/1.1 200 OK\r\n\r\n\r\n"); ++ bw.flush(); ++ Thread.sleep(5000); ++ sslSocket.close(); ++ } ++ ++ /* ++ * Define the client side of the test. ++ * ++ * If the server prematurely exits, serverReady will be set to true ++ * to avoid infinite hangs. ++ */ ++ void doClientSide() throws Exception { ++ ++ /* ++ * Wait for server to get started. ++ */ ++ while (!serverReady) { ++ Thread.sleep(50); ++ } ++ ++ URL url = new URL("https://localhost:"+serverPort+"/index.html"); ++ HttpsURLConnection urlc = (HttpsURLConnection)url.openConnection(); ++ urlc.setHostnameVerifier(this); ++ urlc.getInputStream(); ++ ++ if (urlc.getResponseCode() == -1) { ++ throw new RuntimeException("getResponseCode() returns -1"); ++ } ++ } ++ ++ /* ++ * ============================================================= ++ * The remainder is just support stuff ++ */ ++ ++ // use any free port by default ++ volatile int serverPort = 0; ++ ++ volatile Exception serverException = null; ++ volatile Exception clientException = null; ++ ++ public static void main(String[] args) throws Exception { ++ String keyFilename = ++ System.getProperty("test.src", "./") + "/" + pathToStores + ++ "/" + keyStoreFile; ++ String trustFilename = ++ System.getProperty("test.src", "./") + "/" + pathToStores + ++ "/" + trustStoreFile; ++ ++ System.setProperty("javax.net.ssl.keyStore", keyFilename); ++ System.setProperty("javax.net.ssl.keyStorePassword", passwd); ++ System.setProperty("javax.net.ssl.trustStore", trustFilename); ++ System.setProperty("javax.net.ssl.trustStorePassword", passwd); ++ ++ if (debug) ++ System.setProperty("javax.net.debug", "all"); ++ ++ /* ++ * Start the tests. ++ */ ++ new CriticalSubjectAltName(); ++ } ++ ++ Thread clientThread = null; ++ Thread serverThread = null; ++ ++ /* ++ * Primary constructor, used to drive remainder of the test. ++ * ++ * Fork off the other side, then do your work. ++ */ ++ CriticalSubjectAltName() throws Exception { ++ if (separateServerThread) { ++ startServer(true); ++ startClient(false); ++ } else { ++ startClient(true); ++ startServer(false); ++ } ++ ++ /* ++ * Wait for other side to close down. ++ */ ++ if (separateServerThread) { ++ serverThread.join(); ++ } else { ++ clientThread.join(); ++ } ++ ++ /* ++ * When we get here, the test is pretty much over. ++ * ++ * If the main thread excepted, that propagates back ++ * immediately. If the other thread threw an exception, we ++ * should report back. ++ */ ++ if (serverException != null) ++ throw serverException; ++ if (clientException != null) ++ throw clientException; ++ } ++ ++ void startServer(boolean newThread) throws Exception { ++ if (newThread) { ++ serverThread = new Thread() { ++ public void run() { ++ try { ++ doServerSide(); ++ } catch (Exception e) { ++ /* ++ * Our server thread just died. ++ * ++ * Release the client, if not active already... ++ */ ++ System.err.println("Server died..."); ++ serverReady = true; ++ serverException = e; ++ } ++ } ++ }; ++ serverThread.start(); ++ } else { ++ doServerSide(); ++ } ++ } ++ ++ void startClient(boolean newThread) throws Exception { ++ if (newThread) { ++ clientThread = new Thread() { ++ public void run() { ++ try { ++ doClientSide(); ++ } catch (Exception e) { ++ /* ++ * Our client thread just died. ++ */ ++ System.err.println("Client died..."); ++ clientException = e; ++ } ++ } ++ }; ++ clientThread.start(); ++ } else { ++ doClientSide(); ++ } ++ } ++ ++ // Simple test method to blindly agree that hostname and certname match ++ public boolean verify(String hostname, SSLSession session) { ++ return true; ++ } ++ ++} +diff -r 99b3301fc27c -r df5d7e6ac15e test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks +Binary file test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks has changed +diff -r 99b3301fc27c -r df5d7e6ac15e test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks +Binary file test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks has changed diff -r 36fc1b3ae030 -r 81bc6674c223 patches/openjdk/6963870-swing_npe.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6963870-swing_npe.patch Sun Jul 25 22:43:38 2010 +0100 @@ -0,0 +1,99 @@ +# HG changeset patch +# User peterz +# Date 1277808150 -14400 +# Node ID f1bafc4f249d2e5a4f0ff12af78e90b3109404e0 +# Parent a05e047c5b98766ef05cac94e2edce7dc5764916 +6963870: NPE in CompoundBorder.getInsets() +Reviewed-by: alexp +Contributed-by: jon.vanalten at redhat.com + +diff -r a05e047c5b98 -r f1bafc4f249d src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Jun 22 20:36:55 2010 +0400 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Jun 29 14:42:30 2010 +0400 +@@ -1440,10 +1440,6 @@ + } + } + +- public Insets getBorderInsets(Component c) { +- return getBorderInsets(c, null); +- } +- + public Insets getBorderInsets(Component c, Insets i) { + SynthContext context = getContext(c); + +diff -r a05e047c5b98 -r f1bafc4f249d test/com/sun/java/swing/plaf/gtk/Test6963870.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/com/sun/java/swing/plaf/gtk/Test6963870.java Tue Jun 29 14:42:30 2010 +0400 +@@ -0,0 +1,72 @@ ++/* ++ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/* @test ++ @bug 6963870 ++ @summary Tests that GTKPainter.ListTableFocusBorder.getBorderInsets() ++ doesn't return null ++ @author Peter Zhelezniakov ++ @run main Test6963870 ++*/ ++ ++import java.awt.Insets; ++import javax.swing.SwingUtilities; ++import javax.swing.UIManager; ++import javax.swing.border.Border; ++ ++public class Test6963870 implements Runnable { ++ ++ final static String[] UI_NAMES = { ++ "List.focusCellHighlightBorder", ++ "List.focusSelectedCellHighlightBorder", ++ "List.noFocusBorder", ++ "Table.focusCellHighlightBorder", ++ "Table.focusSelectedCellHighlightBorder", ++ }; ++ ++ public void run() { ++ for (String uiName: UI_NAMES) { ++ test(uiName); ++ } ++ } ++ ++ void test(String uiName) { ++ Border b = UIManager.getBorder(uiName); ++ Insets i = b.getBorderInsets(null); ++ if (i == null) { ++ throw new RuntimeException("getBorderInsets() returns null for " + uiName); ++ } ++ } ++ ++ public static void main(String[] args) throws Exception { ++ try { ++ UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); ++ } catch (Exception e) { ++ System.out.println("GTKLookAndFeel cannot be set, skipping this test"); ++ return; ++ } ++ ++ SwingUtilities.invokeAndWait(new Test6963870()); ++ } ++} ++ From bugzilla-daemon at icedtea.classpath.org Sun Jul 25 22:45:31 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 05:45:31 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 ------- Comment #3 from riksoft at gmail.com 2010-07-26 05:45 ------- Uh? Do you mean I'm using Sun/Oracle code for applet? If yes, why I don't see any applet without installing IcedTea? Should be that IcedTea is using Oracle Applet... Moreover I have OpenJDK as default. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From andrew at icedtea.classpath.org Mon Jul 26 01:39:01 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 08:39:01 +0000 Subject: /hg/icedtea6: 6 new changesets Message-ID: changeset 1d36a3fd16c0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1d36a3fd16c0 author: Andrew John Hughes date: Sun Jul 25 22:47:02 2010 +0100 Backport S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. 2010-07-25 Andrew John Hughes * Makefile.am: Add patch. * patches/openjdk/6668231-ssl_cert.patch: Backport SSL certificate fix 'Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks'. * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/crisubn.jks, * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/trusted.jks: Keystores for the new test introduced by this patch. changeset 606d9aa072d6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=606d9aa072d6 author: Andrew John Hughes date: Mon Jul 26 09:24:00 2010 +0100 Make naming of OpenJDK backports clearer and use original changeset for 6963870. 2010-07-25 Andrew John Hughes Make purpose of OpenJDK patches clearer and use original changeset for 6963870. * patches/openjdk/6678385.patch, * patches/openjdk/6961732.patch, * patches/openjdk/6963870.patch: Renamed to... * Makefile.am: Use new patch names. * patches/openjdk/6678385-window_movement_crasher.patch, * patches/openjdk/6961732-negative_leading.patch, * patches/openjdk/6963870-swing_npe.patch: these. changeset 261f47cbfac7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=261f47cbfac7 author: Andrew John Hughes date: Mon Jul 26 09:27:34 2010 +0100 Fix use of fstatat in NIO2 on architectures other than x86 and x86_64. 2010-07-20 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/Un ixNativeDispatcher.c: Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. changeset 549cfe48fc56 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=549cfe48fc56 author: Andrew John Hughes date: Wed Jul 21 18:17:59 2010 +0100 Update the README. 2010-07-21 Andrew John Hughes * README: Updated. changeset d7226257dd2e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d7226257dd2e author: Andrew John Hughes date: Mon Jul 26 09:31:02 2010 +0100 Update INSTALL documentation and configure help. 2010-07-21 Andrew John Hughes * INSTALL: Updated, with documentation of new options and removal of outdated information. * acinclude.m4: (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} in configure help, replacing it with the value used. (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in configure help. * configure.ac: Fix default in configure help for NIO2. changeset dd4d9f50ac7c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dd4d9f50ac7c author: Andrew John Hughes date: Mon Jul 26 09:38:47 2010 +0100 Update README and INSTALL for HEAD. 2010-07-26 Andrew John Hughes * README: Updated for HEAD using IcedTea7 version. * INSTALL: Likewise. diffstat: 14 files changed, 2092 insertions(+), 1574 deletions(-) ChangeLog | 51 INSTALL | 376 ++- Makefile.am | 7 README | 118 acinclude.m4 | 6 configure.ac | 4 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 37 patches/openjdk/6668231-ssl_cert.patch | 306 ++ patches/openjdk/6678385-window_movement_crasher.patch | 1241 ++++++++++ patches/openjdk/6678385.patch | 1241 ---------- patches/openjdk/6961732-negative_leading.patch | 45 patches/openjdk/6961732.patch | 45 patches/openjdk/6963870-swing_npe.patch | 99 patches/openjdk/6963870.patch | 90 diffs (truncated from 3904 to 500 lines): diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c ChangeLog --- a/ChangeLog Fri Jul 23 11:51:57 2010 -0400 +++ b/ChangeLog Mon Jul 26 09:38:47 2010 +0100 @@ -1,3 +1,54 @@ 2010-07-23 Jon VanAlten + + * README: Updated for HEAD using IcedTea7 version. + * INSTALL: Likewise. + +2010-07-21 Andrew John Hughes + + * INSTALL: Updated, with documentation + of new options and removal of outdated information. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. + (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. + (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} + in configure help, replacing it with the value used. + (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in + configure help. + * configure.ac: + Fix default in configure help for NIO2. + +2010-07-21 Andrew John Hughes + + * README: Updated. + +2010-07-20 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c: + Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. + +2010-07-25 Andrew John Hughes + + Make purpose of OpenJDK patches clearer and + use original changeset for 6963870. + * patches/openjdk/6678385.patch, + * patches/openjdk/6961732.patch, + * patches/openjdk/6963870.patch: Renamed to... + * Makefile.am: Use new patch names. + * patches/openjdk/6678385-window_movement_crasher.patch, + * patches/openjdk/6961732-negative_leading.patch, + * patches/openjdk/6963870-swing_npe.patch: these. + +2010-07-25 Andrew John Hughes + + * Makefile.am: Add patch. + * patches/openjdk/6668231-ssl_cert.patch: + Backport SSL certificate fix 'Presence of a + critical subjectAltName causes JSSE's SunX509 to + fail trusted checks'. + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks, + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks: + Keystores for the new test introduced by this patch. + 2010-07-23 Jon VanAlten * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c INSTALL --- a/INSTALL Fri Jul 23 11:51:57 2010 -0400 +++ b/INSTALL Mon Jul 26 09:38:47 2010 +0100 @@ -7,8 +7,10 @@ a default location. The build requirements are as follows: -GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95) -Eclipse Java Compiler +A bootstrap JDK, either: + - GNU libgcj 4.3.0 (or equivalent class library based on GNU Classpath >= 0.95) for --with-gcj-home mode (the default) + - IcedTea6 for --with-openjdk mode +Eclipse Java Compiler (ecj) CUPS libX11 (libXp, libXtst, libXi, libXt) Freetype2 @@ -16,6 +18,7 @@ sed sed tar md5sum +sha256sum (from coreutils) wget alsa xalan @@ -23,118 +26,268 @@ firefox-devel firefox-devel glib2-devel gtk2-devel -ant >= 1.6.5 +ant >= 1.6.5 with the regexp task from ant-nodeps libXinerama-devel giflib-devel libpng-devel libjpeg-devel >= 6b zlib-devel +xulrunner-devel (can be disabled using --disable-plugin) rhino (can be disabled using --without-rhino) - -For building the PulseAudio based mixer, you will need -pulseaudio-libs-devel >= 0.9.11 - -For building VisualVM, you will need -netbeans = 6.5 - -For building the zero-assembler port (see below), you will need libffi. - -For building the Shark JIT, you will need LLVM 2.5 or current SVN. - -For building with systemtap support (--enable-systemtap), you will need -systemtap-sdt-devel (available since systemtap 0.9.5). This also needs -the --with-abs-install-dir configure option to make sure the hotspot.stp.in -tapset gets the correct installation location for the libjvm.so, it -defaults to the root of the j2sdk-image build dir otherwise (but then -you cannot move that to another location without adjusting the paths -in the tapset/hotspot.stp file. For example: - --enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk -(Java method tracing works starting with systemtap 0.9.9) +libffi (for --enable-zero or on archs other than x86/x86_64/sparc) +pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) +LLVM 2.5 or later (for --enable-shark) +systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9) See ./configure --help if you need to override the defaults. -To bootstrap IcedTea with ecj and a Classpath-based JDK such as GCJ: -autoreconf +To bootstrap IcedTea with ecj and a GNU Classpath-based JDK: +./autogen.sh ./configure make -To build IcedTea with an older version of IcedTea or OpenJDK, use: -autoreconf -./configure --with-openjdk - to specify the location use --with-openjdk=/path/to/icedtea] +The following locations are checked for a GNU Classpath-based JDK: + * /usr/lib/jvm/java-gcj + * /usr/lib/jvm/gcj-jdk + * /usr/lib/jvm/cacao +in that order. + +To build IcedTea with an older version of IcedTea6, use: +./autogen.sh +./configure --with-openjdk make -There is currently no install target. +The following locations are checked for an IcedTea6 JDK: + * /usr/lib/jvm/java-openjdk + * /usr/lib/jvm/icedtea6 + * /usr/lib/jvm/java-6-openjdk + * /usr/lib/jvm/openjdk + * /usr/lib/jvm/java-icedtea +in the order given above. -IcedTea ends up in openjdk/build/- when the build completes. -Example instantiations of - include linux-i586, linux-amd64 and linux-ppc64. +Note that IcedTea7 can not be used to build IcedTea6. -Rebuilding The IcedTea Plugs ----------------------------- +There is currently no install target. IcedTea ends up in +openjdk.build when the build completes. -When IcedTea is initially built, it creates stamp files in the stamps directory -to determine what and when dependencies were compiled. For example, to rebuild -the rt plugs certain files need to be deleted before restarting the build. +Most targets in IcedTea creat stamp files in the stamps directory to +determine what and when dependencies were compiled. Each target has a +corresponding clean-x target which removes the output and the stamp +file, allowing it to be rebuilt. For example, stamps/rt.stamp (alias +rt) builds the bootstrap classes needed in the bootstrap build and +clean-rt removes the classes and the stamp file. - - If the rt plugs have been modified, delete stamps/rt-class-files.stamp. - - If a new class has been added to the rt plugs, delete - rt-source-files.txt so it can be recreated with the new class list. +Build Modification Options +========================== -To view all targets that create stamp files, see -Makefile.am (section 'All Stamped Targets'). +The build process may be modified by passing the following options +to configure: -The Zero Assembler Port ------------------------ +* --disable-docs: Don't build the Javadoc documentation. +* --with-openjdk-src-dir: Copy the specified OpenJDK tree, rather than + downloading and extracting a tarball. +* --disable-optimizations: Build with -O0. +* --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than + downloading and extracting a tarball. +* --with-gcj: Compile ecj to native code with gcj prior to building. +* --with-openjdk: Perform a quick (no bootstrap) build using an installed + copy of IcedTea6. If a directory is not specified, a check against + the list presented above is performed. +* --with-parallel-jobs: Run the specified number of parallel jobs when + building HotSpot and the JDK. If this option is passed without an + argument, the number of online processors plus one is used. +* --with-netbeans-home: The location of NetBeans for use in the VisualVM build, + defaults to /usr/share/netbeans. +* --with-ant-home: The location of Ant, defaults to /usr/share/ant. +* --with-pkgversion=PKG: Include the specified distro package information in + the output of java -version. +* --with-gcj-home: Perform a full bootstrap build using an installed + copy of a GNU Classpath JDK such as gcj. If a directory is not specified, + a check against the list presented above is performed. +* --with-java: Specify the location of a 'java' binary. By default, the path + is checked for gij and java. +* --with-ecj: Specify the location of a 'ecj' binary. By default, the path + is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3. +* --with-javac: Specify the location of a 'javac' binary. By default, the path + is checked for javac. +* --with-jar: Specify the location of a 'jar' binary. By default, the path + is checked for gjar and jar. +* --with-javah: Specify the location of a 'javah' binary. By default, the path + is checked for gjavah and javah. +* --with-rmic: Specify the location of a 'rmic' binary. By default, the path + is checked for grmic and rmic. +* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the + following paths are checked: + - /usr/share/java/eclipse-ecj.jar + - /usr/share/java/ecj.jar + - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar +* --with-xalan2-jar: Specify the location of a xalan2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xalan-j2.jar + - /usr/share/java/xalan2.jar + - /usr/share/xalan/lib/xalan.jar +* --with-xalan2-serializer-jar: Specify the location of a xalan2 serializer JAR file. + By default, the following paths are checked: + - /usr/share/java/xalan-j2-serializer.jar + - /usr/share/xalan-serializer/lib/serializer.jar + - /usr/share/java/serializer.jar +* --with-xerces2-jar: Specify the location of a xerces2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xerces-j2.jar + - /usr/share/java/xerces2.jar + - /usr/share/xerces-2/lib/xercesImpl.jar + - /usr/share/java/xercesImpl.jar +* --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading. +* --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading. +* --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built. +* --with-jaxp-drop-zip: Specify the location of the JAXP source drop zip file to avoid downloading. +* --with-jaf-drop-zip: Specify the location of the JAF source drop zip file to avoid downloading. +* --with-jaxws-drop-zip: Specify the location of the JAXWS source drop zip file to avoid downloading. +* --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading + and building one. +* --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading. +* --with-cacao-src-dir: Specify the location of a CACAO source tree to avoid downloading. +* --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option. +* --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. +* --with-netbeans: Specify the location of NetBeans for VisualVM, defaulting to the netbeans on the path. +* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. -Gary Benson has developed a port of the interpreter included in the -HotSpot virtual machine which avoids using any assembly language. As -a pure C++ interpreter, it should be possible to build this on most -architectures and have a working (albeit slow) version of OpenJDK. -Successful builds have been made on ppc, ppc64 and arm. The zero -assembler port is enabled by default on platforms other than x86, -x86_64 and sparc. To enable it on these platforms, use the ---enable-zero option. +Other options may be supplied which enable or disable new features. +These are documented fully in the relevant section below. -Gary is now working on a JIT called Shark to provide better -performance on platforms which need to use the zero port. A -preliminary version of this is now included with IcedTea and can be -built with the --enable-shark option. +* --enable-pulse-java: Build the PulseAudio sound provider. +* --disable-xrender: Don't include the XRender pipeline. +* --enable-nio2: Include the NIO2 backport. +* --enable-systemtap: Include support for tracing using systemtap. +* --enable-nss: Enable the NSS security provider. +* --enable-cacao: Replace HotSpot with the CACAO VM. +* --enable-shark: Build the Shark LLVM-based JIT. +* --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms. +* --disable-plugin: Don't build the browser plugin. +* --disable-npplugin: Build the old unsupported plugin rather than NPPlugin. +* --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. +* --with-rhino: Include Javascript support using Rhino. +* --with-additional-vms=vm-list: Additional VMs to build using the system described + below. + +Testing +======= + +IcedTea6 includes support for running the test suite included with +OpenJDK, using the in-tree copy of JTReg. Invoking 'make check' will +cause the HotSpot, JDK and langtools test suites to be run. The +individual test suites may be run using the check-hotspot, check-jdk +and check-langtools targets respectively. + +The PulseAudio provider +======================= + +IcedTea6 includes an implementation of the javax.sound.* APIs using +PulseAudio which can be enabled using --enable-pulse-java. The resulting +provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. + +Xrender Support +=============== + +IcedTea6 includes support for an Xrender-based rendering pipeline +developed by Clemens Eisserer (http://linuxhippy.blogspot.com/). This +is compiled by default, and can be disabled using --disable-xrender. +To actually use the pipeline, the sun.java2d.xrender property needs to +be set to true, e.g. by passing the -Dsun.java2d.xrender=True option +to java. + +NIO2 Backport +============= + +IcedTea6 includes a backport of NIO2 from OpenJDK7; see +http://openjdk.java.net/projects/nio/. This provides support for +asynchronous I/O and an improved file system API, providing access to +POSIX file permissions, timestamps, extended attributes and ACLs and +allowing directories to be watched. This is enabled using the +--enable-nio2 option. + +As new classes can not be added to the java.* and javax.* namespace of +the 1.6 API, the new java.nio classes are contained in +org.classpath.icedtea.java.nio, so code will needed to be adjusted to +work with the backport. + +SystemTap +========= + +IcedTea6 includes work to allow the existing DTrace probes included in +OpenJDK to be used with SystemTap. This is enabled using the +--enable-systemtap option, and requires version 0.9.5 or later (0.9.9 +or later if you want Java method tracing). The tapset needs to know +the final install location of the JDK, so the --with-abs-install-dir +should also be used to specify this. If not set, it defaults to the +in-tree location of openjdk/build/-/j2sdk-image and requires +manual changes to tapset/hotspot.stp to work from elsewhere. For +example, if you plan to install the resulting build in +/usr/lib/jvm/java-1.6.0-openjdk, then you should specify +--enable-systemtap +--with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk. + +NSS Security Provider +===================== + +OpenJDK includes an NSS-based security provider in the form of +sun.security.pkcs11.SunPKCS11. However, as this needs to know the +location of the NSS installation it should use, it is not enabled +in normal OpenJDK builds. As IcedTea can detect NSS using configure, +it can simplify the process of enabling this provider by generating +a configuration file for the NSS provider. If --enable-nss is specified, +this configuration will be turned on in lib/security/java.security. +This can also be done manually at a later date. CACAO ------ +===== -The CACAO virtual machine (http://cacaovm.org) can be used as an -alternative to the HotSpot virtual machine. One advantage of this is -that it already provides a JIT for many platforms to which HotSpot has -not yet been ported, including ppc, ppc64, arm and mips. To use CACAO -as the VM, use the --with-cacao option. This will download CACAO -0.99.3 during the build. To use a different version, use ---with-cacao-home= to point to an existing installation which use -the Sun VM interface. +IcedTea6 can use CACAO as the virtual machine, as opposed to HotSpot. +One advantage of this is that CACAO has a JIT implementation for +more platforms than HotSpot, including ppc, ppc64, arm and mips. +When --enable-cacao is specified, CACAO will be downloaded and built, +followed by the JDK portion of OpenJDK resulting in a CACAO+OpenJDK +image in openjdk/build/-/j2sdk-image. The --with-cacao-home +option can be used to specify the use of an existing CACAO install +instead, and --with-cacao-src-zip/dir options exist to allow the use +of a pre-downloaded zip or source tree respectively. -Building additional virtual machines ------------------------------------- +Zero & Shark +============ -Although IcedTea can be built multiple times to use a different virtual -machine, addtional VM's can be built without building the other components -multiple times. +IcedTea6 includes a zero assembler port of HotSpot, which avoids +architecture-specific code as much as possible, allowing an +interpreter to be built and run on most platforms (albeit very +slowly). As HotSpot only includes JITs for x86, x86_64 and SPARC, the +zero assembler port is automatically enabled on all other +architectures. On x86, x86_64 and SPARC, it may be built using +--enable-zero. -On architectures where hotspot is available, use - --with-additional-vms=cacao,zero (or shark instead of zero) -on architectures where only zero (or shark) is available, use - --with-additional-vms=cacao -to build the additional VM's. It's not possible to build cacao as the -default VM, and zero as additional VM. -To build zero as the default VM and shark as an additional VM, use - --enable-zero --with-additional-vms=shark +To overcome the performance issues inherent in zero, a LLVM-based JIT +called Shark has been developed. This performs Just-In-Time compilation +on any architecture supported by LLVM. To enable it, pass the option +--enable-shark to configure. Please note that Shark is still in +development and builds are still likely to fail at present. -The additional VM's are available by calling the java with the option -`-cacao', `-zero' or `-shark', or by calling the java tools with -`-J-'. If the build was configured with '--enable-shark', -use `-Xint' to just use the zero VM. +The Browser Plugin +================== -Support for different versions of HotSpot ------------------------------------------ +IcedTea6 contains a Free Software browser plugin based on NPRuntime +called NPPlugin. By default, this will be built, and it can be turned +off using the -disable-plugin option. + +A test suite is supplied for the browser plugin. It can be built +using 'make plugin-tests' and run by loading the HTML page specified +into a browser with the plugin installed. + +For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be +set to 'true'. This will produce output on the console from the C++ +side, and output from the Java side in $HOME/.icedteaplugin/java.stdout +and $HOME/.icedteaplugin/java.stderr. It also starts the debug server +on port 8787. + +Support for Different Versions of HotSpot +========================================= IcedTea allows the version of HotSpot provided with the upstream build drop to be replaced with another. Support for this is provided by the @@ -165,11 +318,50 @@ download stage and just verifies that th download stage and just verifies that the zip's MD5 sum matches that of the requested build. -At present, two versions of HotSpot are officially supported. These -are HotSpot 14 ('original') which is provided by the upstream OpenJDK -tarball, and 'hs16', which is used in hotspot.map to provide the -latest version of HotSpot 16. Thus, either --with-hotspot-build -without an argument or --with-hotspot-build=hs16 provides the -latest supported hs16, while no HotSpot build argument, ---without-hotspot-build or --with-hotspot-build=original uses the -upstream HotSpot. +At present, IcedTea6 only supports the 'original' HotSpot (hs17) +provided as part of the upstream tarball. + +Javascript Support +================== + +IcedTea6 adds Javascript support via the javax.script API by using +an existing installation of Rhino. Support is enabled by default, +with the following locations being searched for a Rhino JAR file: + +* /usr/share/java/rhino.jar +* /usr/share/java/js.jar +* /usr/share/rhino-1.6/lib/js.jar + +A JAR file can instead be specified using the --with-rhino option, +or support may be disabled by specifying --without-rhino. + +Note that the final installed JAR file is a modified version with the +namespace prefixed by 'sun.' as in the proprietary Oracle JDK. This +avoids conflicts between the JDK's copy of Rhino and any used by other +applications. + +Building Additional Virtual Machines +==================================== + +Although IcedTea can be built multiple times to use a different virtual +machine, additional VMs can be built without building the other components +multiple times. + +On architectures where hotspot is available, use + --with-additional-vms=cacao,zero (or shark instead of zero) +on architectures where only zero (or shark) is available, use + --with-additional-vms=cacao +to build the additional VMs. It's not possible to build cacao as the +default VM, and zero as additional VM. +To build zero as the default VM and shark as an additional VM, use + --enable-zero --with-additional-vms=shark + +The additional VMs are available by calling the java with the option +`-cacao', `-zero' or `-shark', or by calling the java tools with +`-J-'. If the build was configured with '--enable-shark', +use `-Xint' to just use the zero VM. + +Please note that using this feature does not do as extensive testing +of the VM as would enabling it in the default full bootstrap mode, +which compiles IcedTea and then recompiles it using the just-built +image. diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c Makefile.am --- a/Makefile.am Fri Jul 23 11:51:57 2010 -0400 +++ b/Makefile.am Mon Jul 26 09:38:47 2010 +0100 @@ -278,12 +278,13 @@ ICEDTEA_PATCHES = \ patches/icedtea-jtreg-httpTest.patch \ patches/arm.patch \ patches/shark-debug-option.patch \ - patches/openjdk/6678385.patch \ From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 05:00:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 12:00:34 +0000 Subject: [Bug 450] TinyLaF 1.4.0 generated gui rendered incorrect using IcedTea6 1.8pre (6b18~pre1-1ubuntu1) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=450 dlila at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dlila at redhat.com |.org | ------- Comment #6 from dlila at redhat.com 2010-07-26 12:00 ------- Marcin: Thank you for all your work. If this is caused by drawing lines of 0 length, then this may be related to these bugs: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=383 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=197 In which case, we already have a patch for it. I tried to commit it to openjdk, but some important issues came up. Now that you have brought this to my attention, I will just get it into icedTea, and see if it solves the problem. Btw, why is AA rendering and curved lines awful in openjdk? I know AA can be far slower compared to proprietary java in some cases, and curved lines are first put through a flattening iterator before being widened, but are there any other reasons? Thanks again, Denis. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Mon Jul 26 06:58:30 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Mon, 26 Jul 2010 09:58:30 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 477 In-Reply-To: <826642411.1493641280152423881.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <938310512.1495111280152710035.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Dr Andrew John Hughes" wrote: > On 23 July 2010 19:27, wrote: > > > > ----- "Andrew Haley" wrote: > > > >> On 07/23/2010 05:10 PM, jon.vanalten at redhat.com wrote: > >> > Urp. ?"hg add" helps. ?Here is proper patch, with full contents. > >> > > >> > ----- "jon vanalten" wrote: > >> > > >> >> Hello all, > >> >> > >> >> This patch eliminates a NPE in swing. ?It has been accepted in > >> >> upstream jdk7. ?I'd like to add it to IcedTea6 while we wait for > it > >> to > >> >> percolate down to an openjdk6 release. ?OK to push? > >> > >> Looks good. > >> > >> Thanks, > >> Andrew. > > > > Thanks Andrew. ?Pushed to IcedTea6 HEAD > http://icedtea.classpath.org/hg/icedtea6/rev/6bf6ff2ad1ea > > > > Thanks for doing this. > > There is no defined process 'for it to percolate down to an openjdk6 > release'. You need to explictly request permission for the backport > from Joe Darcy on the jdk6-dev list, as, in my experience, these > things don't tend to happen automatically. Of course. :) I was thinking of allowing it a bit more steep time in 7 first. jon From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 08:18:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 15:18:37 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 ------- Comment #4 from dbhole at redhat.com 2010-07-26 15:18 ------- This is fixed in HEAD and will be fixed in the next IcedTea update. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 08:41:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 15:41:37 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 ------- Comment #5 from gnu_andrew at member.fsf.org 2010-07-26 15:41 ------- Deepak, if so please set this to FIXED and the target milestone please. If it's a dupe of another bug that already has that information, then close it as such. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 10:13:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 17:13:49 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 dbhole at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.8.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From andrew at icedtea.classpath.org Mon Jul 26 12:47:14 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 19:47:14 +0000 Subject: /hg/release/icedtea6-1.6: 5 new changesets Message-ID: changeset 07fdd12537a6 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=07fdd12537a6 author: Andrew John Hughes date: Wed Jul 21 18:17:59 2010 +0100 Update the README. 2010-07-21 Andrew John Hughes * README: Updated. changeset c64dd66292db in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=c64dd66292db author: Andrew John Hughes date: Mon Jul 26 18:43:33 2010 +0100 Update INSTALL documentation and configure help. 2010-07-21 Andrew John Hughes * INSTALL: Updated, with documentation of new options and removal of outdated information. * acinclude.m4: (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} in configure help, replacing it with the value used. * configure.ac: Fix default in configure help for NIO2 and plugin options. changeset c79bef6a3406 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=c79bef6a3406 author: Andrew John Hughes date: Mon Jul 26 18:53:50 2010 +0100 Backport S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. 2010-07-25 Andrew John Hughes * Makefile.am: Add patch. * patches/openjdk/6668231-ssl_cert.patch: Backport SSL certificate fix 'Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks'. * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/crisubn.jks, * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/trusted.jks: Keystores for the new test introduced by this patch. changeset ed41571c551a in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=ed41571c551a author: Andrew John Hughes date: Sun Jul 25 22:36:52 2010 +0100 Backpatch S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing class CompoundBorder method getBorderInsets. * Makefile.am: Include above patch. changeset a8565028983e in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=a8565028983e author: Andrew John Hughes date: Mon Jul 26 20:47:07 2010 +0100 Update NEWS prior to release. 2010-07-25 Andrew John Hughes * NEWS: Updated. diffstat: 8 files changed, 548 insertions(+), 191 deletions(-) ChangeLog | 38 ++ INSTALL | 432 +++++++++++++++++++++++-------- Makefile.am | 4 NEWS | 29 +- README | 121 +++----- acinclude.m4 | 6 configure.ac | 10 patches/openjdk/6963870-swing_npe.patch | 99 +++++++ diffs (truncated from 947 to 500 lines): diff -r 3ac8e6470d4f -r a8565028983e ChangeLog --- a/ChangeLog Wed Jul 21 17:39:05 2010 +0100 +++ b/ChangeLog Mon Jul 26 20:47:07 2010 +0100 @@ -1,3 +1,41 @@ 2010-07-21 Andrew John Hughes + + * NEWS: Updated. + +2010-07-23 Jon VanAlten + + * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for + upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing + class CompoundBorder method getBorderInsets. + * Makefile.am: Include above patch. + +2010-07-25 Andrew John Hughes + + * Makefile.am: Add patch. + * patches/openjdk/6668231-ssl_cert.patch: + Backport SSL certificate fix 'Presence of a + critical subjectAltName causes JSSE's SunX509 to + fail trusted checks'. + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks, + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks: + Keystores for the new test introduced by this patch. + +2010-07-21 Andrew John Hughes + + * INSTALL: Updated, with documentation + of new options and removal of outdated information. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. + (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. + (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} + in configure help, replacing it with the value used. + * configure.ac: + Fix default in configure help for NIO2 and plugin options. + +2010-07-21 Andrew John Hughes + + * README: Updated. + 2010-07-21 Andrew John Hughes Backport documentation patches to avoid documentation diff -r 3ac8e6470d4f -r a8565028983e INSTALL --- a/INSTALL Wed Jul 21 17:39:05 2010 +0100 +++ b/INSTALL Mon Jul 26 20:47:07 2010 +0100 @@ -7,8 +7,10 @@ a default location. The build requirements are as follows: -GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95) -Eclipse Java Compiler +A bootstrap JDK, either: + - GNU libgcj 4.3.0 (or equivalent class library based on GNU Classpath >= 0.95) for --with-gcj-home mode (the default) + - IcedTea6 for --with-openjdk mode +Eclipse Java Compiler (ecj) CUPS libX11 (libXp, libXtst, libXi, libXt) Freetype2 @@ -27,96 +29,344 @@ libXinerama-devel libXinerama-devel giflib-devel libpng-devel -libjpeg-devel = 6b +libjpeg-devel >= 6b zlib-devel +xulrunner-devel (can be disabled using --disable-plugin) rhino (can be disabled using --without-rhino) - -For building the PulseAudio based mixer, you will need -pulseaudio-libs-devel >= 0.9.11 - -For building VisualVM, you will need -netbeans = 6.5 - -For building the zero-assembler port (see below), you will need libffi. - -For building the Shark JIT, you will need LLVM 2.5 or current SVN. - -For building with systemtap support (--enable-systemtap), you will need -systemtap-sdt-devel (available since systemtap 0.9.5). This also needs -the --with-abs-install-dir configure option to make sure the hotspot.stp.in -tapset gets the correct installation location for the libjvm.so, it -defaults to the root of the j2sdk-image build dir otherwise (but then -you cannot move that to another location without adjusting the paths -in the tapset/hotspot.stp file. For example: - --enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk -(Java method tracing works starting with systemtap 0.9.9) +libffi (for --enable-zero or on archs other than x86/x86_64/sparc) +pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) +LLVM 2.5 or later (for --enable-shark) +systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9) +netbeans = 6.5 (for --enable-visualvm) See ./configure --help if you need to override the defaults. -To bootstrap IcedTea with ecj and a Classpath-based JDK such as GCJ: -autoreconf +To bootstrap IcedTea with ecj and a GNU Classpath-based JDK: +./autogen.sh ./configure make -To build IcedTea with an older version of IcedTea or OpenJDK, use: -autoreconf -./configure --with-openjdk - to specify the location use --with-openjdk=/path/to/icedtea] +The following locations are checked for a GNU Classpath-based JDK: + * /usr/lib/jvm/java-gcj + * /usr/lib/jvm/gcj-jdk + * /usr/lib/jvm/cacao +in that order. + +To build IcedTea with an older version of IcedTea6, use: +./autogen.sh +./configure --with-openjdk make -There is currently no install target. +The following locations are checked for an IcedTea6 JDK: + * /usr/lib/jvm/java-openjdk + * /usr/lib/jvm/icedtea6 + * /usr/lib/jvm/java-6-openjdk + * /usr/lib/jvm/openjdk + * /usr/lib/jvm/java-icedtea +in the order given above. -IcedTea ends up in openjdk/build/- when the build completes. -Example instantiations of - include linux-i586, linux-amd64 and linux-ppc64. +Note that IcedTea7 can not be used to build IcedTea6. -Rebuilding The IcedTea Plugs ----------------------------- +There is currently no install target. IcedTea ends up in +openjdk/build/- when the build completes. Example +instantiations of - include linux-i586, linux-amd64 and +linux-ppc64. -When IcedTea is initially built, it creates stamp files in the stamps directory -to determine what and when dependencies were compiled. For example, to rebuild -the rt plugs certain files need to be deleted before restarting the build. +Most targets in IcedTea creat stamp files in the stamps directory to +determine what and when dependencies were compiled. Each target has a +corresponding clean-x target which removes the output and the stamp +file, allowing it to be rebuilt. For example, stamps/rt.stamp (alias +rt) builds the bootstrap classes needed in the bootstrap build and +clean-rt removes the classes and the stamp file. - - If the rt plugs have been modified, delete stamps/rt-class-files.stamp. - - If a new class has been added to the rt plugs, delete - rt-source-files.txt so it can be recreated with the new class list. +Build Modification Options +========================== -To view all targets that create stamp files, see -Makefile.am (section 'All Stamped Targets'). +The build process may be modified by passing the following options +to configure: -The Zero Assembler Port ------------------------ +* --disable-docs: Don't build the Javadoc documentation. +* --with-openjdk-src-dir: Copy the specified OpenJDK tree, rather than + downloading and extracting a tarball. +* --disable-optimizations: Build with -O0. +* --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than + downloading and extracting a tarball. +* --with-gcj: Compile ecj to native code with gcj prior to building. +* --with-openjdk: Perform a quick (no bootstrap) build using an installed + copy of IcedTea6. If a directory is not specified, a check against + the list presented above is performed. +* --with-parallel-jobs: Run the specified number of parallel jobs when + building HotSpot and the JDK. +* --with-netbeans-home: The location of NetBeans for use in the VisualVM build, + defaults to /usr/share/netbeans. +* --with-ant-home: The location of Ant, defaults to /usr/share/ant. +* --with-pkgversion=PKG: Include the specified distro package information in + the output of java -version. +* --with-gcj-home: Perform a full bootstrap build using an installed + copy of a GNU Classpath JDK such as gcj. If a directory is not specified, + a check against the list presented above is performed. +* --with-java: Specify the location of a 'java' binary. By default, the path + is checked for gij and java. +* --with-ecj: Specify the location of a 'ecj' binary. By default, the path + is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3. +* --with-javac: Specify the location of a 'javac' binary. By default, the path + is checked for javac. +* --with-jar: Specify the location of a 'jar' binary. By default, the path + is checked for gjar and jar. +* --with-javah: Specify the location of a 'javah' binary. By default, the path + is checked for gjavah and javah. +* --with-rmic: Specify the location of a 'rmic' binary. By default, the path + is checked for grmic and rmic. +* --with-ecj-jar: Specify the location of an ecj JAR file. By default, the + following paths are checked: + - /usr/share/java/eclipse-ecj.jar + - /usr/share/java/ecj.jar + - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar +* --with-xalan2-jar: Specify the location of a xalan2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xalan-j2.jar + - /usr/share/java/xalan2.jar + - /usr/share/xalan/lib/xalan.jar +* --with-xalan2-serializer-jar: Specify the location of a xalan2 serializer JAR file. + By default, the following paths are checked: + - /usr/share/java/xalan-j2-serializer.jar + - /usr/share/xalan-serializer/lib/serializer.jar + - /usr/share/java/serializer.jar +* --with-xerces2-jar: Specify the location of a xerces2 JAR file. By default, the + following paths are checked: + - /usr/share/java/xerces-j2.jar + - /usr/share/java/xerces2.jar + - /usr/share/xerces-2/lib/xercesImpl.jar + - /usr/share/java/xercesImpl.jar +* --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading. +* --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading. +* --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built. +* --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading + and building one. +* --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading. +* --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option. +* --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. +* --with-netbeans: Specify the location of NetBeans for VisualVM, defaulting to the netbeans on the path. +* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. -Gary Benson has developed a port of the interpreter included in the -HotSpot virtual machine which avoids using any assembly language. As -a pure C++ interpreter, it should be possible to build this on most -architectures and have a working (albeit slow) version of OpenJDK. -Successful builds have been made on ppc, ppc64 and arm. The zero -assembler port is enabled by default on platforms other than x86, -x86_64 and sparc. To enable it on these platforms, use the ---enable-zero option. +Other options may be supplied which enable or disable new features. +These are documented fully in the relevant section below. -Gary is now working on a JIT called Shark to provide better -performance on platforms which need to use the zero port. A -preliminary version of this is now included with IcedTea and can be -built with the --enable-shark option. +* --enable-visualvm: Build VisualVM. +* --enable-pulse-java: Build the PulseAudio sound provider. +* --disable-xrender: Don't include the XRender pipeline. +* --enable-nio2: Include the NIO2 backport. +* --enable-systemtap: Include support for tracing using systemtap. +* --enable-nss: Enable the NSS security provider. +* --enable-cacao: Replace HotSpot with the CACAO VM. +* --enable-shark: Build the Shark LLVM-based JIT. +* --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms. +* --enable-plugin: Build the browser plugin. +* --enable-npplugin: Build the new NPPlugin. +* --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. +* --with-rhino: Include Javascript support using Rhino. +* --with-additional-vms=vm-list: Additional VMs to build using the system described + below. + +Testing +======= + +IcedTea6 includes support for running the test suite included with +OpenJDK, using the in-tree copy of JTReg. Invoking 'make check' will +cause the HotSpot, JDK and langtools test suites to be run. The +individual test suites may be run using the check-hotspot, check-jdk +and check-langtools targets respectively. + +VisualVM +======== + +IcedTea6 supports the downloading and compilation of VisualVM 1.1.1 +via the --enable-visualvm option. This requires NetBeans 6.5. The +build takes place following that of IcedTea, which is used to compile +VisualVM, and the result is installed in the SDK image created by the +OpenJDK build (i.e. openjdk/build/-/j2sdk-image). + +The PulseAudio provider +======================= + +IcedTea6 includes an implementation of the javax.sound.* APIs using +PulseAudio which can be enabled using --enable-pulse-java. The resulting +provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. + +Xrender Support +=============== + +IcedTea6 includes support for an Xrender-based rendering pipeline +developed by Clemens Eisserer (http://linuxhippy.blogspot.com/). This +is compiled by default, and can be disabled using --disable-xrender. +To actually use the pipeline, the sun.java2d.xrender property needs to +be set to true, e.g. by passing the -Dsun.java2d.xrender=True option +to java. + +NIO2 Backport +============= + +IcedTea6 includes a backport of NIO2 from OpenJDK7; see +http://openjdk.java.net/projects/nio/. This provides support for +asynchronous I/O and an improved file system API, providing access to +POSIX file permissions, timestamps, extended attributes and ACLs and +allowing directories to be watched. This is enabled using the +--enable-nio2 option. + +As new classes can not be added to the java.* and javax.* namespace of +the 1.6 API, the new java.nio classes are contained in +org.classpath.icedtea.java.nio, so code will needed to be adjusted to +work with the backport. + +SystemTap +========= + +IcedTea6 includes work to allow the existing DTrace probes included in +OpenJDK to be used with SystemTap. This is enabled using the +--enable-systemtap option, and requires version 0.9.5 or later (0.9.9 +or later if you want Java method tracing). The tapset needs to know +the final install location of the JDK, so the --with-abs-install-dir +should also be used to specify this. If not set, it defaults to the +in-tree location of openjdk/build/-/j2sdk-image and requires +manual changes to tapset/hotspot.stp to work from elsewhere. For +example, if you plan to install the resulting build in +/usr/lib/jvm/java-1.6.0-openjdk, then you should specify +--enable-systemtap +--with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk. + +NSS Security Provider +===================== + +OpenJDK includes an NSS-based security provider in the form of +sun.security.pkcs11.SunPKCS11. However, as this needs to know the +location of the NSS installation it should use, it is not enabled +in normal OpenJDK builds. As IcedTea can detect NSS using configure, +it can simplify the process of enabling this provider. If --enable-nss +is specified, then a configuration file for the NSS provider will be +generated and installed, and the provider turned on. CACAO ------ +===== -The CACAO virtual machine (http://cacaovm.org) can be used as an -alternative to the HotSpot virtual machine. One advantage of this is -that it already provides a JIT for many platforms to which HotSpot has -not yet been ported, including ppc, ppc64, arm and mips. To use CACAO -as the VM, use the --with-cacao option. This will download CACAO -0.99.3 during the build. To use a different version, use ---with-cacao-home= to point to an existing installation which use -the Sun VM interface. +IcedTea6 can use CACAO as the virtual machine, as opposed to HotSpot. +One advantage of this is that CACAO has a JIT implementation for +more platforms than HotSpot, including ppc, ppc64, arm and mips. +When --enable-cacao is specified, CACAO will be downloaded and built, +followed by the JDK portion of OpenJDK resulting in a CACAO+OpenJDK +image in openjdk/build/-/j2sdk-image. The --with-cacao-home +option can be used to specify the use of an existing CACAO install +instead, and --with-cacao-src-zip/dir options exist to allow the use +of a pre-downloaded zip or source tree respectively. -Building additional virtual machines ------------------------------------- +Zero & Shark +============ + +IcedTea6 includes a zero assembler port of HotSpot, which avoids +architecture-specific code as much as possible, allowing an +interpreter to be built and run on most platforms (albeit very +slowly). As HotSpot only includes JITs for x86, x86_64 and SPARC, the +zero assembler port is automatically enabled on all other +architectures. On x86, x86_64 and SPARC, it may be built using +--enable-zero. + +To overcome the performance issues inherent in zero, a LLVM-based JIT +called Shark has been developed. This performs Just-In-Time compilation +on any architecture supported by LLVM. To enable it, pass the option +--enable-shark to configure. Please note that Shark is still in +development and builds are still likely to fail at present. + +Please also note that HotSpot 14 (the default) must be used with Zero +and Shark. We don't support the use of HotSpot 11. See the +documentation of the hotspot-build option below for more details. + +The Browser Plugin +================== + +IcedTea6 currently includes two browser plugins; a new plugin based on +NPRuntime and an older deprecated plugin used in previous releases. +By default, neither will be built as the plugin is no longer supported +or maintained as part of the IcedTea6 1.6 series. To use the plugin, +we recommend you upgrade to at least IcedTea6 1.7.4, where the new +NPPlugin will be built by default. + +If you do wish to enable the plugin in this release, it can be built +by passing the --enable-npplugin option to configure for the new +NPPlugin or --enable-plugin for the old plugin. + +For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be +set to 'true'. This will produce output on the console from the C++ +side, and output from the Java side in $HOME/.icedteaplugin/java.stdout +and $HOME/.icedteaplugin/java.stderr. It also starts the debug server +on port 8787. + +Support for Different Versions of HotSpot +========================================= + +IcedTea allows the version of HotSpot provided with the upstream build +drop to be replaced with another. Support for this is provided by the +--with-hotspot-build option which causes IcedTea to probe the +hotspot.map file for an entry with the given build name. The +hotspot.map file maps the name to a changeset from a given repository +URL. During the build, it downloads HotSpot from +${URL}/archive/${CHANGESET}.tar.gz and the resulting file is verified +using the MD5 sum stored in hotspot.map. + +New build selections may be provided by providing further mappings in +the hotspot.map file. The name can be anything +e.g. 'shiny_new_hotspot'. This is simply used to map the argument to +--with-hotspot-build to the values in the file and to apply +appropriate patches (see patches/hotspot, $HSBUILD is available in +Makefile.am for obtaining the build name). The special value +'original' is used for patches/hotspot/original to denote those for +the upstream HotSpot; this value does not appear in hotspot.map. + +The changeset and URL should refer to a valid HotSpot tree when used +as above. The required values can be obtained from a local checkout +or by using the web interface. The simplest way to calculate the MD5 +sum is to download the tarball and then run the 'md5sum' application +on it. The resulting value should be added to hotspot.map. + +As with the OpenJDK build tarballs, the location of an alternate zip +can be specified using --with-hotspot-src-zip. This skips the +download stage and just verifies that the zip's MD5 sum matches that +of the requested build. + +At present, two versions of HotSpot are officially supported. These +are HotSpot 11 ('original') which is provided by the upstream OpenJDK +tarball, and 'default', which is used in hotspot.map to provide the +latest version of HotSpot 14. Thus, either no hotspot-build option, +--with-hotspot-build without an argument or +--with-hotspot-build=default provides the latest supported hs14, while +--without-hotspot-build or --with-hotspot-build=original uses the +upstream HotSpot. + +Note that HotSpot 11 ('original') is not supported for use with Zero +or Shark. + +Javascript Support +================== + +IcedTea6 adds Javascript support via the javax.script API by using +an existing installation of Rhino. Support is enabled by default, +with the following locations being searched for a Rhino JAR file: + +* /usr/share/java/rhino.jar +* /usr/share/java/js.jar +* /usr/share/rhino-1.6/lib/js.jar + +A JAR file can instead be specified using the --with-rhino option, +or support may be disabled by specifying --without-rhino. + +Note that the final installed JAR file is a modified version with the +namespace prefixed by 'sun.' as in the proprietary Oracle JDK. This +avoids conflicts between the JDK's copy of Rhino and any used by other +applications. + +Building Additional Virtual Machines +==================================== Although IcedTea can be built multiple times to use a different virtual -machine, addtional VM's can be built without building the other components +machine, additional VMs can be built without building the other components multiple times. On architectures where hotspot is available, use @@ -125,46 +375,10 @@ on architectures where only zero (or sha --with-additional-vms=cacao to build the additional VM's. It's not possible to build cacao as the default VM, and zero as additional VM. +To build zero as the default VM and shark as an additional VM, use + --enable-zero --with-additional-vms=shark The additional VM's are available by calling the java with the option -`-cacao' or `-zero' (for shark as well), or by calling the java tools with -`-J-'. - -Support for different versions of HotSpot ------------------------------------------ - -IcedTea allows the version of HotSpot provided with the upstream build -drop to be replaced with another. Support this is provided by the ---with-hotspot-build option which causes IcedTea to probe the -hotspot.map file for an entry with the given build name. The -hotspot.map file maps the name to a changeset from the repository -http://hg.openjdk.java.net/hsx/hsx14/master/ which it downloads from -http://hg.openjdk.java.net/hsx/hsx14/master/archive/${CHANGESET}.tar.gz. -The resulting download is verified using the MD5 sum stored in -hotspot.map. - -New build selections may be provided by providing further mappings in -the hotspot.map file. The name can be anything -e.g. 'shiny_new_hotspot'. This is simply used to map the argument to ---with-hotspot-build to the values in the file and to apply From andrew at icedtea.classpath.org Mon Jul 26 12:51:40 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 19:51:40 +0000 Subject: /hg/release/icedtea6-1.7: Fix details and position of policy eva... Message-ID: changeset 7763083fc25d in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=7763083fc25d author: Andrew John Hughes date: Mon Jul 26 20:51:29 2010 +0100 Fix details and position of policy evaluation fix. 2010-07-26 Andrew John Hughes * NEWS: Fix position of policy evaluation fix and add bug IDs. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ NEWS | 2 +- diffs (31 lines): diff -r 81bc6674c223 -r 7763083fc25d ChangeLog --- a/ChangeLog Sun Jul 25 22:43:38 2010 +0100 +++ b/ChangeLog Mon Jul 26 20:51:29 2010 +0100 @@ -1,3 +1,8 @@ 2010-07-25 Andrew John Hughes + + * NEWS: Fix position of policy evaluation fix + and add bug IDs. + 2010-07-25 Andrew John Hughes * NEWS: Update with list of backported diff -r 81bc6674c223 -r 7763083fc25d NEWS --- a/NEWS Sun Jul 25 22:43:38 2010 +0100 +++ b/NEWS Mon Jul 26 20:51:29 2010 +0100 @@ -14,6 +14,7 @@ New in release 1.7.4 (2010-XX-XX): * S6879689: Fix warning about ignored return value when compiling with -O2 * S6917485: Corba doc warnings. * S6921068: Remove javadoc build warnings from specdefault tag. +* PR453, OJ100142: Fix policy evaluation to match the proprietary JDK. * Make the new plugin the default. This is now the main supported plugin. Use --disable-npplugin to use the old one. * New plugin: @@ -39,7 +40,6 @@ New in release 1.7.4 (2010-XX-XX): - Don't link the plugin with libxul libraries. - Fix race conditions in plugin initialization code that were causing hangs. - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. - - Fix policy evaluation to match the proprietary JDK. - PR491: pass java_{code,codebase,archive} parameters to Java. - Adds javawebstart.version property and give user permission to read that property. * NetX: From andrew at icedtea.classpath.org Mon Jul 26 12:54:19 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 19:54:19 +0000 Subject: /hg/release/icedtea6-1.6: Add missing bug IDs for policy evaluat... Message-ID: changeset f8d27fcc8cb9 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f8d27fcc8cb9 author: Andrew John Hughes date: Mon Jul 26 20:54:12 2010 +0100 Add missing bug IDs for policy evaluation fix. 2010-07-26 Andrew John Hughes * NEWS: Add bug IDs to policy evaluation fix. diffstat: 2 files changed, 6 insertions(+), 2 deletions(-) ChangeLog | 6 +++++- NEWS | 2 +- diffs (26 lines): diff -r a8565028983e -r f8d27fcc8cb9 ChangeLog --- a/ChangeLog Mon Jul 26 20:47:07 2010 +0100 +++ b/ChangeLog Mon Jul 26 20:54:12 2010 +0100 @@ -1,4 +1,8 @@ 2010-07-25 Andrew John Hughes +2010-07-26 Andrew John Hughes + + * NEWS: Add bug IDs to policy evaluation fix. + +2010-07-26 Andrew John Hughes * NEWS: Updated. diff -r a8565028983e -r f8d27fcc8cb9 NEWS --- a/NEWS Mon Jul 26 20:47:07 2010 +0100 +++ b/NEWS Mon Jul 26 20:54:12 2010 +0100 @@ -28,8 +28,8 @@ New in release 1.6.3 (2010-03-30) - Add stack markings to the x86 assembly so as not to use executable stack. - PR179: Rewrite Rhino class files to avoid bootclasspath issue - PR356: Support ECC via NSS +- PR453, OJ100142: Fix policy evaluation to match the proprietary JDK. - Backport tzdata support from 1.8 (--with-tzdata-dir). -- Fix policy evaluation to match the proprietary JDK. - Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code - S6678385, RH551835: Fixes JVM crashes when window is resized. - S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. From andrew at icedtea.classpath.org Mon Jul 26 13:51:30 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 20:51:30 +0000 Subject: /hg/release/icedtea6-1.6: Set date of 1.6.3 release. Message-ID: changeset 8674f9329175 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=8674f9329175 author: Andrew John Hughes date: Mon Jul 26 21:51:22 2010 +0100 Set date of 1.6.3 release. 2010-07-26 Andrew John Hughes * NEWS: Set date of 1.6.3 release. diffstat: 2 files changed, 5 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ NEWS | 2 +- diffs (20 lines): diff -r f8d27fcc8cb9 -r 8674f9329175 ChangeLog --- a/ChangeLog Mon Jul 26 20:54:12 2010 +0100 +++ b/ChangeLog Mon Jul 26 21:51:22 2010 +0100 @@ -1,3 +1,7 @@ 2010-07-26 Andrew John Hughes + + * NEWS: Set date of 1.6.3 release. + 2010-07-26 Andrew John Hughes * NEWS: Add bug IDs to policy evaluation fix. diff -r f8d27fcc8cb9 -r 8674f9329175 NEWS --- a/NEWS Mon Jul 26 20:54:12 2010 +0100 +++ b/NEWS Mon Jul 26 21:51:22 2010 +0100 @@ -1,4 +1,4 @@ New in release 1.6.3 (2010-03-30) -New in release 1.6.3 (2010-03-30) +New in release 1.6.3 (2010-07-26) - Enable debuginfo for saproc and jsig - Add missing mkbc.c - Increase ThreadStackSize by 512kb on 32-bit Zero platforms From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 15:22:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 22:22:39 +0000 Subject: [Bug 524] New: OpenOffice crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=524 Summary: OpenOffice crash Product: IcedTea Version: unspecified Platform: x86_64 OS/Version: Linux Status: NEW Severity: major Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: p.nikolic1 at btinternet.com # A fatal error has been detected by the Java Runtime Environment: # # SIGFPE (0x8) at pc=0x00007f76eb2e597c, pid=26810, tid=140148904249120 # # JRE version: 6.0_17-b17 # Java VM: OpenJDK 64-Bit Server VM (14.0-b16 mixed mode linux-amd64 ) # Derivative: IcedTea6 1.7.3 # Distribution: Custom build (Mon Jul 5 23:33:10 UTC 2010) # Problematic frame: # C [libQtGui.so.4+0x4a097c] _ZNK12QCommonStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget+0x3bc # # An error report file with more information is saved as: # /home/pete/Documents/hs_err_pid26810.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 15:24:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 22:24:56 +0000 Subject: [Bug 524] OpenOffice crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=524 p.nikolic1 at btinternet.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |p.nikolic1 at btinternet.com ------- Comment #1 from p.nikolic1 at btinternet.com 2010-07-26 22:24 ------- this happens every single time on a completely fresh install of Opensuse 11.3 x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Mon Jul 26 15:57:03 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Mon, 26 Jul 2010 23:57:03 +0100 Subject: IcedTea6 1.6.3 Released! Message-ID: <20100726225703.GD2400@rivendell.middle-earth.co.uk> We are pleased to announce a new minor release from the IcedTea6 1.6 branch, 1.6.3. The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. *********************************************************************************** * Please note that although a version of our Free Software plugin and Web Start * * implementation are included with the 1.6.3 release, this version is no longer * * supported or maintained. For plugin and Web Start usage, we recommend that you * * upgrade to the 1.7 or 1.8 release series. * *********************************************************************************** What?s New? ?????? - Enable debuginfo for saproc and jsig - Add missing mkbc.c - Increase ThreadStackSize by 512kb on 32-bit Zero platforms - Make the original HotSpot build work for normal builds and disable Zero/Shark builds with it - Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) - (CVE-2009-3555): TLS: MITM attacks via session renegotiation - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? - Add stack markings to the x86 assembly so as not to use executable stack. - PR179: Rewrite Rhino class files to avoid bootclasspath issue - PR356: Support ECC via NSS - PR453, OJ100142: Fix policy evaluation to match the proprietary JDK. - Backport tzdata support from 1.8 (--with-tzdata-dir). - Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code - S6678385, RH551835: Fixes JVM crashes when window is resized. - S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. - S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets. - S4891262: API spec, javax/accessibility: few invalid javadoc tags. - S6737212: Fixed javadoc warning messages in RowSet classes. - S6875861: javadoc build warning on java.util.Properites from unconventional @see ordering. - S6909563: Javadoc build warnings in rmi, security, management. - S6879689: Fix warning about ignored return value when compiling with -O2 - S6917485: Corba doc warnings. - S6921068: Remove javadoc build warnings from specdefault tag. - S6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock * SystemTap support: - Enable SystemTap JNI tracing. - Add SystemTap jstack support. - PR476: Enable building SystemTap support on GCC 4.5. - Fix HotSpot tapset object_alloc size variable. - Fix JNI DEFINE_NEWSCALARARRAY usage of DT_RETURN_MARK_DECL_FOR. - Add hotspot_jni tapset. - tapsets/hotspot.stp.in (hotspot.gc_end): Match gc__end, not begin. * PulseAudio: - Corrected Pulse Audio library build on PPC32 and PPC64 The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.6.3.tar.gz sha256sum: 5b5ca9c5bc670b3d380a495d04fec26f6af569e36a5cd7e96f51c676fbbc96ab The following people helped with the 1.6 release series: Lillian Angel, Gary Benson, Deepak Bhole, Kees Cook, Andrew Haley, Andrew John Hughes, Matthias Klose, Martin Matejovic, Ed Nevill, Pavel Tisnovsky, Jon VanAlten, Mark Wielaard and many others. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.6.3.tar.gz $ cd icedtea6-1.6.3 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-zero --with-openjdk --enable-pulse-java --enable-systemtap ...] $ make -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 15:58:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 22:58:04 +0000 Subject: [Bug 524] OpenOffice crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=524 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Version|unspecified |6-1.7.3 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 26 16:00:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Jul 2010 23:00:05 +0000 Subject: [Bug 524] OpenOffice crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=524 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-07-26 23:00 ------- This crashes occurs in code outside OpenJDK: $ echo _ZNK12QCommonStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget+0x3bc|c++filt QCommonStyle::subControlRect(QStyle::ComplexControl, QStyleOptionComplex const*, QStyle::SubControl, QWidget const*) const+0x3bc How can you reproduce this crash? What is being run at the time of the crash? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Jul 26 16:01:57 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 26 Jul 2010 23:01:57 +0000 Subject: /hg/release/icedtea6-1.6: Added tag icedtea6-1.6.3 for changeset... Message-ID: changeset f96b5fc36263 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f96b5fc36263 author: Andrew John Hughes date: Mon Jul 26 23:38:19 2010 +0100 Added tag icedtea6-1.6.3 for changeset 8674f9329175 diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r 8674f9329175 -r f96b5fc36263 .hgtags --- a/.hgtags Mon Jul 26 21:51:22 2010 +0100 +++ b/.hgtags Mon Jul 26 23:38:19 2010 +0100 @@ -29,3 +29,4 @@ d36f851f90be2ca85975c6824242874215f57d41 d36f851f90be2ca85975c6824242874215f57d41 icedtea-1.6.1-release b343e04bf38fa44f52d5327d80af60b7c0705cad icedtea-1.6.1-release a2d5ec5e9724007d1084981a69d23fbc2adb7179 icedtea6-1.6.2 +8674f9329175c03dec08727355538edb6cab801a icedtea6-1.6.3 From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 02:38:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 09:38:22 +0000 Subject: [Bug 525] New: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 Summary: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Product: IcedTea Version: 6-hg Platform: 32-bit OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se testcase: cd openjdk/hotspot/test/compiler/6663621/ javac IVTest.java java IVTest This hotspot jtreg test triggers a sigsegv crash when running Shark on hs17 b20. This are a regression since icedtea6-1.8. This bug have been tested to be fully reproducable using Shark on ia32 and ARM. output on ARM: shark-b20-from-icedtea6-trunk/bin/java -XX:+PrintCompilation IVTest 1 IVTest::padV15 (23 bytes) 1% IVTest::padV15 @ 5 (23 bytes) 2% IVTest::main @ 14 (236 bytes) 2% made not entrant IVTest::main @ -2 (236 bytes) # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=3897, tid=1097798800 # Error: caught unhandled signal 11 # # JRE version: 6.0_20-b20 # Java VM: OpenJDK Shark VM (17.0-b16 mixed mode linux-arm ) # Derivative: IcedTea6 1.9pre+r6bf6ff2ad1ea # Distribution: Built on Debian GNU/Linux testing (squeeze) (Sat Jul 24 17:30:55 UTC 2010) # An error report file with more information is saved as: # /wd/test/hs_err_pid3897.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Aborted Output on X86: process 18256 is executing new program: /home/xerxes/icedtea6-shark-b20/openjdk.build/j2sdk-image/bin/java [Thread debugging using libthread_db enabled] [New Thread 0xb7fe5b70 (LWP 18259)] [New Thread 0x91a2db70 (LWP 18260)] [New Thread 0x919acb70 (LWP 18261)] [New Thread 0x9182bb70 (LWP 18262)] [New Thread 0x9166bb70 (LWP 18263)] [New Thread 0x914eab70 (LWP 18264)] [New Thread 0x91269b70 (LWP 18265)] [New Thread 0x912ffb70 (LWP 18266)] 1 sun.nio.cs.UTF_8$Decoder::decodeArrayLoop (553 bytes) 1% java.lang.String::hashCode @ 28 (60 bytes) 2 java.lang.String::charAt (33 bytes) 3 java.lang.String::indexOf (151 bytes) 2% sun.nio.cs.UTF_8$Encoder::encodeArrayLoop @ 73 (490 bytes) 4 IVTest::padV15 (23 bytes) 3% IVTest::main @ 14 (236 bytes) 3% made not entrant IVTest::main @ -2 (236 bytes) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7fe5b70 (LWP 18259)] 0x892cec83 in ?? () (gdb) bt #0 0x892cec83 in ?? () #1 0x003bf26f in ZeroEntry::invoke (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:56 #2 Interpreter::invoke_method (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #3 CppInterpreter::main_loop (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:95 #4 0x003bf42a in ZeroEntry::maybe_deoptimize (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:67 #5 ZeroEntry::invoke_osr (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:61 #6 Interpreter::invoke_osr (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:34 #7 CppInterpreter::main_loop (recurse=0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:152 ---Type to continue, or q to quit--- #8 0x003bffbe in CppInterpreter::normal_entry (method=0xb1fa5348, UNUSED=-1243197120, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:48 #9 0x005cb069 in ZeroEntry::invoke (call_wrapper=0xb7fe50c8, result=0xb7fe52f0, result_type=T_INT, method=0xb1fa5348, entry_point=0xb5e65140 "`\377;", parameters=0xb7fe51c4, parameter_words=1, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:56 #10 Interpreter::invoke_method (call_wrapper=0xb7fe50c8, result=0xb7fe52f0, result_type=T_INT, method=0xb1fa5348, entry_point=0xb5e65140 "`\377;", parameters=0xb7fe51c4, parameter_words=1, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #11 StubGenerator::call_stub (call_wrapper=0xb7fe50c8, result=0xb7fe52f0, result_type=T_INT, method=0xb1fa5348, entry_point=0xb5e65140 "`\377;", parameters=0xb7fe51c4, parameter_words=1, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:68 #12 0x004515d7 in JavaCalls::call_helper (result=0xb7fe52ec, m=0xb7fe5174, args=0xb7fe51c0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/share/vm/runtime/java---Type to continue, or q to quit--- Calls.cpp:387 #13 0x0053aeb4 in os::os_exception_wrapper ( f=0x451340 , value=0xb7fe52ec, method=0xb7fe5174, args=0xb7fe51c0, thread=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:4052 #14 0x0045036c in JavaCalls::call (result=0xb7fe52ec, method=..., args=0xb7fe51c0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:293 #15 0x0045d651 in jni_invoke_static (env=, result=, receiver=0x0, call_type=JNI_STATIC, method_id=0x80c03e0, args=0xb7fe52c0, __the_thread__=0x8070768) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/share/vm/prims/jni.cpp:1017 #16 0x0046baf0 in jni_CallStaticVoidMethod (env=0x8070880, cls=0x8072b6c, methodID=0x80c03e0) at /home/xerxes/icedtea6-shark-b20/openjdk/hotspot/src/share/vm/prims/jni.cpp:1589 #17 0x0804b12d in JavaMain (_args=0xbfffc220) at ../../../../src/share/bin/java.c:614 Dump of assembler code from 0x892cec73 to 0x892cec93: 0x892cec73: Cannot access memory at address 0x892cec73 (gdb) disassemble 0x892cec83,0x892cec93 Dump of assembler code from 0x892cec83 to 0x892cec93: => 0x892cec83: Cannot access memory at address 0x892cec83 (gdb) (11.06.35) xranby: gbenson: what does the -2 at 2% made not entrant IVTest::main @ -2 (236 bytes) mean? (11.09.39) gbenson: / Handy constants for deciding which compiler mode to use. (11.09.39) gbenson: enum MethodCompilation { (11.09.39) gbenson: InvocationEntryBci = -1, // i.e., not a on-stack replacement compilation (11.09.39) gbenson: InvalidOSREntryBci = -2 (11.09.39) gbenson: }; (11.09.47) gbenson: there's your -2 (11.09.52) gbenson: in src/share/vm/utilities/globalDefinitions.hpp (11.12.44) gbenson: 2% IVTest::main @ 14 (236 bytes) (11.12.44) gbenson: 2% made not entrant IVTest::main @ -2 (236 bytes) (11.12.56) gbenson: so it is compiled with one bci, but deoptimized with another (11.13.35) gbenson: ah, that's nmethod::invalidate_osr_method() (11.32.44) gbenson: xranby: it would be nice to see what -XX:+TraceDeoptimization says -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 04:48:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 11:48:38 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gbenson at redhat.com ------- Comment #1 from xerxes at zafena.se 2010-07-27 11:48 ------- java -XX:+TraceDeoptimization IVTest Uncommon trap occurred in IVTest::main (@0xb56bd234) thread=-1216451728 reason=unloaded action=reinterpret unloaded_class_index=40 unresolved class: java/io/PrintStream DEOPT PACKING thread 0x082189f8 Compiled frame (sp=0xb77e5fbc unextended sp=0xb77e5fb4, fp=0xb77e5fdc, pc=0xb56bd234) 3% nmethod IVTest::main @ -2 (236 bytes) Virtual frames (innermost first): 0 - frame( sp=0xb77e5fbc, unextended_sp=0xb77e5fb4, fp=0xb77e5fdc, pc=0xb56bd234) IVTest.main(IVTest.java:87) - invokevirtual @ bci 53 Created vframeArray 0x90b1c880 # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/vframeArray.cpp:414 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp:414), pid=24892, tid=3078515568 # Error: assert(method()->max_locals() == locals()->size(),"just checking") -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 04:55:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 11:55:42 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 ------- Comment #2 from xerxes at zafena.se 2010-07-27 11:55 ------- list of /icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp: int vframeArrayElement::on_stack_size(int callee_parameters, int callee_locals, bool is_top_frame, int popframe_extra_stack_expression_els) const { assert(method()->max_locals() == locals()->size(), "just checking"); int locks = monitors() == NULL ? 0 : monitors()->number_of_monitors(); int temps = expressions()->size(); return Interpreter::size_activation(method(), temps + callee_parameters, popframe_extra_stack_expression_els, locks, callee_parameters, callee_locals, is_top_frame); } backtrace for the assert: #5 0x00472f0a in report_assertion_failure (file_name=0x98adac "/home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp", line_no=414, message=0x98b1ac "assert(method()->max_locals() == locals()->size(),\"just checking\")") at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/utilities/debug.cpp:173 #6 0x007bb9e3 in vframeArrayElement::on_stack_size (this=0x91327f1c, callee_parameters=0, callee_locals=0, is_top_frame=true, popframe_extra_stack_expression_els=0) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp:414 #7 0x0047e553 in Deoptimization::fetch_unroll_info_helper (thread=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp:329 #8 0x004815e3 in Deoptimization::uncommon_trap (thread=0x8084968, trap_request=40) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp:1595 #9 0x00745832 in SharkRuntime::uncommon_trap (thread=0x8084968, trap_request=40) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/shark/sharkRuntime.cpp:208 #10 0x01b870ba in IVTest_3A__3A_main () #11 0x00472730 in ZeroEntry::invoke_osr (this=0xb5ebc220, method=0xb1fae1a8, osr_buf=0x913156c0 "\310", , __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:61 #12 0x004727db in Interpreter::invoke_osr (method=0xb1fae1a8, entry_point=0xb5ebc220 "\020n\270\001\273q\270\001\060\027\017\b \223 \bpy\340\261\314", , osr_buf=0x913156c0 "\310", , __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:34 #13 0x004702db in CppInterpreter::main_loop (recurse=0, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:152 #14 0x0046fe9c in CppInterpreter::normal_entry (method=0xb1fae1a8, UNUSED=-1243197120, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:48 #15 0x004726df in ZeroEntry::invoke (this=0xb5e65140, method=0xb1fae1a8, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:56 #16 0x004727a3 in Interpreter::invoke_method (method=0xb1fae1a8, entry_point=0xb5e65140 "4\376F", __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #17 0x0076226e in StubGenerator::call_stub (call_wrapper=0xb7fe50ac, result=0xb7fe52d4, result_type=T_INT, method=0xb1fae1a8, entry_point=0xb5e65140 "4\376F", parameters=0xb7fe51a0, parameter_words=1, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:68 #18 0x00535234 in JavaCalls::call_helper (result=0xb7fe52d0, m=0xb7fe5184, args=0xb7fe5198, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:387 #19 0x006b51d8 in os::os_exception_wrapper (f=0x534d9a , value=0xb7fe52d0, method=0xb7fe5184, args=0xb7fe5198, thread=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:4052 #20 0x00534d94 in JavaCalls::call (result=0xb7fe52d0, method=..., args=0xb7fe5198, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:293 #21 0x00547356 in jni_invoke_static (env=0x8084a9c, result=0xb7fe52d0, receiver=0x0, call_type=JNI_STATIC, method_id=0x80c4cdc, args=0xb7fe52a0, __the_thread__=0x8084968) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/prims/jni.cpp:1017 #22 0x00559721 in jni_CallStaticVoidMethod (env=0x8084a9c, cls=0x80870c0, methodID=0x80c4cdc) at /home/xerxes/icedtea6-shark-mixtech/openjdk/hotspot/src/share/vm/prims/jni.cpp:1589 #23 0x0804a1c4 in JavaMain (_args=0xbfffd228) at ../../../../src/share/bin/java.c:614 #24 0x0014796e in start_thread (arg=0xb7fe5b70) at pthread_create.c:300 #25 0x00232a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 05:00:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 12:00:53 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 ------- Comment #3 from xerxes at zafena.se 2010-07-27 12:00 ------- 414 assert(method()->max_locals() == locals()->size(), "just checking"); (gdb) call method()->max_locals() $1 = 8 (gdb) call locals()->size() $2 = 0 (gdb) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 05:04:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 12:04:51 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 ------- Comment #4 from xerxes at zafena.se 2010-07-27 12:04 ------- Created an attachment (id=396) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=396&action=view) hs_err_pid24929.log for assert at vframeArray.cpp:414 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 27 07:23:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Jul 2010 14:23:35 +0000 Subject: [Bug 290] plugin crash on amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=290 doko at ubuntu.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #6 from doko at ubuntu.com 2010-07-27 14:23 ------- works for me with the icedtea6 1.8 branch -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 02:00:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 09:00:00 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 ------- Comment #6 from riksoft at gmail.com 2010-07-28 08:59 ------- Yesterday Ubuntu system update included IcedTea, and now the problem has been solved! Great men!!! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From doko at icedtea.classpath.org Wed Jul 28 05:04:41 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:04:41 +0000 Subject: /hg/release/icedtea6-1.8: 9 new changesets Message-ID: changeset 764f3a27b98d in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=764f3a27b98d author: doko at ubuntu.com date: Sat Jul 24 00:45:34 2010 +0200 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/SecurityDesc.java: Converge all property permission settings info a single class. (getPermissions): Do not give read/write permissions to anything other than what is allowed by spec. (getSandBoxPermissions): Same. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove blanket imports. (installEnvironment): Write properties in a restricted AccessControlContext based on app specific permissions only. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (checkPermission): Remove all property permission decision making code and collapse it all into SecurityDesc.java. changeset 50249f734932 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=50249f734932 author: doko at ubuntu.com date: Sat Jul 24 00:46:24 2010 +0200 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Collapse extention loaders into baseloader rather than vice-verse. changeset 1c6ebab0ea7f in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=1c6ebab0ea7f author: doko at ubuntu.com date: Sat Jul 24 00:49:21 2010 +0200 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Prompt user if the main app code is signed, but the extentions aren't. (initializeResources): Prompt user if there are any unsigned jars mixed with signed jars. * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. Dialog shown to user if the main app code is signed but the extentions aren't. * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier object. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added dialog and accesstype enum elements for a 'Not all jars signed' case. (showNotAllSignedWarningDialog): New function. Prompts the user if the main app code is signed but the extentions aren't. (createDialog): Wire in the 'Not all jars signed' case. (updateUI): Same. * netx/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New function. Returns if there are any unsigned jars. changeset 9257ba041f18 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=9257ba041f18 author: doko at ubuntu.com date: Sat Jul 24 00:50:12 2010 +0200 2010-07-22 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Collapse new loader paths into base loader. * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check if calling code is trusted all the way to the end. If it isn't, prompt user. changeset e59670bc8db8 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=e59670bc8db8 author: doko at ubuntu.com date: Sat Jul 24 00:51:39 2010 +0200 2010-07-22 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new HashMap to map source locations to security descriptors for that location. (getInstance): Use the new merge() method to merge loader data. (initializeResources): Add map entries to the new jarLocationSecurityMap. (getPermissions): Decide permissions based on security descriptor associated with the calling code, rather than with the jnlp file. (getCodeSourceSecurity): New method. Returns the security descriptor associated with the given code source URL. (merge): New method. Merges loader classpaths, native dir paths, and security descriptor mappings. changeset a6cb78541643 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=a6cb78541643 author: doko at ubuntu.com date: Sat Jul 24 00:52:38 2010 +0200 2010-07-22 Deepak Bhole * t/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum to track verification status. (verifyJars): Mark jar unverified only if it has no signature. (verifyJar): Use new verifyResult enum to return status based on if jar is unsigned, signed but with errors, or signed and ok. changeset 7c6d03b64403 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=7c6d03b64403 author: doko at ubuntu.com date: Sat Jul 24 00:53:53 2010 +0200 2010-07-22 Deepak Bhole * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up method, and make sure sandbox permissions are always a subset of what is returned. changeset 6d2beb513332 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6d2beb513332 author: doko at ubuntu.com date: Sat Jul 24 00:54:29 2010 +0200 2010-07-23 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add security descriptor mapping for nested jars. changeset 1419166fcebf in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=1419166fcebf author: doko at ubuntu.com date: Sat Jul 24 00:58:16 2010 +0200 2010-07-23 Matthias Klose * configure.ac: Bump version to 1.8.1. * NEWS: Update for 1.8.1. diffstat: 13 files changed, 535 insertions(+), 152 deletions(-) ChangeLog | 86 ++++++ NEWS | 41 +++ configure.ac | 2 netx/net/sourceforge/jnlp/SecurityDesc.java | 65 ++-- netx/net/sourceforge/jnlp/resources/Messages.properties | 2 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 35 ++ netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 135 ++++++++-- netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 62 ---- netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 126 +++++++++ netx/net/sourceforge/jnlp/security/SecurityDialogUI.java | 6 netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 35 ++ netx/net/sourceforge/jnlp/services/ServiceUtil.java | 60 ++-- netx/net/sourceforge/jnlp/tools/JarSigner.java | 32 +- diffs (truncated from 1017 to 500 lines): diff -r fcc6da6f0adb -r 1419166fcebf ChangeLog --- a/ChangeLog Wed Jul 21 16:29:05 2010 -0400 +++ b/ChangeLog Sat Jul 24 00:58:16 2010 +0200 @@ -1,3 +1,89 @@ 2010-07-21 Deepak Bhole + + * configure.ac: Bump version to 1.8.1. + * NEWS: Update for 1.8.1. + +2010-07-23 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add + security descriptor mapping for nested jars. + +2010-07-22 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up + method, and make sure sandbox permissions are always a subset of what is + returned. + +2010-07-22 Deepak Bhole + + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum + to track verification status. + (verifyJars): Mark jar unverified only if it has no signature. + (verifyJar): Use new verifyResult enum to return status based on if jar is + unsigned, signed but with errors, or signed and ok. + +2010-07-22 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new + HashMap to map source locations to security descriptors for that location. + (getInstance): Use the new merge() method to merge loader data. + (initializeResources): Add map entries to the new jarLocationSecurityMap. + (getPermissions): Decide permissions based on security descriptor + associated with the calling code, rather than with the jnlp file. + (getCodeSourceSecurity): New method. Returns the security descriptor + associated with the given code source URL. + (merge): New method. Merges loader classpaths, native dir paths, and + security descriptor mappings. + +2010-07-22 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse new loader paths into base loader. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check + if calling code is trusted all the way to the end. If it isn't, prompt + user. + +2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Prompt user if the main app code is signed, but the extentions aren't. + (initializeResources): Prompt user if there are any unsigned jars mixed + with signed jars. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. + Dialog shown to user if the main app code is signed but the extentions aren't. + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java + (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier + object. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added + dialog and accesstype enum elements for a 'Not all jars signed' case. + (showNotAllSignedWarningDialog): New function. Prompts the user if the + main app code is signed but the extentions aren't. + (createDialog): Wire in the 'Not all jars signed' case. + (updateUI): Same. + * netx/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New + function. Returns if there are any unsigned jars. + +2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse extention loaders into baseloader rather than vice-verse. + +2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Converge all property + permission settings info a single class. + (getPermissions): Do not give read/write permissions to anything other + than what is allowed by spec. + (getSandBoxPermissions): Same. + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove + blanket imports. + (installEnvironment): Write properties in a restricted + AccessControlContext based on app specific permissions only. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (checkPermission): Remove all property permission decision making code + and collapse it all into SecurityDesc.java. + 2010-07-21 Deepak Bhole * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to diff -r fcc6da6f0adb -r 1419166fcebf NEWS --- a/NEWS Wed Jul 21 16:29:05 2010 -0400 +++ b/NEWS Sat Jul 24 00:58:16 2010 +0200 @@ -1,3 +1,44 @@ New in release 1.8 (2010-04-13): +New in release 1.8.1 (2010-07-28): + +- OpenJDK: + - 6678385: Fixes jvm crashes when window is resized. + - Produces the "expected" behavior for full screen applications, when + running the Metacity window manager. +- IcedTeaNPPlugin. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing hangs. + - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. + - Fix policy evaluation to match the proprietary JDK. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that property. +- NetX: + - Fix security flaw in NetX that allows arbitrary unsigned apps to set + any java property. + - Fix a flaw that allows unsigned code to access any file on the + machine (accessible to the user) and write to it. + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support +- PulseAudio: + - Eliminate spurious exception throwing. +- Zero/Shark: + - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. + - PR PR icedtea/324, icedtea/481: Fix Shark VM crash. + - Fix Zero build on Hitachi SH. +* SystemTap support: + - PR476: Enable building SystemTap support on GCC 4.5. + New in release 1.8 (2010-04-13): - Updated to OpenJDK6 b18. diff -r fcc6da6f0adb -r 1419166fcebf configure.ac --- a/configure.ac Wed Jul 21 16:29:05 2010 -0400 +++ b/configure.ac Sat Jul 24 00:58:16 2010 +0200 @@ -1,4 +1,4 @@ AC_INIT([icedtea6],[1.8],[distro-pkg-dev -AC_INIT([icedtea6],[1.8],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.8.1],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r fcc6da6f0adb -r 1419166fcebf netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Sat Jul 24 00:58:16 2010 +0200 @@ -53,6 +53,11 @@ public class SecurityDesc { /** the JNLP file */ private JNLPFile file; + // We go by the rules here: + // http://java.sun.com/docs/books/tutorial/deployment/doingMoreWithRIA/properties.html + + // Since this is security sensitive, take a conservative approach: + // Allow only what is specifically allowed, and deny everything else /** basic permissions for restricted mode */ private static Permission j2eePermissions[] = { @@ -95,6 +100,9 @@ public class SecurityDesc { new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), new PropertyPermission("javawebstart.version", "read"), + new PropertyPermission("javaplugin.*", "read"), + new PropertyPermission("jnlp.*", "read,write"), + new PropertyPermission("javaws.*", "read,write"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), @@ -105,6 +113,26 @@ public class SecurityDesc { // new AWTPermission("accessEventQueue"), }; + /** basic permissions for restricted mode */ + private static Permission jnlpRIAPermissions[] = { + new PropertyPermission("awt.useSystemAAFontSettings", "read,write"), + new PropertyPermission("http.agent", "read,write"), + new PropertyPermission("http.keepAlive", "read,write"), + new PropertyPermission("java.awt.syncLWRequests", "read,write"), + new PropertyPermission("java.awt.Window.locationByPlatform", "read,write"), + new PropertyPermission("javaws.cfg.jauthenticator", "read,write"), + new PropertyPermission("javax.swing.defaultlf", "read,write"), + new PropertyPermission("sun.awt.noerasebackground", "read,write"), + new PropertyPermission("sun.awt.erasebackgroundonresize", "read,write"), + new PropertyPermission("sun.java2d.d3d", "read,write"), + new PropertyPermission("sun.java2d.dpiaware", "read,write"), + new PropertyPermission("sun.java2d.noddraw", "read,write"), + new PropertyPermission("sun.java2d.opengl", "read,write"), + new PropertyPermission("swing.boldMetal", "read,write"), + new PropertyPermission("swing.metalTheme", "read,write"), + new PropertyPermission("swing.noxp", "read,write"), + new PropertyPermission("swing.useSystemFontSettings", "read,write"), + }; /** * Create a security descriptor. @@ -118,7 +146,7 @@ public class SecurityDesc { this.type = type; this.downloadHost = downloadHost; } - + /** * Returns the permissions type, one of: ALL_PERMISSIONS, * SANDBOX_PERMISSIONS, J2EE_PERMISSIONS. @@ -132,35 +160,19 @@ public class SecurityDesc { * permissions granted depending on the security type. */ public PermissionCollection getPermissions() { - Permissions permissions = new Permissions(); + PermissionCollection permissions = getSandBoxPermissions(); - // all + // discard sandbox, give all if (type == ALL_PERMISSIONS) { + permissions = new Permissions(); permissions.add(new AllPermission()); return permissions; } - // restricted - if (type == SANDBOX_PERMISSIONS) { - for (int i=0; i < sandboxPermissions.length; i++) - permissions.add(sandboxPermissions[i]); - - if (downloadHost != null) - permissions.add(new SocketPermission(downloadHost, - "connect, accept")); - } - - // j2ee + // add j2ee to sandbox if needed if (type == J2EE_PERMISSIONS) for (int i=0; i < j2eePermissions.length; i++) permissions.add(j2eePermissions[i]); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } @@ -175,16 +187,13 @@ public class SecurityDesc { for (int i=0; i < sandboxPermissions.length; i++) permissions.add(sandboxPermissions[i]); + if (file.isApplication()) + for (int i=0; i < jnlpRIAPermissions.length; i++) + permissions.add(jnlpRIAPermissions[i]); + if (downloadHost != null) permissions.add(new SocketPermission(downloadHost, "connect, accept")); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } diff -r fcc6da6f0adb -r 1419166fcebf netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Sat Jul 24 00:58:16 2010 +0200 @@ -52,6 +52,8 @@ LCantDetermineMainClassInfo=Could not de LCantDetermineMainClassInfo=Could not determine the main class for this application. LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. +LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. +LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r fcc6da6f0adb -r 1419166fcebf netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Sat Jul 24 00:58:16 2010 +0200 @@ -17,17 +17,26 @@ package net.sourceforge.jnlp.runtime; -import java.awt.*; -import java.util.*; -import java.util.List; -import java.security.*; +import java.awt.Window; +import java.net.URL; +import java.security.AccessControlContext; +import java.security.AccessController; +import java.security.CodeSource; +import java.security.PrivilegedAction; +import java.security.ProtectionDomain; + import javax.swing.event.EventListenerList; -import net.sourceforge.jnlp.*; -import net.sourceforge.jnlp.event.*; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.PropertyDesc; +import net.sourceforge.jnlp.SecurityDesc; +import net.sourceforge.jnlp.ShortcutDesc; +import net.sourceforge.jnlp.event.ApplicationEvent; +import net.sourceforge.jnlp.event.ApplicationListener; import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; import net.sourceforge.jnlp.services.ServiceUtil; -import net.sourceforge.jnlp.util.*; +import net.sourceforge.jnlp.util.WeakList; +import net.sourceforge.jnlp.util.XDesktopEntry; /** * Represents a running instance of an application described in a @@ -159,6 +168,16 @@ public class ApplicationInstance { */ void installEnvironment() { final PropertyDesc props[] = file.getResources().getProperties(); + + CodeSource cs = new CodeSource((URL) null, (java.security.cert.Certificate [])null); + + JNLPClassLoader loader = (JNLPClassLoader) this.loader; + SecurityDesc s = loader.getSecurity(); + + ProtectionDomain pd = new ProtectionDomain(cs, s.getPermissions(), null, null); + + // Add to hashmap + AccessControlContext acc = new AccessControlContext(new ProtectionDomain[] {pd}); PrivilegedAction installProps = new PrivilegedAction() { public Object run() { @@ -169,7 +188,7 @@ public class ApplicationInstance { return null; } }; - AccessController.doPrivileged(installProps); + AccessController.doPrivileged(installProps, acc); } /** diff -r fcc6da6f0adb -r 1419166fcebf netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 21 16:29:05 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Sat Jul 24 00:58:16 2010 +0200 @@ -26,6 +26,7 @@ import java.net.URLClassLoader; import java.net.URLClassLoader; import java.security.AccessControlContext; import java.security.AccessController; +import java.security.AllPermission; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; @@ -140,6 +141,9 @@ public class JNLPClassLoader extends URL /** File entries in the jar files available to this classloader */ private TreeSet jarEntries = new TreeSet(); + /** Map of specific codesources to securitydesc */ + private HashMap jarLocationSecurityMap = new HashMap(); + /** * Create a new JNLPClassLoader from the specified file. * @@ -249,24 +253,19 @@ public class JNLPClassLoader extends URL JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); if (extLoader != null && extLoader != loader) { - for (URL u : loader.getURLs()) - extLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - extLoader.addNativeDirectory(nativeDirectory); - loader = extLoader; + if (loader.signing && !extLoader.signing) + if (!SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + + loader.merge(extLoader); } // loader is now current + ext. But we also need to think of // the baseLoader if (baseLoader != null && baseLoader != loader) { - for (URL u : loader.getURLs()) - baseLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - baseLoader.addNativeDirectory(nativeDirectory); - - loader = baseLoader; - } + loader.merge(baseLoader); + } } else { // if key is same and locations match, this is the loader we want @@ -402,6 +401,10 @@ public class JNLPClassLoader extends URL if (js.anyJarsSigned()){ signing = true; + if (!js.allJarsSigned() && + !SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + //user does not trust this publisher if (!js.getAlreadyTrustPublisher()) { checkTrustWithUser(js); @@ -416,6 +419,34 @@ public class JNLPClassLoader extends URL signing = false; //otherwise this jar is simply unsigned -- make sure to ask //for permission on certain actions + } + } + + for (JARDesc jarDesc: file.getResources().getJARs()) { + try { + URL location = tracker.getCacheFile(jarDesc.getLocation()).toURI().toURL(); + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(location, jarSecurity); + } catch (MalformedURLException mfe) { + System.err.println(mfe.getMessage()); } } @@ -500,13 +531,15 @@ public class JNLPClassLoader extends URL // set default perms PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed, evaluate based on codesource - if (security.getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - security.getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs.getCodeSigners() != null && + (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || + getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) + ) { - if (cs.getCodeSigners() != null) { - permissions = security.getPermissions(); - } + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(); } Enumeration e = permissions.elements(); @@ -621,8 +654,31 @@ public class JNLPClassLoader extends URL } try { - addURL(new URL("file://" + extractedJarLocation)); - } catch (MalformedURLException mfue) { + URL fileURL = new URL("file://" + extractedJarLocation); + addURL(fileURL); + + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(fileURL, jarSecurity); + + } catch (MalformedURLException mfue) { if (JNLPRuntime.isDebug()) From doko at icedtea.classpath.org Wed Jul 28 05:07:05 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:07:05 +0000 Subject: /hg/release/icedtea6-1.8: Added tag icedtea6-1.8.1 for changeset... Message-ID: changeset bd5bfc5dcab5 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=bd5bfc5dcab5 author: doko at ubuntu.com date: Wed Jul 28 14:07:38 2010 +0200 Added tag icedtea6-1.8.1 for changeset 1419166fcebf diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r 1419166fcebf -r bd5bfc5dcab5 .hgtags --- a/.hgtags Sat Jul 24 00:58:16 2010 +0200 +++ b/.hgtags Wed Jul 28 14:07:38 2010 +0200 @@ -21,3 +21,4 @@ 1188b1a313b9e968d57ff44eb879d70f543b20fd 1188b1a313b9e968d57ff44eb879d70f543b20fd icedtea6-1.8-branch f736007b642b5b07582ba5251ca90554f7b95e8b icedtea6-1.8-branch a0120629678b904ef41bcac470b9025dc777ff03 icedtea6-1.8 +1419166fcebf45ac187cfe2a4e1a45548cdeb5bd icedtea6-1.8.1 From andrew at icedtea.classpath.org Wed Jul 28 05:08:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:08:13 +0000 Subject: /hg/icedtea6-hg: 37 new changesets Message-ID: changeset 8432ceda94a2 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8432ceda94a2 author: Andrew John Hughes date: Thu Jul 08 17:25:57 2010 +0100 Don't depend on clean-patch targets for cleaning openjdk/openjdk- ecj, just delete the stamps. 2010-07-08 Andrew John Hughes * Makefile.am: (clean-extract-ecj): Don't depend on clean-patch-ecj, just delete the stamp. (clean- extract-openjdk): Likewise for clean-patch and clean-patch- fsg. changeset 18d98909571a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=18d98909571a author: Omair Majid date: Thu Jul 08 14:25:02 2010 -0400 2010-07-08 Omair Majid PR icedtea/460 * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.jav a: New file. Some applets, for legacy support, expect this class to be present. changeset bf5edcaa5f78 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=bf5edcaa5f78 author: Omair Majid date: Thu Jul 08 14:31:02 2010 -0400 2010-07-08 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (reFrame): Pass the panel to the constructor, dont set it yourself. (PluginAppletViewer): Set the panel to be the passed in object and only then add it to the list of all panels. changeset f0e89050bb8c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=f0e89050bb8c author: Andrew John Hughes date: Thu Jul 08 20:36:25 2010 +0100 Add rebuild target to allow a quick OpenJDK rebuild (warning; may not work in some cases due to flaws in OpenJDK's build system) 2010-07-08 Andrew John Hughes * Makefile.am: (rebuild): Add new target to allow a quick rebuild of OpenJDK in the manner of the existing hotspot target. changeset cc1498495367 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=cc1498495367 author: Andrew John Hughes date: Thu Jul 08 20:37:25 2010 +0100 Merge changeset 867af494861c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=867af494861c author: Man Lung Wong date: Thu Jul 08 15:54:35 2010 -0400 Added encoding support for netx. changeset ef57bbbe54da in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ef57bbbe54da author: Andrew John Hughes date: Sun Jul 11 20:00:49 2010 +0100 Merge changeset e35661d7528d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e35661d7528d author: Jon VanAlten date: Mon Jul 12 11:13:35 2010 -0400 Eliminate spurious exception throwing in PulseAudio provider. 2010-07-12 Jon VanAlten * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataL ine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine. java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourc eDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTarge tDataLine.java: Eliminate spurious exception throwing from open, close, read, write, drain, and flush calls on closed lines. Use isOpen() API call instead of instance variable where appropriate. changeset fdc10d3deefb in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fdc10d3deefb author: Andrew John Hughes date: Mon Jul 12 17:51:21 2010 +0100 PR icedtea/512: Use the pristine srcdir copy of generated. 2010-07-12 Andrew John Hughes PR icedtea/521 * Makefile.am: (SOURCEPATH_DIRS): The untainted srcdir version of generated should be used. * configure.ac: Remove duplicate WITH_OPENJDK_SRC_DIR call. changeset dad3510bc1f6 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=dad3510bc1f6 author: Andrew John Hughes date: Mon Jul 12 17:53:23 2010 +0100 Merge changeset 83395fabed02 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=83395fabed02 author: Deepak Bhole date: Mon Jul 12 18:41:55 2010 -0400 Use variadic macro for plugin debug message printing. changeset bd9b46091cd7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=bd9b46091cd7 author: Mark Wielaard date: Tue Jul 13 11:46:10 2010 +0200 Fix hotspot tapset object_alloc size variable. Reported by William Cohen * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. changeset 0b8a71d3b9db in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0b8a71d3b9db author: Deepak Bhole date: Tue Jul 13 14:48:45 2010 -0400 - Set timeout to 120 seconds (previous commit mistakenly changed it to 10). - Print debug info only in debug mode. changeset 6dbe1524ae3b in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6dbe1524ae3b author: doko at ubuntu.com date: Wed Jul 14 00:09:56 2010 +0200 Don't link the plugin with libxul libraries 2010-07-13 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul libraries. (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. changeset 0b656f7601bd in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0b656f7601bd author: Deepak Bhole date: Wed Jul 14 17:42:26 2010 -0400 Fix race conditions in plugin initialization code that were causing hangs when loading multiple applets in parallel. changeset 5719610f7230 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=5719610f7230 author: Jon VanAlten date: Thu Jul 15 11:05:34 2010 -0400 Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. 2010-07-14 Jon VanAlten * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like panels. * Makefile.am: Apply icedtea-override-redirect-metacity.patch. changeset 8cdea18e5d0a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8cdea18e5d0a author: Deepak Bhole date: Thu Jul 15 14:17:09 2010 -0400 Backpatched from jdk7 for upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is resized. changeset b4455c6c313f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b4455c6c313f author: Deepak Bhole date: Fri Jul 16 15:19:55 2010 -0400 Fix policy evaluation to match the proprietary JDK. changeset bd443070a313 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=bd443070a313 author: Xerxes R?nby date: Mon Jul 19 14:39:53 2010 +0200 PR icedtea/498: Catch-all handler can be unloaded. 2010-07-19 Gary Benson Xerxes R?nby PR icedtea/498 * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. changeset 16b019555725 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=16b019555725 author: Omair Majid date: Tue Jul 20 09:35:12 2010 -0400 netx: do not use Look and Feel related methods for setting up security dialogs 2010-07-20 Omair Majid PR icedtea/372 * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. Remove all usage of Look and Feel related functionality. Extend JPanel. (createSetValueListener): New method. (setVisible): New method. (requestFocusOnDefaultButton): New method. * netx/net/sourceforge/jnlp/security/AccessWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramenter. Call addComponents. (installComponents): Renamed to (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/AppletWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent as a paramter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (htmlWrap): Moved to parent class. * netx/net/sourceforge/jnlp/security/CertWarningPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. (CheckBoxListener): Add debug information. * netx/net/sourceforge/jnlp/security/CertsInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. * netx/net/sourceforge/jnlp/security/MoreInfoPane.java Extend SecurityDialogPanel instead of SecurityDialogUI (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. Call addComponents. (installComponents): Renamed to... (addComponents): New method. (R): Moved to parent class. (htmlWrap): Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java Extend JDialog instead of JOptionPane. Add panel, value as new fields. (SecurityWarningDialog): Call super and initDialog. (showAccessWarningDialog): Modified to use the cleaned-up api. (showCertWarningDialog): Likewise. (showMoreInfoDialog): Likewise. (showCertInfoDialog): Likewise. (showSingleCertInfoDialog): Likewise. (showAppletWarning): Likewise. (createDialog): Renamed to... (initDialog): New method. Clean up api and remove JOptionPane references. (updateUI): Renamed to... (installPanel): Switch from Look and Feel related setUI methods to simple JComponents. (selectDefaultButton): New method. Causes the default button to request focus. (setValue): New method. Set the return value of this dialog. (getValue): New method. Get the return value of this dialog. (setSystemLookAndFeel): New method. Set the Look and Feel to the System look and feel. * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent as a parameter. (buildTree): Use parant instead of optionPane. (populateTable): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend JPanel instead of SecurityDialogUI. Add two new fields: parent and defaultFocusComponent. (CertificatePane): Take a JDialog as the argument. (installUI): Removed. (setSystemLookAndFeel): Removed. (installComponents): Renamed to ... (addComponents): New method. (focusOnDefaultButton): New method. Makes the defaultFocusComponent get focus. (CloseButtonListener): New class. Disposes the JDialog. * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend JDialog instead of JOptionPane (CertificateViewer): Initialize the JDialog, add the CertificatePanel and set default focus. (updateUI): Removed. (centerDialog): Takes no arguments. (createDialog): Removed. (showCertificateViewer): Use the new cleaned up api for CertificateViewer. (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. changeset c551fe50f731 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c551fe50f731 author: Omair Majid date: Tue Jul 20 13:30:49 2010 -0400 netx: error out when unsigned jnlp applications request permissions 2010-07-20 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (setSecurity): Can now throw a LaunchException if the JNLP file requests permissions but the jars are unsigned. changeset b110028e95cc in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b110028e95cc author: Omair Majid date: Tue Jul 20 13:39:49 2010 -0400 PR icedtea/491 pass java_{code,codebase,archive} paramters to java side 2010-07-20 Omair Majid PR icedtea/491 * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Accept and pass on java_{code,codebase,archive} tags to the java side of the plugin. changeset 38a53f071801 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=38a53f071801 author: Mark Wielaard date: Tue Jul 20 20:26:03 2010 +0200 Get configure and make BUILD_DIR in sync. 2010-07-20 Mark Wielaard * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . changeset 4bcc2702e0ec in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4bcc2702e0ec author: Man Lung Wong date: Tue Jul 20 16:31:28 2010 -0400 Adds javawebstart.version property and give user permission to read that proerty during sandbox permission. changeset 7a124a6f0568 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7a124a6f0568 author: Man Lung Wong date: Tue Jul 20 16:38:54 2010 -0400 Minor formatting error and forgot to mention related bug in Changelog. changeset cf796bf3d5aa in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=cf796bf3d5aa author: Deepak Bhole date: Wed Jul 21 16:29:05 2010 -0400 Undo changes from 98c88b32cdb4 to Parser.java, since they could cause potential regressions. changeset 2bdc52cb3136 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2bdc52cb3136 author: Andrew John Hughes date: Fri Jul 23 11:01:17 2010 +0100 Normalise NetX whitespace. 2010-07-23 Andrew John Hughes * netx/javax/jnlp/BasicService.java, * netx/javax/jnlp/ClipboardService.java, * netx/javax/jnlp/DownloadService.java, * netx/javax/jnlp/DownloadServiceListener.java, * netx/javax/jnlp/ExtendedService.java, * netx/javax/jnlp/ExtensionInstallerService.java, * netx/javax/jnlp/FileContents.java, * netx/javax/jnlp/FileOpenService.java, * netx/javax/jnlp/FileSaveService.java, * netx/javax/jnlp/JNLPRandomAccessFile.java, * netx/javax/jnlp/PersistenceService.java, * netx/javax/jnlp/PrintService.java, * netx/javax/jnlp/ServiceManager.java, * netx/javax/jnlp/ServiceManagerStub.java, * netx/javax/jnlp/SingleInstanceListener.java, * netx/javax/jnlp/SingleInstanceService.java, * netx/javax/jnlp/UnavailableServiceException.java, * netx/net/sourceforge/jnlp/AppletDesc.java, * netx/net/sourceforge/jnlp/ApplicationDesc.java, * netx/net/sourceforge/jnlp/AssociationDesc.java, * netx/net/sourceforge/jnlp/ComponentDesc.java, * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, * netx/net/sourceforge/jnlp/ExtensionDesc.java, * netx/net/sourceforge/jnlp/IconDesc.java, * netx/net/sourceforge/jnlp/InformationDesc.java, * netx/net/sourceforge/jnlp/InstallerDesc.java, * netx/net/sourceforge/jnlp/JARDesc.java, * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, * netx/net/sourceforge/jnlp/JREDesc.java, * netx/net/sourceforge/jnlp/LaunchException.java, * netx/net/sourceforge/jnlp/LaunchHandler.java, * netx/net/sourceforge/jnlp/Launcher.java, * netx/net/sourceforge/jnlp/MenuDesc.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/Node.java, * netx/net/sourceforge/jnlp/PackageDesc.java, * netx/net/sourceforge/jnlp/ParseException.java, * netx/net/sourceforge/jnlp/Parser.java, * netx/net/sourceforge/jnlp/PluginBridge.java, * netx/net/sourceforge/jnlp/PropertyDesc.java, * netx/net/sourceforge/jnlp/RelatedContentDesc.java, * netx/net/sourceforge/jnlp/ResourcesDesc.java, * netx/net/sourceforge/jnlp/SecurityDesc.java, * netx/net/sourceforge/jnlp/ShortcutDesc.java, * netx/net/sourceforge/jnlp/StreamEater.java, * netx/net/sourceforge/jnlp/Version.java, * netx/net/sourceforge/jnlp/cache/CacheEntry.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/Resource.java, * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, * netx/net/sourceforge/jnlp/event/ApplicationListener.java, * netx/net/sourceforge/jnlp/event/DownloadEvent.java, * netx/net/sourceforge/jnlp/event/DownloadListener.java, * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/Boot.java, * netx/net/sourceforge/jnlp/runtime/Boot13.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertVerifier.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, * netx/net/sourceforge/jnlp/security/SecurityUtil.java, * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.jav a, * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, * netx/net/sourceforge/jnlp/services/XBasicService.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XDownloadService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * netx/net/sourceforge/jnlp/services/XFileContents.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java, * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * netx/net/sourceforge/jnlp/services/XPersistenceService.java, * netx/net/sourceforge/jnlp/services/XPrintService.java, * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/tools/JarRunner.java, * netx/net/sourceforge/jnlp/tools/JarSigner.java, * netx/net/sourceforge/jnlp/tools/KeyTool.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/PropertiesFile.java, * netx/net/sourceforge/jnlp/util/Reflect.java, * netx/net/sourceforge/jnlp/util/WeakList.java, * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, * netx/net/sourceforge/nanoxml/XMLElement.java: Normalise whitespace. changeset 7e8348b468ae in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7e8348b468ae author: Andrew John Hughes date: Fri Jul 23 10:56:39 2010 +0100 Rename getType to getAccessType to avoid conflict with Window.getType() from OpenJDK7 2010-07-23 Andrew John Hughes * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: (addComponents()): Fix call to getType(). * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: (getType): Rename to getAccessType() to avoid conflict with Window.getType() in OpenJDK7. changeset 6bf6ff2ad1ea in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6bf6ff2ad1ea author: Jon VanAlten date: Fri Jul 23 11:51:57 2010 -0400 Backpatch fix for upstream bug#6963870 from jdk7 to eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing class CompoundBorder method getBorderInsets. * Makefile.am: Include above patch. changeset 1d36a3fd16c0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=1d36a3fd16c0 author: Andrew John Hughes date: Sun Jul 25 22:47:02 2010 +0100 Backport S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. 2010-07-25 Andrew John Hughes * Makefile.am: Add patch. * patches/openjdk/6668231-ssl_cert.patch: Backport SSL certificate fix 'Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks'. * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/crisubn.jks, * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ www/protocol/https/HttpsURLConnection/trusted.jks: Keystores for the new test introduced by this patch. changeset 606d9aa072d6 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=606d9aa072d6 author: Andrew John Hughes date: Mon Jul 26 09:24:00 2010 +0100 Make naming of OpenJDK backports clearer and use original changeset for 6963870. 2010-07-25 Andrew John Hughes Make purpose of OpenJDK patches clearer and use original changeset for 6963870. * patches/openjdk/6678385.patch, * patches/openjdk/6961732.patch, * patches/openjdk/6963870.patch: Renamed to... * Makefile.am: Use new patch names. * patches/openjdk/6678385-window_movement_crasher.patch, * patches/openjdk/6961732-negative_leading.patch, * patches/openjdk/6963870-swing_npe.patch: these. changeset 261f47cbfac7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=261f47cbfac7 author: Andrew John Hughes date: Mon Jul 26 09:27:34 2010 +0100 Fix use of fstatat in NIO2 on architectures other than x86 and x86_64. 2010-07-20 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/Un ixNativeDispatcher.c: Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. changeset 549cfe48fc56 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=549cfe48fc56 author: Andrew John Hughes date: Wed Jul 21 18:17:59 2010 +0100 Update the README. 2010-07-21 Andrew John Hughes * README: Updated. changeset d7226257dd2e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d7226257dd2e author: Andrew John Hughes date: Mon Jul 26 09:31:02 2010 +0100 Update INSTALL documentation and configure help. 2010-07-21 Andrew John Hughes * INSTALL: Updated, with documentation of new options and removal of outdated information. * acinclude.m4: (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} in configure help, replacing it with the value used. (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in configure help. * configure.ac: Fix default in configure help for NIO2. changeset dd4d9f50ac7c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=dd4d9f50ac7c author: Andrew John Hughes date: Mon Jul 26 09:38:47 2010 +0100 Update README and INSTALL for HEAD. 2010-07-26 Andrew John Hughes * README: Updated for HEAD using IcedTea7 version. * INSTALL: Likewise. changeset 6085d4c7d5ce in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6085d4c7d5ce author: Andrew John Hughes date: Wed Jul 28 11:17:13 2010 +0100 Merge changeset 999fec26cf9f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=999fec26cf9f author: Andrew John Hughes date: Wed Jul 28 13:08:03 2010 +0100 Regenerate icedtea-jtreg-jrunscript.patch due to 50002bfcff96. 2010-07-26 Andrew John Hughes * patches/icedtea-jtreg-jrunscript.patch: Regenerate after 50002bfcff96 from dcubed being added to OpenJDK6. diffstat: 140 files changed, 6169 insertions(+), 4085 deletions(-) ChangeLog | 459 +++ INSTALL | 376 ++- Makefile.am | 36 README | 118 acinclude.m4 | 68 configure.ac | 11 netx/javax/jnlp/BasicService.java | 1 netx/javax/jnlp/ClipboardService.java | 1 netx/javax/jnlp/DownloadService.java | 1 netx/javax/jnlp/DownloadServiceListener.java | 1 netx/javax/jnlp/ExtendedService.java | 8 netx/javax/jnlp/ExtensionInstallerService.java | 1 netx/javax/jnlp/FileContents.java | 1 netx/javax/jnlp/FileOpenService.java | 1 netx/javax/jnlp/FileSaveService.java | 1 netx/javax/jnlp/JNLPRandomAccessFile.java | 1 netx/javax/jnlp/PersistenceService.java | 1 netx/javax/jnlp/PrintService.java | 1 netx/javax/jnlp/ServiceManager.java | 1 netx/javax/jnlp/ServiceManagerStub.java | 1 netx/javax/jnlp/SingleInstanceListener.java | 4 netx/javax/jnlp/SingleInstanceService.java | 8 netx/javax/jnlp/UnavailableServiceException.java | 1 netx/net/sourceforge/jnlp/AppletDesc.java | 27 netx/net/sourceforge/jnlp/ApplicationDesc.java | 14 netx/net/sourceforge/jnlp/AssociationDesc.java | 8 netx/net/sourceforge/jnlp/ComponentDesc.java | 9 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 8 netx/net/sourceforge/jnlp/ExtensionDesc.java | 10 netx/net/sourceforge/jnlp/IconDesc.java | 37 netx/net/sourceforge/jnlp/InformationDesc.java | 17 netx/net/sourceforge/jnlp/InstallerDesc.java | 8 netx/net/sourceforge/jnlp/JARDesc.java | 15 netx/net/sourceforge/jnlp/JNLPFile.java | 70 netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 2 netx/net/sourceforge/jnlp/JREDesc.java | 18 netx/net/sourceforge/jnlp/LaunchException.java | 12 netx/net/sourceforge/jnlp/LaunchHandler.java | 10 netx/net/sourceforge/jnlp/Launcher.java | 174 - netx/net/sourceforge/jnlp/MenuDesc.java | 6 netx/net/sourceforge/jnlp/NetxPanel.java | 123 netx/net/sourceforge/jnlp/Node.java | 3 netx/net/sourceforge/jnlp/PackageDesc.java | 11 netx/net/sourceforge/jnlp/ParseException.java | 10 netx/net/sourceforge/jnlp/Parser.java | 228 + netx/net/sourceforge/jnlp/PluginBridge.java | 42 netx/net/sourceforge/jnlp/PropertyDesc.java | 14 netx/net/sourceforge/jnlp/RelatedContentDesc.java | 6 netx/net/sourceforge/jnlp/ResourcesDesc.java | 13 netx/net/sourceforge/jnlp/SecurityDesc.java | 14 netx/net/sourceforge/jnlp/ShortcutDesc.java | 6 netx/net/sourceforge/jnlp/StreamEater.java | 6 netx/net/sourceforge/jnlp/Version.java | 18 netx/net/sourceforge/jnlp/cache/CacheEntry.java | 10 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 12 netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 15 netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 11 netx/net/sourceforge/jnlp/cache/Resource.java | 20 netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 58 netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 10 netx/net/sourceforge/jnlp/event/ApplicationEvent.java | 12 netx/net/sourceforge/jnlp/event/ApplicationListener.java | 9 netx/net/sourceforge/jnlp/event/DownloadEvent.java | 12 netx/net/sourceforge/jnlp/event/DownloadListener.java | 9 netx/net/sourceforge/jnlp/resources/Messages.properties | 2 netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 8 netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 12 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 36 netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 11 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 31 netx/net/sourceforge/jnlp/runtime/Boot.java | 31 netx/net/sourceforge/jnlp/runtime/Boot13.java | 1 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 339 +- netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 40 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 67 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 392 +-- netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 245 - netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 116 netx/net/sourceforge/jnlp/security/CertVerifier.java | 4 netx/net/sourceforge/jnlp/security/CertWarningPane.java | 337 +- netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 325 +- netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 94 netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 91 netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 129 + netx/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 - netx/net/sourceforge/jnlp/security/SecurityUtil.java | 260 +- netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 669 ++--- netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 53 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 74 netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 507 +--- netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 138 - netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 10 netx/net/sourceforge/jnlp/services/InstanceExistsException.java | 6 netx/net/sourceforge/jnlp/services/ServiceUtil.java | 49 netx/net/sourceforge/jnlp/services/SingleInstanceLock.java | 16 netx/net/sourceforge/jnlp/services/XBasicService.java | 34 netx/net/sourceforge/jnlp/services/XClipboardService.java | 46 netx/net/sourceforge/jnlp/services/XDownloadService.java | 62 netx/net/sourceforge/jnlp/services/XExtendedService.java | 10 netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 10 netx/net/sourceforge/jnlp/services/XFileContents.java | 10 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 8 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 244 - netx/net/sourceforge/jnlp/services/XPersistenceService.java | 10 netx/net/sourceforge/jnlp/services/XPrintService.java | 138 - netx/net/sourceforge/jnlp/services/XServiceManagerStub.java | 12 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 30 netx/net/sourceforge/jnlp/tools/JarRunner.java | 12 netx/net/sourceforge/jnlp/tools/JarSigner.java | 138 - netx/net/sourceforge/jnlp/tools/KeyTool.java | 350 +- netx/net/sourceforge/jnlp/util/FileUtils.java | 8 netx/net/sourceforge/jnlp/util/PropertiesFile.java | 18 netx/net/sourceforge/jnlp/util/Reflect.java | 12 netx/net/sourceforge/jnlp/util/WeakList.java | 12 netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 20 netx/net/sourceforge/nanoxml/XMLElement.java | 6 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 37 patches/icedtea-jtreg-jrunscript.patch | 12 patches/icedtea-override-redirect-metacity.patch | 11 patches/icedtea-policy-evaluation.patch | 35 patches/openjdk/6668231-ssl_cert.patch | 306 ++ patches/openjdk/6678385-window_movement_crasher.patch | 1241 ++++++++++ patches/openjdk/6961732.patch | 45 patches/openjdk/6963870-swing_npe.patch | 99 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 16 plugin/icedteanp/IcedTeaNPPlugin.cc | 235 + plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 38 plugin/icedteanp/IcedTeaPluginUtils.cc | 102 plugin/icedteanp/IcedTeaPluginUtils.h | 66 plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 58 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 6 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 23 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 tapset/hotspot.stp.in | 2 diffs (truncated from 17163 to 500 lines): diff -r aecac87c5af7 -r 999fec26cf9f ChangeLog --- a/ChangeLog Tue Jul 06 18:46:18 2010 +0100 +++ b/ChangeLog Wed Jul 28 13:08:03 2010 +0100 @@ -1,3 +1,458 @@ 2010-07-06 Andrew John Hughes + + * patches/icedtea-jtreg-jrunscript.patch: + Regenerate after 50002bfcff96 from dcubed being + added to OpenJDK6. + +2010-07-26 Andrew John Hughes + + * README: Updated for HEAD using IcedTea7 version. + * INSTALL: Likewise. + +2010-07-21 Andrew John Hughes + + * INSTALL: Updated, with documentation + of new options and removal of outdated information. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. + (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. + (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} + in configure help, replacing it with the value used. + (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in + configure help. + * configure.ac: + Fix default in configure help for NIO2. + +2010-07-21 Andrew John Hughes + + * README: Updated. + +2010-07-20 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c: + Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. + +2010-07-25 Andrew John Hughes + + Make purpose of OpenJDK patches clearer and + use original changeset for 6963870. + * patches/openjdk/6678385.patch, + * patches/openjdk/6961732.patch, + * patches/openjdk/6963870.patch: Renamed to... + * Makefile.am: Use new patch names. + * patches/openjdk/6678385-window_movement_crasher.patch, + * patches/openjdk/6961732-negative_leading.patch, + * patches/openjdk/6963870-swing_npe.patch: these. + +2010-07-25 Andrew John Hughes + + * Makefile.am: Add patch. + * patches/openjdk/6668231-ssl_cert.patch: + Backport SSL certificate fix 'Presence of a + critical subjectAltName causes JSSE's SunX509 to + fail trusted checks'. + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks, + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks: + Keystores for the new test introduced by this patch. + +2010-07-23 Jon VanAlten + + * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for + upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing + class CompoundBorder method getBorderInsets. + * Makefile.am: Include above patch. + +2010-07-23 Andrew John Hughes + + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: + (addComponents()): Fix call to getType(). + * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: + (getType): Rename to getAccessType() to avoid conflict with + Window.getType() in OpenJDK7. + +2010-07-23 Andrew John Hughes + + * netx/javax/jnlp/BasicService.java, + * netx/javax/jnlp/ClipboardService.java, + * netx/javax/jnlp/DownloadService.java, + * netx/javax/jnlp/DownloadServiceListener.java, + * netx/javax/jnlp/ExtendedService.java, + * netx/javax/jnlp/ExtensionInstallerService.java, + * netx/javax/jnlp/FileContents.java, + * netx/javax/jnlp/FileOpenService.java, + * netx/javax/jnlp/FileSaveService.java, + * netx/javax/jnlp/JNLPRandomAccessFile.java, + * netx/javax/jnlp/PersistenceService.java, + * netx/javax/jnlp/PrintService.java, + * netx/javax/jnlp/ServiceManager.java, + * netx/javax/jnlp/ServiceManagerStub.java, + * netx/javax/jnlp/SingleInstanceListener.java, + * netx/javax/jnlp/SingleInstanceService.java, + * netx/javax/jnlp/UnavailableServiceException.java, + * netx/net/sourceforge/jnlp/AppletDesc.java, + * netx/net/sourceforge/jnlp/ApplicationDesc.java, + * netx/net/sourceforge/jnlp/AssociationDesc.java, + * netx/net/sourceforge/jnlp/ComponentDesc.java, + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * netx/net/sourceforge/jnlp/ExtensionDesc.java, + * netx/net/sourceforge/jnlp/IconDesc.java, + * netx/net/sourceforge/jnlp/InformationDesc.java, + * netx/net/sourceforge/jnlp/InstallerDesc.java, + * netx/net/sourceforge/jnlp/JARDesc.java, + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, + * netx/net/sourceforge/jnlp/JREDesc.java, + * netx/net/sourceforge/jnlp/LaunchException.java, + * netx/net/sourceforge/jnlp/LaunchHandler.java, + * netx/net/sourceforge/jnlp/Launcher.java, + * netx/net/sourceforge/jnlp/MenuDesc.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/Node.java, + * netx/net/sourceforge/jnlp/PackageDesc.java, + * netx/net/sourceforge/jnlp/ParseException.java, + * netx/net/sourceforge/jnlp/Parser.java, + * netx/net/sourceforge/jnlp/PluginBridge.java, + * netx/net/sourceforge/jnlp/PropertyDesc.java, + * netx/net/sourceforge/jnlp/RelatedContentDesc.java, + * netx/net/sourceforge/jnlp/ResourcesDesc.java, + * netx/net/sourceforge/jnlp/SecurityDesc.java, + * netx/net/sourceforge/jnlp/ShortcutDesc.java, + * netx/net/sourceforge/jnlp/StreamEater.java, + * netx/net/sourceforge/jnlp/Version.java, + * netx/net/sourceforge/jnlp/cache/CacheEntry.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/Resource.java, + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, + * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, + * netx/net/sourceforge/jnlp/event/ApplicationListener.java, + * netx/net/sourceforge/jnlp/event/DownloadEvent.java, + * netx/net/sourceforge/jnlp/event/DownloadListener.java, + * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * netx/net/sourceforge/jnlp/runtime/Boot.java, + * netx/net/sourceforge/jnlp/runtime/Boot13.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertVerifier.java, + * netx/net/sourceforge/jnlp/security/CertWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, + * netx/net/sourceforge/jnlp/security/SecurityUtil.java, + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, + * netx/net/sourceforge/jnlp/services/ServiceUtil.java, + * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * netx/net/sourceforge/jnlp/services/XBasicService.java, + * netx/net/sourceforge/jnlp/services/XClipboardService.java, + * netx/net/sourceforge/jnlp/services/XDownloadService.java, + * netx/net/sourceforge/jnlp/services/XExtendedService.java, + * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * netx/net/sourceforge/jnlp/services/XFileContents.java, + * netx/net/sourceforge/jnlp/services/XFileSaveService.java, + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * netx/net/sourceforge/jnlp/services/XPersistenceService.java, + * netx/net/sourceforge/jnlp/services/XPrintService.java, + * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/tools/JarRunner.java, + * netx/net/sourceforge/jnlp/tools/JarSigner.java, + * netx/net/sourceforge/jnlp/tools/KeyTool.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/PropertiesFile.java, + * netx/net/sourceforge/jnlp/util/Reflect.java, + * netx/net/sourceforge/jnlp/util/WeakList.java, + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, + * netx/net/sourceforge/nanoxml/XMLElement.java: + Normalise whitespace. + +2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to + Parser.java, since they could cause potential regressions. + +2010-07-20 Man Lung Wong + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version + property as part of sandbox permission. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). + +2010-07-20 Mark Wielaard + + * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. + (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. + * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . + +2010-07-20 Omair Majid + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + +2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file requests + permissions but the jars are unsigned. + +2010-07-19 Omair Majid + + PR icedtea/372 + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. + Remove all usage of Look and Feel related functionality. Extend JPanel. + (createSetValueListener): New method. + (setVisible): New method. + (requestFocusOnDefaultButton): New method. + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AccessWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramenter. Call addComponents. + (installComponents): Renamed to + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AppletWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a paramter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (htmlWrap): Moved to parent class. + * netx/net/sourceforge/jnlp/security/CertWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent as + a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + (CheckBoxListener): Add debug information. + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent as a + parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java + Extend JDialog instead of JOptionPane. Add panel, value as new fields. + (SecurityWarningDialog): Call super and initDialog. + (showAccessWarningDialog): Modified to use the cleaned-up api. + (showCertWarningDialog): Likewise. + (showMoreInfoDialog): Likewise. + (showCertInfoDialog): Likewise. + (showSingleCertInfoDialog): Likewise. + (showAppletWarning): Likewise. + (createDialog): Renamed to... + (initDialog): New method. Clean up api and remove JOptionPane references. + (updateUI): Renamed to... + (installPanel): Switch from Look and Feel related setUI methods to simple + JComponents. + (selectDefaultButton): New method. Causes the default button to request + focus. + (setValue): New method. Set the return value of this dialog. + (getValue): New method. Get the return value of this dialog. + (setSystemLookAndFeel): New method. Set the Look and Feel to the System + look and feel. + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java + (SingleCertInfoPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. + (buildTree): Use parant instead of optionPane. + (populateTable): Likewise. + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Extend + JPanel instead of SecurityDialogUI. Add two new fields: parent and + defaultFocusComponent. + (CertificatePane): Take a JDialog as the argument. + (installUI): Removed. + (setSystemLookAndFeel): Removed. + (installComponents): Renamed to ... + (addComponents): New method. + (focusOnDefaultButton): New method. Makes the defaultFocusComponent get + focus. + (CloseButtonListener): New class. Disposes the JDialog. + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: Extend + JDialog instead of JOptionPane + (CertificateViewer): Initialize the JDialog, add the CertificatePanel and + set default focus. + (updateUI): Removed. + (centerDialog): Takes no arguments. + (createDialog): Removed. + (showCertificateViewer): Use the new cleaned up api for CertificateViewer. + (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. + +2010-07-19 Gary Benson + Xerxes R??nby + + PR icedtea/498 + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::handle_exception): Catch-all handler can be unloaded. + +2010-07-16 Deepak Bhole + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + +2010-07-15 Deepak Bhole + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is + resized. + +2010-07-14 Jon VanAlten + * patches/icedtea-override-redirect-metacity.patch: Produces the + "expected" behavior for full screen applications or other situations + where developers wish to present elements that would cover things like + panels. We previously had a version of this patch since changeset 876 + ebc064e8892d, but dropped it in changeset changeset 1731 + 83619682858e because upstream had rejected as a metacity bug[1]. + Metacity maintains that this behavior does not break any spec and does + not appear likely to change either[2], so we must be the "good guys" and + provide the expected behavior. See discussion[3]. + [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512 + [2] https://bugzilla.gnome.org/show_bug.cgi?id=405269 + [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008862.html + * Makefile.am: Apply icedtea-override-redirect-metacity.patch. + +2010-07-14 Deepak Bhole + + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Add a new + processedIds list to track which instances have been instantiated. + (okToProcess): Register width as priority only after handle is acquired. + Process resize messages only after tag and handle are processed. + (notifyWorkerIsFree): Add instance id to processedIds list if the worked + being free'd is an init worker. + (getFreeWorker): Create new normal worked only if worker count is less + than MAX_WORKERS - PRIORITY_WORKERS. + (dumpWorkerStatus): New method. Useful when debugging -- prints status of + all workers. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (toString): New method. Returns the string representation of the worker + instance at call time. + +2010-07-13 Matthias Klose + + * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Don't require libxul + libraries. + (IT_CHECK_XULRUNNER_VERSION): Use pkgconfig --modversion as version. + +2010-07-13 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Set timeout to 120 + seconds (previous commit mistakenly changed it to 10). + * plugin/icedteanp/IcedTeaPluginUtils.h: Print debug info only in debug + mode. + +2010-07-13 Mark Wielaard + + Reported by William Cohen + * tapset/hotspot.stp.in (object_alloc): size is arg4, not arg3. + +2010-06-14 Deepak Bhole + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Use variadic macro + for debug message printing. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Same. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Same. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. + +2010-07-12 Andrew John Hughes + + PR icedtea/521 + * Makefile.am: + (SOURCEPATH_DIRS): The untainted srcdir + version of generated should be used. + * configure.ac: + Remove duplicate WITH_OPENJDK_SRC_DIR call. + +2010-07-12 Jon VanAlten + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Eliminate spurious exception throwing from open, close, read, write, + drain, and flush calls on closed lines. + Use isOpen() API call instead of instance variable where appropriate. + +2010-07-08 Man Lung Wong + + * netx/net/sourceforge/jnlp/Parser.java: + (getRootNode): Used BufferedInputStream instead of InputStream to + have mark and reset method available. Passed the encoding to the + constructor of InputStreamReader, such that the stream will now + be parsed with the encoding the jnlp file is in. + (getEncoding): A new method which checks the first four bytes of input + and determines what the files encoding is. + +2010-07-08 Andrew John Hughes + + * Makefile.am: + (rebuild): Add new target to allow a quick + rebuild of OpenJDK in the manner of the existing + hotspot target. + +2010-07-08 Omair Majid + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (reFrame): Pass the panel to the constructor, dont set it yourself. + (PluginAppletViewer): Set the panel to be the passed in object and only + then add it to the list of all panels. + +2010-07-08 Omair Majid + + PR icedtea/460 + * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java: + New file. Some applets, for legacy support, expect this class to be + present. + +2010-07-08 Andrew John Hughes + + * Makefile.am: + (clean-extract-ecj): Don't depend on clean-patch-ecj, + just delete the stamp. + (clean-extract-openjdk): Likewise for clean-patch and + clean-patch-fsg. + +2010-07-07 Andrew John Hughes + + * patches/openjdk/6961732.patch: + Dropped, applied upstream. + * Makefile.am: Remove above patch. + 2010-07-06 Andrew John Hughes * Makefile.am: @@ -4768,7 +5223,7 @@ 2009-10-16 Andrew John Hughes Bump to b17 and use original HotSpot. @@ -8247,7 +8702,7 @@ 2009-04-07 Omair Majid - * patches/icedtea-jtreg-jrunscript.patch: New patch. Replaces + * patches/icedtea-jtreg-jrunscript.patch: New patch. Replaces jrunscriptTest.sh with a java version that isnt picky about int vs double changes. * Makefile.am (ICEDTEA_PATCHES): Apply the above. diff -r aecac87c5af7 -r 999fec26cf9f INSTALL --- a/INSTALL Tue Jul 06 18:46:18 2010 +0100 +++ b/INSTALL Wed Jul 28 13:08:03 2010 +0100 @@ -7,8 +7,10 @@ a default location. The build requirements are as follows: -GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95) -Eclipse Java Compiler +A bootstrap JDK, either: + - GNU libgcj 4.3.0 (or equivalent class library based on GNU Classpath >= 0.95) for --with-gcj-home mode (the default) + - IcedTea6 for --with-openjdk mode +Eclipse Java Compiler (ecj) CUPS libX11 (libXp, libXtst, libXi, libXt) Freetype2 @@ -16,6 +18,7 @@ sed sed tar md5sum From andrew at icedtea.classpath.org Wed Jul 28 05:09:04 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:09:04 +0000 Subject: /hg/release/icedtea6-1.7: 14 new changesets Message-ID: changeset b3f4988afff9 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=b3f4988afff9 author: Deepak Bhole date: Wed Jul 21 18:40:30 2010 -0400 Fix issue that allowed unsigned applications to modify system properties. changeset 6b9ccc0f74d2 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6b9ccc0f74d2 author: Deepak Bhole date: Wed Jul 21 18:45:51 2010 -0400 Fix issue that allowed unsigned code to use extension services without prompt. Collapse extention loaders into baseloader rather than vice-versa -- this makes it so that a loader is reported signed only if the main app is. changeset 39e4a9ec4eb5 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=39e4a9ec4eb5 author: Deepak Bhole date: Wed Jul 21 19:30:04 2010 -0400 Add new security dialog that prompts the user if there is mixed signed and unsigned code present. changeset cf334d2dae6e in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=cf334d2dae6e author: Deepak Bhole date: Thu Jul 22 01:53:55 2010 -0400 Warn user if extended services are being used from unsigned code (even if the main application code is signed). changeset eb2ab50f5a28 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=eb2ab50f5a28 author: Deepak Bhole date: Thu Jul 22 19:24:19 2010 -0400 Track security descriptors per jar, and made permission decisions based on it. changeset d88454e407dd in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=d88454e407dd author: Deepak Bhole date: Thu Jul 22 19:27:54 2010 -0400 Mark jar as unverified only if it is unsigned (since signed jars -- even ones with problems, and still 'verified' for contents). changeset 391a0a5145ca in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=391a0a5145ca author: Deepak Bhole date: Thu Jul 22 19:30:39 2010 -0400 Make sandbox permissions a subset of permissions returned for any code source. changeset 337a1a5344da in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=337a1a5344da author: Deepak Bhole date: Fri Jul 23 12:02:01 2010 -0400 Add security descriptor mapping for nested jars. changeset 26fd1324d482 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=26fd1324d482 author: Andrew John Hughes date: Mon Jul 26 21:56:08 2010 +0100 Add security fixes to NEWS and set date to 28th of July for the 1.7.4 release. 2010-07-26 Andrew John Hughes * NEWS: Add security fixes and date of 1.7.4. changeset 5760b0bf92c2 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=5760b0bf92c2 author: Andrew John Hughes date: Mon Jul 26 22:01:25 2010 +0100 Bump to 1.7.4. 2010-07-26 Andrew John Hughes * configure.ac: Bump to 1.7.4 changeset c0a3d1ecb3ae in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c0a3d1ecb3ae author: Andrew John Hughes date: Mon Jul 26 23:18:42 2010 +0100 Turn off the old plugin by default so both it and the new plugin aren't turned on by default. 2010-07-26 Andrew John Hughes * INSTALL: Update plugin documentation. * acinclude.m4: Turn off the old plugin (--disable-plugin) by default. changeset e5dc3c88292c in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=e5dc3c88292c author: Andrew John Hughes date: Mon Jul 26 23:28:16 2010 +0100 Give a warning about the imminent death of the old plugin. 2010-07-26 Andrew John Hughes * acinclude.m4: Give a warning about the imminent death of the old plugin. changeset caae3106585d in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=caae3106585d author: Andrew John Hughes date: Tue Jul 27 19:26:44 2010 +0100 Add CVE numbers. 2010-07-27 Andrew John Hughes * NEWS: Add CVE numbers. changeset 30dc9370beba in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=30dc9370beba author: Andrew John Hughes date: Tue Jul 27 22:55:15 2010 +0100 Only display old plugin warning if --enable-plugin is specified. 2010-07-27 Andrew John Hughes * acinclude.m4: (IT_CHECK_OLD_PLUGIN): Only display warning if --enable-plugin is specified. diffstat: 15 files changed, 536 insertions(+), 163 deletions(-) ChangeLog | 110 ++++++++ INSTALL | 13 NEWS | 5 acinclude.m4 | 11 configure.ac | 2 rt/net/sourceforge/jnlp/SecurityDesc.java | 65 ++-- rt/net/sourceforge/jnlp/resources/Messages.properties | 2 rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 35 ++ rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 135 ++++++++-- rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 62 ---- rt/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 126 +++++++++ rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 6 rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 35 ++ rt/net/sourceforge/jnlp/services/ServiceUtil.java | 60 ++-- rt/net/sourceforge/jnlp/tools/JarSigner.java | 32 +- diffs (truncated from 1066 to 500 lines): diff -r 7763083fc25d -r 30dc9370beba ChangeLog --- a/ChangeLog Mon Jul 26 20:51:29 2010 +0100 +++ b/ChangeLog Tue Jul 27 22:55:15 2010 +0100 @@ -1,3 +1,113 @@ 2010-07-26 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_OLD_PLUGIN): Only display warning + if --enable-plugin is specified. + +2010-07-27 Andrew John Hughes + + * NEWS: Add CVE numbers. + +2010-07-26 Andrew John Hughes + + * acinclude.m4: Give a warning about the + imminent death of the old plugin. + +2010-07-26 Andrew John Hughes + + * INSTALL: Update plugin documentation. + * acinclude.m4: Turn off the old plugin + (--disable-plugin) by default. + +2010-07-26 Andrew John Hughes + + * configure.ac: Bump to 1.7.4 + +2010-07-26 Andrew John Hughes + + * NEWS: Add security fixes and date of 1.7.4. + +2010-07-23 Deepak Bhole + + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add + security descriptor mapping for nested jars. + +2010-07-22 Deepak Bhole + + * rt/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up + method, and make sure sandbox permissions are always a subset of what is + returned. + +2010-07-22 Deepak Bhole + + * t/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum + to track verification status. + (verifyJars): Mark jar unverified only if it has no signature. + (verifyJar): Use new verifyResult enum to return status based on if jar is + unsigned, signed but with errors, or signed and ok. + +2010-07-22 Deepak Bhole + + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new + HashMap to map source locations to security descriptors for that location. + (getInstance): Use the new merge() method to merge loader data. + (initializeResources): Add map entries to the new jarLocationSecurityMap. + (getPermissions): Decide permissions based on security descriptor + associated with the calling code, rather than with the jnlp file. + (getCodeSourceSecurity): New method. Returns the security descriptor + associated with the given code source URL. + (merge): New method. Merges loader classpaths, native dir paths, and + security descriptor mappings. + +2010-07-22 Deepak Bhole + + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse new loader paths into base loader. + * rt/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check + if calling code is trusted all the way to the end. If it isn't, prompt + user. + +2010-07-21 Deepak Bhole + + * rt/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Prompt user if the main app code is signed, but the extentions aren't. + (initializeResources): Prompt user if there are any unsigned jars mixed + with signed jars. + * rt/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. + Dialog shown to user if the main app code is signed but the extentions aren't. + * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java + (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier + object. + * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added + dialog and accesstype enum elements for a 'Not all jars signed' case. + (showNotAllSignedWarningDialog): New function. Prompts the user if the + main app code is signed but the extentions aren't. + (createDialog): Wire in the 'Not all jars signed' case. + (updateUI): Same. + * rt/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New + function. Returns if there are any unsigned jars. + +2010-07-21 Deepak Bhole + + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse extention loaders into baseloader rather than vice-verse. + +2010-07-21 Deepak Bhole + + * rt/net/sourceforge/jnlp/SecurityDesc.java: Converge all property + permission settings info a single class. + (getPermissions): Do not give read/write permissions to anything other + than what is allowed by spec. + (getSandBoxPermissions): Same. + * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove + blanket imports. + (installEnvironment): Write properties in a restricted + AccessControlContext based on app specific permissions only. + * rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (checkPermission): Remove all property permission decision making code + and collapse it all into SecurityDesc.java. + 2010-07-26 Andrew John Hughes * NEWS: Fix position of policy evaluation fix diff -r 7763083fc25d -r 30dc9370beba INSTALL --- a/INSTALL Mon Jul 26 20:51:29 2010 +0100 +++ b/INSTALL Tue Jul 27 22:55:15 2010 +0100 @@ -31,7 +31,7 @@ libpng-devel libpng-devel libjpeg-devel >= 6b zlib-devel -xulrunner-devel (can be disabled using --disable-plugin) +xulrunner-devel (can be disabled using --disable-npplugin) rhino (can be disabled using --without-rhino) libffi (for --enable-zero or on archs other than x86/x86_64/sparc) pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) @@ -162,7 +162,7 @@ These are documented fully in the releva * --enable-cacao: Replace HotSpot with the CACAO VM. * --enable-shark: Build the Shark LLVM-based JIT. * --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms. -* --disable-plugin: Don't build the browser plugin. +* --enable-plugin: Build the old browser plugin. * --disable-npplugin: Build the old unsupported plugin rather than NPPlugin. * --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. * --with-rhino: Include Javascript support using Rhino. @@ -281,10 +281,11 @@ The Browser Plugin IcedTea6 currently includes two browser plugins; a new supported plugin based on NPRuntime and an older deprecated plugin used in -previous releases. By default, the first will be built and this -is the recommended option. Passing the option --disable-npplugin -reverts to the old plugin, while --disable-plugin turns off the -build of a browser plugin altogether. +previous releases. By default, the first will be built and this is +the recommended option. Passing the option --disable-npplugin turns +off the build of a browser plugin altogether, while --disable-npplugin +--enable-plugin will build the old unsupported plugin, which won't work +with xulrunner 1.9.2 or later. A test suite is supplied for the browser plugin. It can be built using 'make plugin-tests' and run by loading the HTML page specified diff -r 7763083fc25d -r 30dc9370beba NEWS --- a/NEWS Mon Jul 26 20:51:29 2010 +0100 +++ b/NEWS Tue Jul 27 22:55:15 2010 +0100 @@ -1,5 +1,8 @@ New in release 1.7.4 (2010-XX-XX): -New in release 1.7.4 (2010-XX-XX): +New in release 1.7.4 (2010-07-28): +* NetX security issues: + - (CVE-2010-2783, RH616895): IcedTea 'Extended JNLP Services' arbitrary file access + - (CVE-2010-2548, RH616893): IcedTea Incomplete property access check for unsigned applications * Backport --with-tzdata-dir support from IcedTea6 1.8 to ensure that external timezone data works again. * Restore icedtea-override-metacity.patch to allow full screen apps and diff -r 7763083fc25d -r 30dc9370beba acinclude.m4 --- a/acinclude.m4 Mon Jul 26 20:51:29 2010 +0100 +++ b/acinclude.m4 Tue Jul 27 22:55:15 2010 +0100 @@ -1260,12 +1260,15 @@ AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS], AC_DEFUN_ONCE([IT_CHECK_OLD_PLUGIN], [ -AC_MSG_CHECKING([whether to build the browser plugin]) +AC_MSG_CHECKING([whether to build the old browser plugin]) AC_ARG_ENABLE([plugin], - [AS_HELP_STRING([--disable-plugin], - [Disable compilation of browser plugin])], - [enable_plugin="${enableval}"], [enable_plugin="yes"]) + [AS_HELP_STRING([--enable-plugin], + [Enable compilation of the old browser plugin])], + [enable_plugin="${enableval}"], [enable_plugin="no"]) AC_MSG_RESULT(${enable_plugin}) +if test "x${enable_plugin}" = "xyes"; then + AC_MSG_WARN([The old plugin is no longer maintained and will be removed in 1.7.5.]) +fi ]) AC_DEFUN_ONCE([IT_CHECK_NEW_PLUGIN], diff -r 7763083fc25d -r 30dc9370beba configure.ac --- a/configure.ac Mon Jul 26 20:51:29 2010 +0100 +++ b/configure.ac Tue Jul 27 22:55:15 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.7.3], [distro-pkg -AC_INIT([icedtea6], [1.7.3], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.7.4], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 7763083fc25d -r 30dc9370beba rt/net/sourceforge/jnlp/SecurityDesc.java --- a/rt/net/sourceforge/jnlp/SecurityDesc.java Mon Jul 26 20:51:29 2010 +0100 +++ b/rt/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 27 22:55:15 2010 +0100 @@ -53,6 +53,11 @@ public class SecurityDesc { /** the JNLP file */ private JNLPFile file; + // We go by the rules here: + // http://java.sun.com/docs/books/tutorial/deployment/doingMoreWithRIA/properties.html + + // Since this is security sensitive, take a conservative approach: + // Allow only what is specifically allowed, and deny everything else /** basic permissions for restricted mode */ private static Permission j2eePermissions[] = { @@ -95,6 +100,9 @@ public class SecurityDesc { new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), new PropertyPermission("javawebstart.version", "read"), + new PropertyPermission("javaplugin.*", "read"), + new PropertyPermission("jnlp.*", "read,write"), + new PropertyPermission("javaws.*", "read,write"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), @@ -105,6 +113,26 @@ public class SecurityDesc { // new AWTPermission("accessEventQueue"), }; + /** basic permissions for restricted mode */ + private static Permission jnlpRIAPermissions[] = { + new PropertyPermission("awt.useSystemAAFontSettings", "read,write"), + new PropertyPermission("http.agent", "read,write"), + new PropertyPermission("http.keepAlive", "read,write"), + new PropertyPermission("java.awt.syncLWRequests", "read,write"), + new PropertyPermission("java.awt.Window.locationByPlatform", "read,write"), + new PropertyPermission("javaws.cfg.jauthenticator", "read,write"), + new PropertyPermission("javax.swing.defaultlf", "read,write"), + new PropertyPermission("sun.awt.noerasebackground", "read,write"), + new PropertyPermission("sun.awt.erasebackgroundonresize", "read,write"), + new PropertyPermission("sun.java2d.d3d", "read,write"), + new PropertyPermission("sun.java2d.dpiaware", "read,write"), + new PropertyPermission("sun.java2d.noddraw", "read,write"), + new PropertyPermission("sun.java2d.opengl", "read,write"), + new PropertyPermission("swing.boldMetal", "read,write"), + new PropertyPermission("swing.metalTheme", "read,write"), + new PropertyPermission("swing.noxp", "read,write"), + new PropertyPermission("swing.useSystemFontSettings", "read,write"), + }; /** * Create a security descriptor. @@ -118,7 +146,7 @@ public class SecurityDesc { this.type = type; this.downloadHost = downloadHost; } - + /** * Returns the permissions type, one of: ALL_PERMISSIONS, * SANDBOX_PERMISSIONS, J2EE_PERMISSIONS. @@ -132,35 +160,19 @@ public class SecurityDesc { * permissions granted depending on the security type. */ public PermissionCollection getPermissions() { - Permissions permissions = new Permissions(); + PermissionCollection permissions = getSandBoxPermissions(); - // all + // discard sandbox, give all if (type == ALL_PERMISSIONS) { + permissions = new Permissions(); permissions.add(new AllPermission()); return permissions; } - // restricted - if (type == SANDBOX_PERMISSIONS) { - for (int i=0; i < sandboxPermissions.length; i++) - permissions.add(sandboxPermissions[i]); - - if (downloadHost != null) - permissions.add(new SocketPermission(downloadHost, - "connect, accept")); - } - - // j2ee + // add j2ee to sandbox if needed if (type == J2EE_PERMISSIONS) for (int i=0; i < j2eePermissions.length; i++) permissions.add(j2eePermissions[i]); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } @@ -175,16 +187,13 @@ public class SecurityDesc { for (int i=0; i < sandboxPermissions.length; i++) permissions.add(sandboxPermissions[i]); + if (file.isApplication()) + for (int i=0; i < jnlpRIAPermissions.length; i++) + permissions.add(jnlpRIAPermissions[i]); + if (downloadHost != null) permissions.add(new SocketPermission(downloadHost, "connect, accept")); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } diff -r 7763083fc25d -r 30dc9370beba rt/net/sourceforge/jnlp/resources/Messages.properties --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Mon Jul 26 20:51:29 2010 +0100 +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 27 22:55:15 2010 +0100 @@ -52,6 +52,8 @@ LCantDetermineMainClassInfo=Could not de LCantDetermineMainClassInfo=Could not determine the main class for this application. LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. +LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. +LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r 7763083fc25d -r 30dc9370beba rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Mon Jul 26 20:51:29 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Tue Jul 27 22:55:15 2010 +0100 @@ -17,17 +17,26 @@ package net.sourceforge.jnlp.runtime; -import java.awt.*; -import java.util.*; -import java.util.List; -import java.security.*; +import java.awt.Window; +import java.net.URL; +import java.security.AccessControlContext; +import java.security.AccessController; +import java.security.CodeSource; +import java.security.PrivilegedAction; +import java.security.ProtectionDomain; + import javax.swing.event.EventListenerList; -import net.sourceforge.jnlp.*; -import net.sourceforge.jnlp.event.*; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.PropertyDesc; +import net.sourceforge.jnlp.SecurityDesc; +import net.sourceforge.jnlp.ShortcutDesc; +import net.sourceforge.jnlp.event.ApplicationEvent; +import net.sourceforge.jnlp.event.ApplicationListener; import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; import net.sourceforge.jnlp.services.ServiceUtil; -import net.sourceforge.jnlp.util.*; +import net.sourceforge.jnlp.util.WeakList; +import net.sourceforge.jnlp.util.XDesktopEntry; /** * Represents a running instance of an application described in a @@ -159,6 +168,16 @@ public class ApplicationInstance { */ void installEnvironment() { final PropertyDesc props[] = file.getResources().getProperties(); + + CodeSource cs = new CodeSource((URL) null, (java.security.cert.Certificate [])null); + + JNLPClassLoader loader = (JNLPClassLoader) this.loader; + SecurityDesc s = loader.getSecurity(); + + ProtectionDomain pd = new ProtectionDomain(cs, s.getPermissions(), null, null); + + // Add to hashmap + AccessControlContext acc = new AccessControlContext(new ProtectionDomain[] {pd}); PrivilegedAction installProps = new PrivilegedAction() { public Object run() { @@ -169,7 +188,7 @@ public class ApplicationInstance { return null; } }; - AccessController.doPrivileged(installProps); + AccessController.doPrivileged(installProps, acc); } /** diff -r 7763083fc25d -r 30dc9370beba rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jul 26 20:51:29 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 27 22:55:15 2010 +0100 @@ -26,6 +26,7 @@ import java.net.URLClassLoader; import java.net.URLClassLoader; import java.security.AccessControlContext; import java.security.AccessController; +import java.security.AllPermission; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; @@ -140,6 +141,9 @@ public class JNLPClassLoader extends URL /** File entries in the jar files available to this classloader */ private TreeSet jarEntries = new TreeSet(); + /** Map of specific codesources to securitydesc */ + private HashMap jarLocationSecurityMap = new HashMap(); + /** * Create a new JNLPClassLoader from the specified file. * @@ -250,24 +254,19 @@ public class JNLPClassLoader extends URL JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); if (extLoader != null && extLoader != loader) { - for (URL u : loader.getURLs()) - extLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - extLoader.addNativeDirectory(nativeDirectory); - loader = extLoader; + if (loader.signing && !extLoader.signing) + if (!SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + + loader.merge(extLoader); } // loader is now current + ext. But we also need to think of // the baseLoader if (baseLoader != null && baseLoader != loader) { - for (URL u : loader.getURLs()) - baseLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - baseLoader.addNativeDirectory(nativeDirectory); - - loader = baseLoader; - } + loader.merge(baseLoader); + } } else { // if key is same and locations match, this is the loader we want @@ -403,6 +402,10 @@ public class JNLPClassLoader extends URL if (js.anyJarsSigned()){ signing = true; + if (!js.allJarsSigned() && + !SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + //user does not trust this publisher if (!js.getAlreadyTrustPublisher()) { checkTrustWithUser(js); @@ -417,6 +420,34 @@ public class JNLPClassLoader extends URL signing = false; //otherwise this jar is simply unsigned -- make sure to ask //for permission on certain actions + } + } + + for (JARDesc jarDesc: file.getResources().getJARs()) { + try { + URL location = tracker.getCacheFile(jarDesc.getLocation()).toURI().toURL(); + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(location, jarSecurity); + } catch (MalformedURLException mfe) { + System.err.println(mfe.getMessage()); } } @@ -501,13 +532,15 @@ public class JNLPClassLoader extends URL // set default perms PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed, evaluate based on codesource From andrew at icedtea.classpath.org Wed Jul 28 05:09:48 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:09:48 +0000 Subject: /hg/release/icedtea6-1.7: Added tag icedtea6-1.7.4 for changeset... Message-ID: changeset 8e46ad398f83 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8e46ad398f83 author: Andrew John Hughes date: Wed Jul 28 13:09:43 2010 +0100 Added tag icedtea6-1.7.4 for changeset 30dc9370beba diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r 30dc9370beba -r 8e46ad398f83 .hgtags --- a/.hgtags Tue Jul 27 22:55:15 2010 +0100 +++ b/.hgtags Wed Jul 28 13:09:43 2010 +0100 @@ -21,3 +21,4 @@ 5a3838937f7cc44c1d0fa2f778dbe1a8f5027bec 5a3838937f7cc44c1d0fa2f778dbe1a8f5027bec icedtea6-1.7.1 6e9e64c22c9625939edcd20c1a9dcd7a7aaea723 icedtea6-1.7.2 cf5e5cb5f1cd9aa7f3237e918504be6fa732fa26 icedtea6-1.7.3 +30dc9370bebaf7d7bed1f49ff220bcb75f3b2140 icedtea6-1.7.4 From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 05:17:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:17:09 +0000 Subject: [Bug 524] OpenOffice crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=524 ------- Comment #3 from mvyskocil at suse.cz 2010-07-28 12:17 ------- Already tracked in Novell Bugzilla, it's a openSUSE specific problem caused by wrong patch (even added and requested by openOffice guys ;-)). Will be fixed on a next update. Andrew, feel free to mark it as FIXED or INVALID. https://bugzilla.novell.com/show_bug.cgi?id=601243 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Wed Jul 28 05:24:34 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 13:24:34 +0100 Subject: IcedTea6 1.7.4 Released! Message-ID: <20100728122434.GB23208@rivendell.middle-earth.co.uk> We are pleased to announce a new security release from the IcedTea6 1.7 branch, 1.7.4. This update contains the following security updates: * CVE-2010-2783, RH616895: IcedTea 'Extended JNLP Services' arbitrary file access * CVE-2010-2548, RH616893: IcedTea Incomplete property access check for unsigned applications The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. *********************************************************************************** * Please note that the new NPPlugin is now the default as of this release. * * The old plugin is no longer supported and will be removed in any future 1.7 * * releases. Please only report bugs against NPPlugin. * *********************************************************************************** What?s New? ?????? * NetX security issues: - (CVE-2010-2783, RH616895): IcedTea 'Extended JNLP Services' arbitrary file access - (CVE-2010-2548, RH616893): IcedTea Incomplete property access check for unsigned applications * Backport --with-tzdata-dir support from IcedTea6 1.8 to ensure that external timezone data works again. * Restore icedtea-override-metacity.patch to allow full screen apps and other expected behavioral improvements. * S6678385, RH551835: Fixes JVM crashes when window is resized. * S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to fail trusted checks. * S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets. * S4891262: API spec, javax/accessibility: few invalid javadoc tags. * S6737212: Fixed javadoc warning messages in RowSet classes. * S6875861: javadoc build warning on java.util.Properites from unconventional @see ordering. * S6909563: Javadoc build warnings in rmi, security, management. * S6879689: Fix warning about ignored return value when compiling with -O2 * S6917485: Corba doc warnings. * S6921068: Remove javadoc build warnings from specdefault tag. * PR453, OJ100142: Fix policy evaluation to match the proprietary JDK. * Make the new plugin the default. This is now the main supported plugin. Use --disable-npplugin to use the old one. * New plugin: - Added support for JSObject.finalize() - Liveconnect message processing design changes. - Message protocol overhaul to fix race conditions - PR166: Create FIFO pies in temp dir instead of ~/.icedteaplugin - Profiled memory usage and implemented proper cleanup for C++ side. - Update debug output string and function/structure names to change 'GCJ' references to ITNP/IcedTea NP Plugin - PR461: plugin working for NSS enabled builds with firefox including a private NSS copy - Removed unncessary debug and trace output - PR474: Patch from Paulo Cesar Pereira de Andrade, incrementing malloc size to account for NULL terminator. - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error - Set context classloader for all threads in an applet's threadgroup - PR436: Close all applet threads on exit - PR480: NPPlugin with NoScript extension. - PR488: Question mark changing into underscore in URL. - RH592553: Fix bug causing 100% CPU usage. - Don't generate a random pointer from a pthread_t in the debug output. - Add ForbiddenTargetException for legacy support. - Use variadic macro for plugin debug message printing. - Don't link the plugin with libxul libraries. - Fix race conditions in plugin initialization code that were causing hangs. - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. - PR491: pass java_{code,codebase,archive} parameters to Java. - Adds javawebstart.version property and give user permission to read that property. * NetX: - Make path sanitization consistent; use a blacklisting approach. - Make the SingleInstanceServer thread a daemon thread. - Handle JNLP files which use native libraries but do not indicate it - Allow JNLP classloaders to share native libraries - Added encoding support * PulseAudio provider: - Eliminate spurious exception throwing. * SystemTap support: - PR476: Enable building SystemTap support on GCC 4.5. - Fix HotSpot tapset object_alloc size variable. * NIO2 support: - Fix UnixNativeDispatcher to build on all systems, not just x86 and x86_64. The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.7.4.tar.gz sha256sum: 4b5377f2492096bb2822b4f5119b1e3c8255defb402b0b10e56cfb0975f48cd5 The following people helped with the 1.7 release series: Lillian Angel, Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Nobuhiro Iwamatsu, Matthias Klose, Martin Matejovic, Omair Majid, Edward Nevill, Xerxes R?nby, Robert Schuster, Pavel Tisnovsky, Jon VanAlten, Mark Wielaard and Man Lung Wong. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.7.4.tar.gz $ cd icedtea6-1.7.4 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-zero --with-openjdk --enable-pulse-java --enable-systemtap ...] $ make -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Wed Jul 28 05:35:07 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 28 Jul 2010 14:35:07 +0200 Subject: IcedTea6 1.8.1 Released! Message-ID: <4C5023FB.9070803@ubuntu.com> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: icedtea-1.8.1.txt Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100728/2dda9e13/icedtea-1.8.1.txt From doko at icedtea.classpath.org Wed Jul 28 05:41:10 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 28 Jul 2010 12:41:10 +0000 Subject: /hg/icedtea6: Add 1.8.1 NEWS entry. Message-ID: changeset bd5248cb292f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bd5248cb292f author: doko at ubuntu.com date: Wed Jul 28 14:41:56 2010 +0200 Add 1.8.1 NEWS entry. 2010-07-28 Matthias Klose * NEWS: Add 1.8.1 entry. diffstat: 2 files changed, 52 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ NEWS | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- diffs (74 lines): diff -r dd4d9f50ac7c -r bd5248cb292f ChangeLog --- a/ChangeLog Mon Jul 26 09:38:47 2010 +0100 +++ b/ChangeLog Wed Jul 28 14:41:56 2010 +0200 @@ -1,3 +1,7 @@ 2010-07-26 Andrew John Hughes + + * NEWS: Add 1.8.1 entry. + 2010-07-26 Andrew John Hughes * README: Updated for HEAD using IcedTea7 version. diff -r dd4d9f50ac7c -r bd5248cb292f NEWS --- a/NEWS Mon Jul 26 09:38:47 2010 +0100 +++ b/NEWS Wed Jul 28 14:41:56 2010 +0200 @@ -1,4 +1,49 @@ New in release 1.8 (2010-XX-XX): -New in release 1.8 (2010-XX-XX): +New in release 1.9 (2010-xx-xx): + +- Updated to OpenJDK6 b20. + +New in release 1.8.1 (2010-07-28): + +- OpenJDK: + - 6678385: Fixes jvm crashes when window is resized. + - Produces the "expected" behavior for full screen applications, when + running the Metacity window manager. +- IcedTeaNPPlugin. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing hangs. + - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. + - Fix policy evaluation to match the proprietary JDK. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that property. +- NetX: + - Fix security flaw in NetX that allows arbitrary unsigned apps to set + any java property. + - Fix a flaw that allows unsigned code to access any file on the + machine (accessible to the user) and write to it. + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support +- PulseAudio: + - Eliminate spurious exception throwing. +- Zero/Shark: + - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. + - PR PR icedtea/324, icedtea/481: Fix Shark VM crash. + - Fix Zero build on Hitachi SH. +* SystemTap support: + - PR476: Enable building SystemTap support on GCC 4.5. + +New in release 1.8 (2010-04-13): - Updated to OpenJDK6 b18. - Nimbus Look 'n' Feel backported from OpenJDK7. @@ -35,6 +80,8 @@ New in release 1.8 (2010-XX-XX): - Dependence on the binary plugs mechanism removed. The plugin and NetX code is now imported into the JDK build in the same manner as langtools, CORBA, JAXP and JAXWS. +- Fix for plugin buffer overflow: https://bugzilla.mozilla.org/show_bug.cgi?id=555342 +- Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code - Zero/Shark - Shark is now able to build itself. - For ARM, add Thumb2 JIT. From ahughes at redhat.com Wed Jul 28 06:07:20 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 14:07:20 +0100 Subject: IcedTea6 1.8.1 Released! In-Reply-To: <4C5023FB.9070803@ubuntu.com> References: <4C5023FB.9070803@ubuntu.com> Message-ID: On 28 July 2010 13:35, Matthias Klose wrote: > Reposting inline rather than as an attachment: IcedTea6-1.8.1 release ====================== We are proud to announce the release of IcedTea6 1.8.1. The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. New in release 1.8.1 (2010-07-28): - OpenJDK: - 6678385: Fixes jvm crashes when window is resized. - Produces the "expected" behavior for full screen applications, when running the Metacity window manager. - IcedTeaNPPlugin. - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error - Set context classloader for all threads in an applet's threadgroup - PR436: Close all applet threads on exit - PR480: NPPlugin with NoScript extension. - PR488: Question mark changing into underscore in URL. - RH592553: Fix bug causing 100% CPU usage. - Don't generate a random pointer from a pthread_t in the debug output. - Add ForbiddenTargetException for legacy support. - Use variadic macro for plugin debug message printing. - Don't link the plugin with libxul libraries. - Fix race conditions in plugin initialization code that were causing hangs. - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. - Fix policy evaluation to match the proprietary JDK. - PR491: pass java_{code,codebase,archive} parameters to Java. - Adds javawebstart.version property and give user permission to read that property. - NetX: - Fix security flaw in NetX that allows arbitrary unsigned apps to set any java property. - Fix a flaw that allows unsigned code to access any file on the machine (accessible to the user) and write to it. - Make path sanitization consistent; use a blacklisting approach. - Make the SingleInstanceServer thread a daemon thread. - Handle JNLP files which use native libraries but do not indicate it - Allow JNLP classloaders to share native libraries - Added encoding support - PulseAudio: - Eliminate spurious exception throwing. - Zero/Shark: - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. - PR PR icedtea/324, icedtea/481: Fix Shark VM crash. - Fix Zero build on Hitachi SH. * SystemTap support: - PR476: Enable building SystemTap support on GCC 4.5. The tarball can be downloaded here: http://icedtea.classpath.org/download/source/icedtea6-1.8.1.tar.gz The following people helped with this release: Gary Benson, Deepak Bhole, Andrew John Hughes, Mark Wielaard, Matthias Klose, Omair Majid, Pavel Tisnovsky, Xerxes R?nby, Jon VanAlten, Man Lung Wong, and many others. We would also like to thank the bug reporters and testers! To get started: $ hg clone http://icedtea.classpath.org/hg/release/icedtea6-1.8.1 $ cd icedtea6-1.8.1 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-visualvm --with-openjdk --enable-pulse-java --enable-systemtap --enable-nss ...] $ make -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 07:21:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 14:21:54 +0000 Subject: [Bug 522] Loop with 100% of 1 core CPU usage reloading a page with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=522 dbhole at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #7 from dbhole at redhat.com 2010-07-28 14:21 ------- Great! :) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 07:36:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 14:36:52 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 ------- Comment #5 from gbenson at redhat.com 2010-07-28 14:36 ------- Created an attachment (id=397) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=397&action=view) Try this? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Wed Jul 28 09:16:51 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 16:16:51 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset b79b82edac07 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b79b82edac07 author: Andrew John Hughes date: Fri Jul 23 11:37:22 2010 +0100 Synchronise NetX sources and fix typo in --with-openjdk-src-dir caused by previous configure help update. 2010-07-23 Andrew John Hughes * netx/netscape/javascript/JSObjectCreatePermission.java: Remove duplicate file. * acinclude.m4: (WITH_OPENJDK_SRC_DIR): Fix breakage in parameter caused by previous configure help update. * netx/net/sourceforge/jnlp/Launcher.java: Synchronise with IcedTea6 version. changeset df5f1084ee3c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=df5f1084ee3c author: Andrew John Hughes date: Wed Jul 28 17:16:40 2010 +0100 Bump to latest JDK tree from the IcedTea forest. 2010-07-23 Andrew John Hughes * Makefile.am: Bump to latest JDK tree. diffstat: 5 files changed, 23 insertions(+), 53 deletions(-) ChangeLog | 15 +++++ Makefile.am | 4 - acinclude.m4 | 4 - netx/net/sourceforge/jnlp/Launcher.java | 6 +- netx/netscape/javascript/JSObjectCreatePermission.java | 47 ---------------- diffs (127 lines): diff -r 3dc60ae70ef6 -r df5f1084ee3c ChangeLog --- a/ChangeLog Fri Jul 23 10:56:39 2010 +0100 +++ b/ChangeLog Wed Jul 28 17:16:40 2010 +0100 @@ -1,3 +1,18 @@ 2010-07-23 Andrew John Hughes + + * Makefile.am: + Bump to latest JDK tree. + +2010-07-23 Andrew John Hughes + + * netx/netscape/javascript/JSObjectCreatePermission.java: + Remove duplicate file. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Fix breakage in parameter caused + by previous configure help update. + * netx/net/sourceforge/jnlp/Launcher.java: Synchronise + with IcedTea6 version. + 2010-07-23 Andrew John Hughes * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: diff -r 3dc60ae70ef6 -r df5f1084ee3c Makefile.am --- a/Makefile.am Fri Jul 23 10:56:39 2010 +0100 +++ b/Makefile.am Wed Jul 28 17:16:40 2010 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = a393ff93e7e5 HOTSPOT_CHANGESET = a393ff93e7e5 JAXP_CHANGESET = 826bafcb6c4a JAXWS_CHANGESET = 1661166c82dc -JDK_CHANGESET = 2dead33effe1 +JDK_CHANGESET = 2017795af50a LANGTOOLS_CHANGESET = 681f1f51926f OPENJDK_CHANGESET = 195fcceefddc @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = 995d64e272ecde0e00b6 HOTSPOT_SHA256SUM = 995d64e272ecde0e00b69e36371bc7f8a82638c1f598c956f98e10538e41d695 JAXP_SHA256SUM = 42d004e51a1f01d146ad230ce48996ddf8da3719fe571a41653f431d6b2e8a7b JAXWS_SHA256SUM = 4523909cd46fd61b5c6670bf932099d5899236a37a4058e7b2bcb855e503a0e4 -JDK_SHA256SUM = ef0d2624d6844516ac079483ea576623733ce0f27fd57bb359ffe07f7c4ac60f +JDK_SHA256SUM = 1efc1939a8fae211752369b710d2c549cbc8ec74de4724c2898e772bdba98a3c LANGTOOLS_SHA256SUM = 5ff6f2a6d15403ed8d948a07204904f6ce60e363bd0516e22f1cae830aba84f8 OPENJDK_SHA256SUM = 93c536e6bc4e962050a00321e88e694fc4e0000e2ad887b8de22830bfda2649f diff -r 3dc60ae70ef6 -r df5f1084ee3c acinclude.m4 --- a/acinclude.m4 Fri Jul 23 10:56:39 2010 +0100 +++ b/acinclude.m4 Wed Jul 28 17:16:40 2010 +0100 @@ -252,8 +252,8 @@ AC_DEFUN_ONCE([WITH_OPENJDK_SRC_DIR], [ DEFAULT_SRC_DIR=${abs_top_builddir}/openjdk AC_MSG_CHECKING([for an OpenJDK source directory]) - AC_ARG_WITH([openjdk-src-dir=DIR], - [AS_HELP_STRING([--with-openjdk-src-dir=PATH],specify the location of the OpenJDK source tree)], + AC_ARG_WITH([openjdk-src-dir], + [AS_HELP_STRING([--with-openjdk-src-dir=DIR],specify the location of the OpenJDK source tree)], [ OPENJDK_SRC_DIR=${withval} with_external_src_dir=true diff -r 3dc60ae70ef6 -r df5f1084ee3c netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Fri Jul 23 10:56:39 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Jul 28 17:16:40 2010 +0100 @@ -19,11 +19,13 @@ package net.sourceforge.jnlp; import java.applet.Applet; import java.awt.Container; -import java.io.*; +import java.io.File; import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.lang.reflect.Method; -import java.net.*; +import java.net.InetAddress; +import java.net.URL; +import java.net.UnknownHostException; import java.util.LinkedList; import java.util.List; import java.util.jar.JarFile; diff -r 3dc60ae70ef6 -r df5f1084ee3c netx/netscape/javascript/JSObjectCreatePermission.java --- a/netx/netscape/javascript/JSObjectCreatePermission.java Fri Jul 23 10:56:39 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* JSObjectCreatePermission.java - Copyright (C) 2009 Red Hat - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -IcedTea is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package netscape.javascript; - -import java.security.BasicPermission; - - -public class JSObjectCreatePermission extends BasicPermission { - public JSObjectCreatePermission() { - super("JSObjectCreate"); - } -} From ahughes at redhat.com Wed Jul 28 09:40:55 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 17:40:55 +0100 Subject: 1.9 Release Series Message-ID: Now that the new minor releases are (almost) out of the way, I'd like us to turn our thoughts to 1.9. We haven't had a new release since April and 1.8 is still based on the old HotSpot 14, which puts up behind the proprietary Oracle JDK. I plan to branch for the release on the 5th of August (a week tomorrow). This will allow a stable base for testing. * ALL PATCHES FOR THE RELEASE BRANCH NEED TO BE APPROVED ON THE MAILING LIST BY AT LEAST ONE OTHER DEVELOPER * The release will then take place when a consensus is reached on the branch being stable enough to do so. Pending issues: * Build on SPARC: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 Remaining patches to go in: * Update XRender * ipv6 issue: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008866.html * Deepak and I are working on a change to the plugin build so it can be more easily replaced without rebuilding the entire JDK and want to get this into 1.9. Expect to see further discussion on the list shortly. The build change above will go in before the branch and no build changes will be allowed after the branch has taken place, unless they are necessary to prevent breakage. Further build changes must take place on HEAD. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 28 09:42:48 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 17:42:48 +0100 Subject: hg: jdk7/hotspot-rt/hotspot: 6888526: Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <20100728164004.5FD2947D09@hg.openjdk.java.net> References: <20100728164004.5FD2947D09@hg.openjdk.java.net> Message-ID: On 28 July 2010 17:40, wrote: > Changeset: 3d90023429ec > Author: ? ?aph > Date: ? ? ?2010-07-28 17:38 +0100 > URL: ? ? ? http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/3d90023429ec > > 6888526: Linux getCurrentThreadCpuTime is drastically slower than Windows > Reviewed-by: dcubed, dholmes > > ! src/os/linux/vm/globals_linux.hpp > ! src/share/vm/runtime/arguments.cpp > > Can you add this to IcedTea6 too please? Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 28 12:14:05 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 20:14:05 +0100 Subject: Normalisation of whitespace Message-ID: Kelly supplied a very useful script (http://mail.openjdk.java.net/pipermail/jdk6-dev/2009-September/000785.html) for normalising whitespace. It is necessary to have your sources normalised in this style when committing to OpenJDK to avoid invoking the wrath of jcheck. I also used it recently to normalise the netx sources, so my own netx patches didn't include unnecessary whitespace changes. The archive doesn't seem to have retained the script, so I'm attaching it here. Thanks again to Kelly and the original script authors, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 -------------- next part -------------- A non-text attachment was scrubbed... Name: normalizer.pl Type: text/x-perl Size: 5364 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100728/c6d8e4da/normalizer.pl From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 12:16:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 19:16:57 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 ------- Comment #6 from xerxes at zafena.se 2010-07-28 19:16 ------- (In reply to comment #5) > Created an attachment (id=397) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=397&action=view) [details] > Try this? > Yes! using that fixed this bug beautifully, thanks for diffing hs17 against hs19 :) Testcase Passed: compiler/6663621/IVTest.java a small question: which hotspot file dictates that these two new false fields needs to be added to sharkCacheDecache? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Wed Jul 28 12:54:04 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Jul 2010 19:54:04 +0000 Subject: /hg/icedtea6: 8 new changesets Message-ID: changeset 842a42d31b3e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=842a42d31b3e author: Deepak Bhole date: Wed Jul 28 15:20:07 2010 -0400 Fix issue that allowed unsigned applications to modify system properties. changeset 9d642dc5d6fb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9d642dc5d6fb author: Deepak Bhole date: Wed Jul 28 15:23:50 2010 -0400 Fix issue that allowed unsigned code to use extension services without prompt. Collapse extention loaders into baseloader rather than vice-versa -- this makes it so that a loader is reported signed only if the main app is. changeset fb0ddfb8daa5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fb0ddfb8daa5 author: Deepak Bhole date: Wed Jul 28 15:36:19 2010 -0400 Add new security dialog that prompts the user if there is mixed signed and unsigned code present. changeset acaf27f20127 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=acaf27f20127 author: Deepak Bhole date: Wed Jul 28 15:38:26 2010 -0400 Warn user if extended services are being used from unsigned code (even if the main application code is signed). changeset 39a4a1ccee06 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=39a4a1ccee06 author: Deepak Bhole date: Wed Jul 28 15:40:48 2010 -0400 Mark jar as unverified only if it is unsigned (since signed jars -- even ones with problems, and still 'verified' for contents). changeset bc4e4ad6e4b8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bc4e4ad6e4b8 author: Deepak Bhole date: Wed Jul 28 15:42:06 2010 -0400 Make sandbox permissions a subset of permissions returned for any code source. changeset 31d6a8239c29 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=31d6a8239c29 author: Deepak Bhole date: Wed Jul 28 15:42:55 2010 -0400 Add security descriptor mapping for nested jars. changeset f62dd7854414 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f62dd7854414 author: Deepak Bhole date: Wed Jul 28 15:52:36 2010 -0400 Track security descriptors per jar, and made permission decisions based on it. diffstat: 11 files changed, 478 insertions(+), 147 deletions(-) ChangeLog | 81 ++++++ netx/net/sourceforge/jnlp/SecurityDesc.java | 63 ++-- netx/net/sourceforge/jnlp/resources/Messages.properties | 2 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 35 ++ netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 133 ++++++++-- netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 62 ---- netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 121 +++++++++ netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 7 netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 31 ++ netx/net/sourceforge/jnlp/services/ServiceUtil.java | 58 ++-- netx/net/sourceforge/jnlp/tools/JarSigner.java | 32 +- diffs (truncated from 927 to 500 lines): diff -r bd5248cb292f -r f62dd7854414 ChangeLog --- a/ChangeLog Wed Jul 28 14:41:56 2010 +0200 +++ b/ChangeLog Wed Jul 28 15:52:36 2010 -0400 @@ -1,3 +1,84 @@ 2010-07-28 Matthias Klose + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new + HashMap to map source locations to security descriptors for that location. + (getInstance): Use the new merge() method to merge loader data. + (initializeResources): Add map entries to the new jarLocationSecurityMap. + (getPermissions): Decide permissions based on security descriptor + associated with the calling code, rather than with the jnlp file. + (getCodeSourceSecurity): New method. Returns the security descriptor + associated with the given code source URL. + (merge): New method. Merges loader classpaths, native dir paths, and + security descriptor mappings. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add + security descriptor mapping for nested jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up + method, and make sure sandbox permissions are always a subset of what is + returned. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum + to track verification status. + (verifyJars): Mark jar unverified only if it has no signature. + (verifyJar): Use new verifyResult enum to return status based on if jar is + unsigned, signed but with errors, or signed and ok. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse new loader paths into base loader. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check + if calling code is trusted all the way to the end. If it isn't, prompt + user. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Prompt user if the main app code is signed, but the extentions aren't. + (initializeResources): Prompt user if there are any unsigned jars mixed + with signed jars. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. + Dialog shown to user if the main app code is signed but the extentions aren't. + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java + (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier + object. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added + dialog and accesstype enum elements for a 'Not all jars signed' case. + (showNotAllSignedWarningDialog): New function. Prompts the user if the + main app code is signed but the extentions aren't. + (createDialog): Wire in the 'Not all jars signed' case. + (updateUI): Same. + * netx/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New + function. Returns if there are any unsigned jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse extention loaders into baseloader rather than vice-verse. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Converge all property + permission settings info a single class. + (getPermissions): Do not give read/write permissions to anything other + than what is allowed by spec. + (getSandBoxPermissions): Same. + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove + blanket imports. + (installEnvironment): Write properties in a restricted + AccessControlContext based on app specific permissions only. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (checkPermission): Remove all property permission decision making code + and collapse it all into SecurityDesc.java. + 2010-07-28 Matthias Klose * NEWS: Add 1.8.1 entry. diff -r bd5248cb292f -r f62dd7854414 netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 28 14:41:56 2010 +0200 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 28 15:52:36 2010 -0400 @@ -53,6 +53,11 @@ public class SecurityDesc { /** the JNLP file */ private JNLPFile file; + // We go by the rules here: + // http://java.sun.com/docs/books/tutorial/deployment/doingMoreWithRIA/properties.html + + // Since this is security sensitive, take a conservative approach: + // Allow only what is specifically allowed, and deny everything else /** basic permissions for restricted mode */ private static Permission j2eePermissions[] = { @@ -95,6 +100,9 @@ public class SecurityDesc { new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), new PropertyPermission("javawebstart.version", "read"), + new PropertyPermission("javaplugin.*", "read"), + new PropertyPermission("jnlp.*", "read,write"), + new PropertyPermission("javaws.*", "read,write"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), @@ -105,6 +113,26 @@ public class SecurityDesc { // new AWTPermission("accessEventQueue"), }; + /** basic permissions for restricted mode */ + private static Permission jnlpRIAPermissions[] = { + new PropertyPermission("awt.useSystemAAFontSettings", "read,write"), + new PropertyPermission("http.agent", "read,write"), + new PropertyPermission("http.keepAlive", "read,write"), + new PropertyPermission("java.awt.syncLWRequests", "read,write"), + new PropertyPermission("java.awt.Window.locationByPlatform", "read,write"), + new PropertyPermission("javaws.cfg.jauthenticator", "read,write"), + new PropertyPermission("javax.swing.defaultlf", "read,write"), + new PropertyPermission("sun.awt.noerasebackground", "read,write"), + new PropertyPermission("sun.awt.erasebackgroundonresize", "read,write"), + new PropertyPermission("sun.java2d.d3d", "read,write"), + new PropertyPermission("sun.java2d.dpiaware", "read,write"), + new PropertyPermission("sun.java2d.noddraw", "read,write"), + new PropertyPermission("sun.java2d.opengl", "read,write"), + new PropertyPermission("swing.boldMetal", "read,write"), + new PropertyPermission("swing.metalTheme", "read,write"), + new PropertyPermission("swing.noxp", "read,write"), + new PropertyPermission("swing.useSystemFontSettings", "read,write"), + }; /** * Create a security descriptor. @@ -132,35 +160,19 @@ public class SecurityDesc { * permissions granted depending on the security type. */ public PermissionCollection getPermissions() { - Permissions permissions = new Permissions(); + PermissionCollection permissions = getSandBoxPermissions(); - // all + // discard sandbox, give all if (type == ALL_PERMISSIONS) { + permissions = new Permissions(); permissions.add(new AllPermission()); return permissions; } - // restricted - if (type == SANDBOX_PERMISSIONS) { - for (int i=0; i < sandboxPermissions.length; i++) - permissions.add(sandboxPermissions[i]); - - if (downloadHost != null) - permissions.add(new SocketPermission(downloadHost, - "connect, accept")); - } - - // j2ee + // add j2ee to sandbox if needed if (type == J2EE_PERMISSIONS) for (int i=0; i < j2eePermissions.length; i++) permissions.add(j2eePermissions[i]); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } @@ -175,16 +187,13 @@ public class SecurityDesc { for (int i=0; i < sandboxPermissions.length; i++) permissions.add(sandboxPermissions[i]); + if (file.isApplication()) + for (int i=0; i < jnlpRIAPermissions.length; i++) + permissions.add(jnlpRIAPermissions[i]); + if (downloadHost != null) permissions.add(new SocketPermission(downloadHost, "connect, accept")); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } diff -r bd5248cb292f -r f62dd7854414 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 28 14:41:56 2010 +0200 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 28 15:52:36 2010 -0400 @@ -52,6 +52,8 @@ LCantDetermineMainClassInfo=Could not de LCantDetermineMainClassInfo=Could not determine the main class for this application. LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. +LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. +LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r bd5248cb292f -r f62dd7854414 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 28 14:41:56 2010 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 28 15:52:36 2010 -0400 @@ -17,17 +17,26 @@ package net.sourceforge.jnlp.runtime; -import java.awt.*; -import java.util.*; -import java.util.List; -import java.security.*; +import java.awt.Window; +import java.net.URL; +import java.security.AccessControlContext; +import java.security.AccessController; +import java.security.CodeSource; +import java.security.PrivilegedAction; +import java.security.ProtectionDomain; + import javax.swing.event.EventListenerList; -import net.sourceforge.jnlp.*; -import net.sourceforge.jnlp.event.*; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.PropertyDesc; +import net.sourceforge.jnlp.SecurityDesc; +import net.sourceforge.jnlp.ShortcutDesc; +import net.sourceforge.jnlp.event.ApplicationEvent; +import net.sourceforge.jnlp.event.ApplicationListener; import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; import net.sourceforge.jnlp.services.ServiceUtil; -import net.sourceforge.jnlp.util.*; +import net.sourceforge.jnlp.util.WeakList; +import net.sourceforge.jnlp.util.XDesktopEntry; /** * Represents a running instance of an application described in a @@ -160,6 +169,16 @@ public class ApplicationInstance { void installEnvironment() { final PropertyDesc props[] = file.getResources().getProperties(); + CodeSource cs = new CodeSource((URL) null, (java.security.cert.Certificate [])null); + + JNLPClassLoader loader = (JNLPClassLoader) this.loader; + SecurityDesc s = loader.getSecurity(); + + ProtectionDomain pd = new ProtectionDomain(cs, s.getPermissions(), null, null); + + // Add to hashmap + AccessControlContext acc = new AccessControlContext(new ProtectionDomain[] {pd}); + PrivilegedAction installProps = new PrivilegedAction() { public Object run() { for (int i=0; i < props.length; i++) { @@ -169,7 +188,7 @@ public class ApplicationInstance { return null; } }; - AccessController.doPrivileged(installProps); + AccessController.doPrivileged(installProps, acc); } /** diff -r bd5248cb292f -r f62dd7854414 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 28 14:41:56 2010 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 28 15:52:36 2010 -0400 @@ -26,6 +26,7 @@ import java.net.URLClassLoader; import java.net.URLClassLoader; import java.security.AccessControlContext; import java.security.AccessController; +import java.security.AllPermission; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; @@ -140,6 +141,9 @@ public class JNLPClassLoader extends URL /** File entries in the jar files available to this classloader */ private TreeSet jarEntries = new TreeSet(); + /** Map of specific codesources to securitydesc */ + private HashMap jarLocationSecurityMap = new HashMap(); + /** * Create a new JNLPClassLoader from the specified file. * @@ -249,23 +253,17 @@ public class JNLPClassLoader extends URL JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); if (extLoader != null && extLoader != loader) { - for (URL u : loader.getURLs()) - extLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - extLoader.addNativeDirectory(nativeDirectory); + if (loader.signing && !extLoader.signing) + if (!SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); - loader = extLoader; + loader.merge(extLoader); } // loader is now current + ext. But we also need to think of // the baseLoader if (baseLoader != null && baseLoader != loader) { - for (URL u : loader.getURLs()) - baseLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - baseLoader.addNativeDirectory(nativeDirectory); - - loader = baseLoader; + loader.merge(baseLoader); } } else { @@ -402,6 +400,11 @@ public class JNLPClassLoader extends URL if (js.anyJarsSigned()){ signing = true; + if (!js.allJarsSigned() && + !SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + + //user does not trust this publisher if (!js.getAlreadyTrustPublisher()) { checkTrustWithUser(js); @@ -416,6 +419,34 @@ public class JNLPClassLoader extends URL signing = false; //otherwise this jar is simply unsigned -- make sure to ask //for permission on certain actions + } + } + + for (JARDesc jarDesc: file.getResources().getJARs()) { + try { + URL location = tracker.getCacheFile(jarDesc.getLocation()).toURI().toURL(); + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(location, jarSecurity); + } catch (MalformedURLException mfe) { + System.err.println(mfe.getMessage()); } } @@ -500,13 +531,15 @@ public class JNLPClassLoader extends URL // set default perms PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed, evaluate based on codesource - if (security.getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - security.getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs.getCodeSigners() != null && + (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || + getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) + ) { - if (cs.getCodeSigners() != null) { - permissions = security.getPermissions(); - } + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(); } Enumeration e = permissions.elements(); @@ -621,8 +654,31 @@ public class JNLPClassLoader extends URL } try { - addURL(new URL("file://" + extractedJarLocation)); - } catch (MalformedURLException mfue) { + URL fileURL = new URL("file://" + extractedJarLocation); + addURL(fileURL); + + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(fileURL, jarSecurity); + + } catch (MalformedURLException mfue) { if (JNLPRuntime.isDebug()) System.err.println("Unable to add extracted nested jar to classpath"); @@ -1093,4 +1149,43 @@ public class JNLPClassLoader extends URL protected SecurityDesc getSecurity() { return security; } + + /** + * Returns the security descriptor for given code source URL + * + * @param source The code source + * @return The SecurityDescriptor for that source + */ + + protected SecurityDesc getCodeSourceSecurity(URL source) { + return jarLocationSecurityMap.get(source); + } + + /** + * Merges the code source/security descriptor mapping from another loader + * + * @param extLoader The loader form which to merge + * @throws SecurityException if the code is called from an untrusted source + */ + private void merge(JNLPClassLoader extLoader) { + + try { + System.getSecurityManager().checkPermission(new AllPermission()); + } catch (SecurityException se) { + throw new SecurityException("JNLPClassLoader() may only be called from trusted sources!"); + } + + // jars + for (URL u : extLoader.getURLs()) + addURL(u); + + // native search paths + for (File nativeDirectory: extLoader.getNativeDirectories()) + addNativeDirectory(nativeDirectory); + + // security descriptors + for (URL key: extLoader.jarLocationSecurityMap.keySet()) { + jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); + } + } } diff -r bd5248cb292f -r f62dd7854414 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Jul 28 14:41:56 2010 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Jul 28 15:52:36 2010 -0400 @@ -334,68 +334,6 @@ class JNLPSecurityManager extends Securi } } } - - } else if (perm instanceof PropertyPermission) { - - if (JNLPRuntime.isDebug()) - System.err.println("Requesting property: " + perm.toString()); - - // We go by the rules here: - // http://java.sun.com/docs/books/tutorial/deployment/doingMoreWithRIA/properties.html - - // Since this is security sensitive, take a conservative approach: - // Allow only what is specifically allowed, and deny everything else - - // First, allow what everyone is allowed to read - if (perm.getActions().equals("read")) { - if ( perm.getName().equals("java.class.version") || - perm.getName().equals("java.vendor") || - perm.getName().equals("java.vendor.url") || - perm.getName().equals("java.version") || - perm.getName().equals("os.name") || - perm.getName().equals("os.arch") || From dbhole at icedtea.classpath.org Wed Jul 28 13:07:09 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Jul 2010 20:07:09 +0000 Subject: /hg/icedtea6: Fix build error introduced when porting plugin cha... Message-ID: changeset cc5ebdf8e65d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cc5ebdf8e65d author: Deepak Bhole date: Wed Jul 28 16:06:09 2010 -0400 Fix build error introduced when porting plugin changes diffstat: 2 files changed, 5 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 1 - diffs (23 lines): diff -r f62dd7854414 -r cc5ebdf8e65d ChangeLog --- a/ChangeLog Wed Jul 28 15:52:36 2010 -0400 +++ b/ChangeLog Wed Jul 28 16:06:09 2010 -0400 @@ -1,3 +1,8 @@ 2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java + (addComponents): Fix erroneous line that got added when backporting. + 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new diff -r f62dd7854414 -r cc5ebdf8e65d netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java --- a/netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java Wed Jul 28 15:52:36 2010 -0400 +++ b/netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java Wed Jul 28 16:06:09 2010 -0400 @@ -65,7 +65,6 @@ public class NotAllSignedWarningPane ext * Creates the actual GUI components, and adds it to this panel */ private void addComponents() { - SecurityWarningDialog.AccessType type = parent.getType(); JNLPFile file = parent.getFile(); String topLabelText = "Only parts of this application code are signed."; From dbhole at redhat.com Wed Jul 28 13:18:29 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Jul 2010 16:18:29 -0400 Subject: RFE: Proposed changes to .hgignore Message-ID: <20100728201829.GB28477@redhat.com> Hi, In light of the recent changes to the build system, I was wondering if anyone had nay issues with the attached changes to .hgignore? Thanks, Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: hgignore-changes.patch Type: text/x-patch Size: 641 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100728/1dc7b670/hgignore-changes.patch From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 13:20:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 20:20:04 +0000 Subject: [Bug 398] hotspot hs16 / 6b17 build failure on sparc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | ------- Comment #3 from gnu_andrew at member.fsf.org 2010-07-28 20:20 ------- This seems to be the patch that broke it: http://hg.openjdk.java.net/jdk6/jdk6/hotspot/rev/6b2273dd6fa9 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 13:59:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 20:59:27 +0000 Subject: [Bug 484] Shark jit code block "0xcdcdcdcd" zombie wipeout Sigsegv crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=484 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.9 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 14:03:01 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 21:03:01 +0000 Subject: [Bug 494] Shark fails to catch Exception using catch (Throwable e) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=494 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.9 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 14:05:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 21:05:00 +0000 Subject: [Bug 481] Shark assert(pc == __null, "should be") / Sigsegv bombs without assertions - Deoptimizer issue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=481 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.8.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 14:05:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Jul 2010 21:05:15 +0000 Subject: [Bug 483] Shark miscompiles sun.misc.Unsafe::getByte Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=483 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6-1.9 |6-1.8.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Wed Jul 28 14:08:40 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 28 Jul 2010 23:08:40 +0200 Subject: 1.9 Release Series In-Reply-To: References: Message-ID: <4C509C58.5050706@ubuntu.com> On 28.07.2010 18:40, Dr Andrew John Hughes wrote: > Remaining patches to go in: > > * Update XRender > * ipv6 issue: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008866.html > * Deepak and I are working on a change to the plugin build so it can > be more easily replaced without rebuilding the entire JDK and want to > get this into 1.9. Expect to see further discussion on the list > shortly. a separate source? that would be appreciated. other outstanding issues: - update to 6b21? - ARM assembler interpreter; this is a regression for ARM; not sure if we'll have something for 1.9, but that update could be something for 1.9.1. Matthias From ahughes at redhat.com Wed Jul 28 14:17:32 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 22:17:32 +0100 Subject: RFE: Proposed changes to .hgignore In-Reply-To: <20100728201829.GB28477@redhat.com> References: <20100728201829.GB28477@redhat.com> Message-ID: On 28 July 2010 21:18, Deepak Bhole wrote: > Hi, > > In light of the recent changes to the build system, I was wondering if > anyone had nay issues with the attached changes to .hgignore? > > Thanks, > Deepak > I'd much rather it looked like the IcedTea7 version: syntax: glob *~ configure missing aclocal.m4 autom4te.cache config.guess config.sub config.status install-sh Makefile.in The kind of changes you propose go further towards hiding a dirty source tree and have, in my experience, hidden files that need to be added. If you don't want these files to show up in hg status, then we have an option that solves that. It's called 'make clean'. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Wed Jul 28 14:26:22 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Jul 2010 17:26:22 -0400 Subject: RFE: Proposed changes to .hgignore In-Reply-To: References: <20100728201829.GB28477@redhat.com> Message-ID: <20100728212622.GB30697@redhat.com> * Dr Andrew John Hughes [2010-07-28 17:17]: > On 28 July 2010 21:18, Deepak Bhole wrote: > > Hi, > > > > In light of the recent changes to the build system, I was wondering if > > anyone had nay issues with the attached changes to .hgignore? > > > > Thanks, > > Deepak > > > > I'd much rather it looked like the IcedTea7 version: > > syntax: glob > *~ > configure > missing > aclocal.m4 > autom4te.cache > config.guess > config.sub > config.status > install-sh > Makefile.in > > The kind of changes you propose go further towards hiding a dirty > source tree and have, in my experience, hidden files that need to be > added. > Ah okay. I don't mind a dirty source tree. I just thought that we were in fact trying to hide it, given that autotools generated items were being ignored. If that is not the case, please disregard the patch. Cheers, Deepak > If you don't want these files to show up in hg status, then we have an > option that solves that. It's called 'make clean'. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Jul 28 14:26:26 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 22:26:26 +0100 Subject: 1.9 Release Series In-Reply-To: <4C509C58.5050706@ubuntu.com> References: <4C509C58.5050706@ubuntu.com> Message-ID: On 28 July 2010 22:08, Matthias Klose wrote: > On 28.07.2010 18:40, Dr Andrew John Hughes wrote: >> >> Remaining patches to go in: >> >> * Update XRender >> * ipv6 issue: >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008866.html >> * Deepak and I are working on a change to the plugin build so it can >> be more easily replaced without rebuilding the entire JDK and want to >> get this into 1.9. ?Expect to see further discussion on the list >> shortly. > > a separate source? that would be appreciated. > With 1.9, the plan is to produce the classes in a separate jar file which can be rebuilt without rebuilding OpenJDK and which allows a plugin package to be updated without touching rt.jar. That should require minimal build changes (we already produce the classes in liveconnect.stamp, then zip them in liveconnect-dist.stamp), but does mean that the plugin will still be part of the IcedTea build through 'make plugin'. For 1.10, the plan is to spin it out into its own tree with its own release cycle, as we just did with VisualVM. But doing that in 1.9, especially at this stage, is too much. > other outstanding issues: > > ?- update to 6b21? It doesn't exist yet. 1.10. > ?- ARM assembler interpreter; this is a regression for ARM; not > ? sure if we'll have something for 1.9, but that update could > ? be something for 1.9.1. I'd be happy to see that fixed in 1.9.1. But as there's no ETA for the ARM fix, I don't think we should delay 1.9 for it. > > Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From doko at icedtea.classpath.org Wed Jul 28 14:59:22 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 28 Jul 2010 21:59:22 +0000 Subject: /hg/icedtea6: Boring ChangeLog formatting change to limit lines ... Message-ID: changeset f57a0960f919 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f57a0960f919 author: doko at ubuntu.com date: Thu Jul 29 00:00:07 2010 +0200 Boring ChangeLog formatting change to limit lines to 80 columns diffstat: 1 file changed, 88 insertions(+), 70 deletions(-) ChangeLog | 158 +++++++++++++++++++++++++++++++++---------------------------- diffs (366 lines): diff -r cc5ebdf8e65d -r f57a0960f919 ChangeLog --- a/ChangeLog Wed Jul 28 16:06:09 2010 -0400 +++ b/ChangeLog Thu Jul 29 00:00:07 2010 +0200 @@ -6,9 +6,11 @@ 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new - HashMap to map source locations to security descriptors for that location. + HashMap to map source locations to security descriptors for that + location. (getInstance): Use the new merge() method to merge loader data. - (initializeResources): Add map entries to the new jarLocationSecurityMap. + (initializeResources): Add map entries to the new + jarLocationSecurityMap. (getPermissions): Decide permissions based on security descriptor associated with the calling code, rather than with the jnlp file. (getCodeSourceSecurity): New method. Returns the security descriptor @@ -18,40 +20,42 @@ 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add - security descriptor mapping for nested jars. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): + Add security descriptor mapping for nested jars. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up - method, and make sure sandbox permissions are always a subset of what is - returned. + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean + up method, and make sure sandbox permissions are always a subset of + what is returned. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum - to track verification status. + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult + enum to track verification status. (verifyJars): Mark jar unverified only if it has no signature. - (verifyJar): Use new verifyResult enum to return status based on if jar is - unsigned, signed but with errors, or signed and ok. + (verifyJar): Use new verifyResult enum to return status based on if jar + is unsigned, signed but with errors, or signed and ok. 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Collapse new loader paths into base loader. - * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check - if calling code is trusted all the way to the end. If it isn't, prompt - user. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): + Check if calling code is trusted all the way to the end. If it isn't, + prompt user. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new + strings. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Prompt user if the main app code is signed, but the extentions aren't. (initializeResources): Prompt user if there are any unsigned jars mixed with signed jars. - * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. - Dialog shown to user if the main app code is signed but the extentions aren't. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New + file. Dialog shown to user if the main app code is signed but the + extentions aren't. * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier object. @@ -269,8 +273,8 @@ 2010-07-23 Andrew John Hughes - * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to - Parser.java, since they could cause potential regressions. + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 + to Parser.java, since they could cause potential regressions. 2010-07-20 Man Lung Wong @@ -300,8 +304,8 @@ 2010-07-20 Omair Majid @@ -314,23 +318,23 @@ 2010-07-19 Omair Majid @@ -401,7 +407,8 @@ 2010-07-19 Gary Benson @@ -411,10 +418,11 @@ 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for - upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is - resized. + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window + is resized. 2010-07-14 Jon VanAlten + * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like @@ -439,8 +447,8 @@ 2010-07-14 Deepak Bhole + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java @@ -671,7 +680,8 @@ 2010-06-30 Omair Majid @@ -686,8 +696,8 @@ 2010-06-30 Omair Majid @@ -703,11 +713,14 @@ 2010-06-30 Andrew John Hughes - * plugin/icedteanp/IcedTeaNPPlugin.cc: Use getproperty NPAPI call instead - of evaluate, to get page URL. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Use getproperty NPAPI call + instead of evaluate, to get page URL. 2010-06-14 Andrew John Hughes @@ -1247,8 +1260,8 @@ 2010-06-07 Andrew John Hughes - * Makefile.am - (stamps/icedtea.stamp): Use full path when adding PulseAudio sources to src.zip + * Makefile.am (stamps/icedtea.stamp): Use full path when adding + PulseAudio sources to src.zip 2010-06-06 Andrew John Hughes @@ -1932,14 +1945,16 @@ 2010-04-06 Deepak Bhole http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=527 Summary: Bad variable in hotspot.method_entry|exit probes from hotspot.stp Product: IcedTea Version: unspecified Platform: x86_64 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: jon.vanalten at redhat.com Variables $arg4 and $arg5 in these probes are pointer to and length of method name, respectively. In my recent build, the $arg5 (length) has been quite wrong, giving values much larger than the length of the string. The probe alias sets up a $method variable using systemtap function user_string_n($arg4, $arg5). Which if the method name happens to be null terminated this function manages to do the right thing, but if not there is some other character at the end of the $method string. Example of output: $ stap -I/notnfs/builds/icedtea6_staptest/openjdk.build/j2sdk-image/tapset -e 'probe hotspot.method_entry { printf("method=%s size=%d\n",method, $arg5) }' \-c '/notnfs/builds/icedtea6_staptest/openjdk.build/j2sdk-image/jre/bin/java -XX:+DTraceMethodProbes -version' method= size=1664876552 method=registerNatives size=1701969935 method= size=1664876552 method= size=1765539846 method= size=1765539846 I am working from revision r7a124a6f0568 $ /notnfs/builds/icedtea6_staptest/openjdk.build/j2sdk-image/jre/bin/java -version java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9pre+r7a124a6f0568) (linux-gnu build 1.6.0_20-b20) OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode) Some of the nonprintable characters show up as control codes if the output is piped through less. For example, the methods above appear with "^A" after the method name. For reference, correct output using my Fedora 12 1.8-based install: $ stap -e 'probe hotspot.method_entry { printf("method:%s length:%d\n",method,$arg5) }' -c 'java -XX:+DTraceMethodProbes -version' method: size:6 method: size:6 method: size:6 method: size:8 method:registerNatives size:15 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Wed Jul 28 15:20:49 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 22:20:49 +0000 Subject: /hg/icedtea: 10 new changesets Message-ID: changeset b0e276df145d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b0e276df145d author: Deepak Bhole date: Wed Jul 28 15:20:07 2010 -0400 Fix issue that allowed unsigned applications to modify system properties. changeset af0efa63ddfe in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=af0efa63ddfe author: Deepak Bhole date: Wed Jul 28 15:23:50 2010 -0400 Fix issue that allowed unsigned code to use extension services without prompt. Collapse extention loaders into baseloader rather than vice-versa -- this makes it so that a loader is reported signed only if the main app is. changeset 0165a4d30876 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0165a4d30876 author: Deepak Bhole date: Wed Jul 28 15:36:19 2010 -0400 Add new security dialog that prompts the user if there is mixed signed and unsigned code present. changeset 3918f39eab4d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3918f39eab4d author: Deepak Bhole date: Wed Jul 28 15:38:26 2010 -0400 Warn user if extended services are being used from unsigned code (even if the main application code is signed). changeset 645e965b61e7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=645e965b61e7 author: Deepak Bhole date: Wed Jul 28 15:40:48 2010 -0400 Mark jar as unverified only if it is unsigned (since signed jars -- even ones with problems, and still 'verified' for contents). changeset d0941d204617 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d0941d204617 author: Deepak Bhole date: Wed Jul 28 15:42:06 2010 -0400 Make sandbox permissions a subset of permissions returned for any code source. changeset b4d1a0a7ad8f in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b4d1a0a7ad8f author: Deepak Bhole date: Wed Jul 28 15:42:55 2010 -0400 Add security descriptor mapping for nested jars. changeset 1da6f883f1d3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=1da6f883f1d3 author: Deepak Bhole date: Wed Jul 28 15:52:36 2010 -0400 Track security descriptors per jar, and made permission decisions based on it. changeset a6702aa5f9e7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a6702aa5f9e7 author: Deepak Bhole date: Wed Jul 28 16:06:09 2010 -0400 Fix build error introduced when porting plugin changes changeset c6b53690798e in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=c6b53690798e author: Andrew John Hughes date: Wed Jul 28 23:20:41 2010 +0100 PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 2010-07-28 Gary Benson PR icedtea/525: * NEWS: Updated. * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp, Add missing fields. diffstat: 13 files changed, 493 insertions(+), 148 deletions(-) ChangeLog | 93 ++++++ NEWS | 3 netx/net/sourceforge/jnlp/SecurityDesc.java | 63 ++-- netx/net/sourceforge/jnlp/resources/Messages.properties | 2 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 35 ++ netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 133 ++++++++-- netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 62 ---- netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 120 +++++++++ netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 7 netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 31 ++ netx/net/sourceforge/jnlp/services/ServiceUtil.java | 58 ++-- netx/net/sourceforge/jnlp/tools/JarSigner.java | 32 +- ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 2 diffs (truncated from 967 to 500 lines): diff -r df5f1084ee3c -r c6b53690798e ChangeLog --- a/ChangeLog Wed Jul 28 17:16:40 2010 +0100 +++ b/ChangeLog Wed Jul 28 23:20:41 2010 +0100 @@ -1,3 +1,96 @@ 2010-07-23 Andrew John Hughes + + PR icedtea/525: + * NEWS: Updated. + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp, + Add missing fields. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java + (addComponents): Fix erroneous line that got added when backporting. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new + HashMap to map source locations to security descriptors for that location. + (getInstance): Use the new merge() method to merge loader data. + (initializeResources): Add map entries to the new jarLocationSecurityMap. + (getPermissions): Decide permissions based on security descriptor + associated with the calling code, rather than with the jnlp file. + (getCodeSourceSecurity): New method. Returns the security descriptor + associated with the given code source URL. + (merge): New method. Merges loader classpaths, native dir paths, and + security descriptor mappings. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add + security descriptor mapping for nested jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up + method, and make sure sandbox permissions are always a subset of what is + returned. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum + to track verification status. + (verifyJars): Mark jar unverified only if it has no signature. + (verifyJar): Use new verifyResult enum to return status based on if jar is + unsigned, signed but with errors, or signed and ok. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse new loader paths into base loader. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check + if calling code is trusted all the way to the end. If it isn't, prompt + user. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Prompt user if the main app code is signed, but the extentions aren't. + (initializeResources): Prompt user if there are any unsigned jars mixed + with signed jars. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. + Dialog shown to user if the main app code is signed but the extentions aren't. + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java + (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier + object. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added + dialog and accesstype enum elements for a 'Not all jars signed' case. + (showNotAllSignedWarningDialog): New function. Prompts the user if the + main app code is signed but the extentions aren't. + (createDialog): Wire in the 'Not all jars signed' case. + (updateUI): Same. + * netx/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New + function. Returns if there are any unsigned jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse extention loaders into baseloader rather than vice-verse. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Converge all property + permission settings info a single class. + (getPermissions): Do not give read/write permissions to anything other + than what is allowed by spec. + (getSandBoxPermissions): Same. + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove + blanket imports. + (installEnvironment): Write properties in a restricted + AccessControlContext based on app specific permissions only. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (checkPermission): Remove all property permission decision making code + and collapse it all into SecurityDesc.java. + 2010-07-23 Andrew John Hughes * Makefile.am: diff -r df5f1084ee3c -r c6b53690798e NEWS --- a/NEWS Wed Jul 28 17:16:40 2010 +0100 +++ b/NEWS Wed Jul 28 23:20:41 2010 +0100 @@ -1,4 +1,4 @@ New in release 1.13 (2010-XX-XX) -New in release 1.13 (2010-XX-XX) +New in release 1.13 (2010-07-28) - Updated to OpenJDK7 milestone 7. - libjpeg7 supported. @@ -42,6 +42,7 @@ Zero/Shark - Update Shark for LLVM r94686 API change. - S6914622, S6909153, S6913869 upstream Zero fixes. - Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. +- PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. NPPlugin fixes - PR446: Use JDK_UPDATE_VERSION to set the jpi version. - Re-designed frame embedding code so that the applet is dynamically diff -r df5f1084ee3c -r c6b53690798e netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 28 17:16:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Jul 28 23:20:41 2010 +0100 @@ -53,6 +53,11 @@ public class SecurityDesc { /** the JNLP file */ private JNLPFile file; + // We go by the rules here: + // http://java.sun.com/docs/books/tutorial/deployment/doingMoreWithRIA/properties.html + + // Since this is security sensitive, take a conservative approach: + // Allow only what is specifically allowed, and deny everything else /** basic permissions for restricted mode */ private static Permission j2eePermissions[] = { @@ -95,6 +100,9 @@ public class SecurityDesc { new PropertyPermission("java.vm.vendor", "read"), new PropertyPermission("java.vm.name", "read"), new PropertyPermission("javawebstart.version", "read"), + new PropertyPermission("javaplugin.*", "read"), + new PropertyPermission("jnlp.*", "read,write"), + new PropertyPermission("javaws.*", "read,write"), new RuntimePermission("exitVM"), new RuntimePermission("stopThread"), new AWTPermission("showWindowWithoutWarningBanner"), @@ -105,6 +113,26 @@ public class SecurityDesc { // new AWTPermission("accessEventQueue"), }; + /** basic permissions for restricted mode */ + private static Permission jnlpRIAPermissions[] = { + new PropertyPermission("awt.useSystemAAFontSettings", "read,write"), + new PropertyPermission("http.agent", "read,write"), + new PropertyPermission("http.keepAlive", "read,write"), + new PropertyPermission("java.awt.syncLWRequests", "read,write"), + new PropertyPermission("java.awt.Window.locationByPlatform", "read,write"), + new PropertyPermission("javaws.cfg.jauthenticator", "read,write"), + new PropertyPermission("javax.swing.defaultlf", "read,write"), + new PropertyPermission("sun.awt.noerasebackground", "read,write"), + new PropertyPermission("sun.awt.erasebackgroundonresize", "read,write"), + new PropertyPermission("sun.java2d.d3d", "read,write"), + new PropertyPermission("sun.java2d.dpiaware", "read,write"), + new PropertyPermission("sun.java2d.noddraw", "read,write"), + new PropertyPermission("sun.java2d.opengl", "read,write"), + new PropertyPermission("swing.boldMetal", "read,write"), + new PropertyPermission("swing.metalTheme", "read,write"), + new PropertyPermission("swing.noxp", "read,write"), + new PropertyPermission("swing.useSystemFontSettings", "read,write"), + }; /** * Create a security descriptor. @@ -132,35 +160,19 @@ public class SecurityDesc { * permissions granted depending on the security type. */ public PermissionCollection getPermissions() { - Permissions permissions = new Permissions(); + PermissionCollection permissions = getSandBoxPermissions(); - // all + // discard sandbox, give all if (type == ALL_PERMISSIONS) { + permissions = new Permissions(); permissions.add(new AllPermission()); return permissions; } - // restricted - if (type == SANDBOX_PERMISSIONS) { - for (int i=0; i < sandboxPermissions.length; i++) - permissions.add(sandboxPermissions[i]); - - if (downloadHost != null) - permissions.add(new SocketPermission(downloadHost, - "connect, accept")); - } - - // j2ee + // add j2ee to sandbox if needed if (type == J2EE_PERMISSIONS) for (int i=0; i < j2eePermissions.length; i++) permissions.add(j2eePermissions[i]); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } @@ -175,16 +187,13 @@ public class SecurityDesc { for (int i=0; i < sandboxPermissions.length; i++) permissions.add(sandboxPermissions[i]); + if (file.isApplication()) + for (int i=0; i < jnlpRIAPermissions.length; i++) + permissions.add(jnlpRIAPermissions[i]); + if (downloadHost != null) permissions.add(new SocketPermission(downloadHost, "connect, accept")); - - // properties - PropertyDesc props[] = file.getResources().getProperties(); - for (int i=0; i < props.length; i++) { - // should only allow jnlp.* properties if in sandbox? - permissions.add(new PropertyPermission(props[i].getKey(), "read,write")); - } return permissions; } diff -r df5f1084ee3c -r c6b53690798e netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 28 17:16:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 28 23:20:41 2010 +0100 @@ -52,6 +52,8 @@ LCantDetermineMainClassInfo=Could not de LCantDetermineMainClassInfo=Could not determine the main class for this application. LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars. LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed. +LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. +LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. JNotApplet=File is not an applet. JNotApplication=File is not an application. diff -r df5f1084ee3c -r c6b53690798e netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 28 17:16:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 28 23:20:41 2010 +0100 @@ -17,17 +17,26 @@ package net.sourceforge.jnlp.runtime; -import java.awt.*; -import java.util.*; -import java.util.List; -import java.security.*; +import java.awt.Window; +import java.net.URL; +import java.security.AccessControlContext; +import java.security.AccessController; +import java.security.CodeSource; +import java.security.PrivilegedAction; +import java.security.ProtectionDomain; + import javax.swing.event.EventListenerList; -import net.sourceforge.jnlp.*; -import net.sourceforge.jnlp.event.*; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.PropertyDesc; +import net.sourceforge.jnlp.SecurityDesc; +import net.sourceforge.jnlp.ShortcutDesc; +import net.sourceforge.jnlp.event.ApplicationEvent; +import net.sourceforge.jnlp.event.ApplicationListener; import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; import net.sourceforge.jnlp.services.ServiceUtil; -import net.sourceforge.jnlp.util.*; +import net.sourceforge.jnlp.util.WeakList; +import net.sourceforge.jnlp.util.XDesktopEntry; /** * Represents a running instance of an application described in a @@ -160,6 +169,16 @@ public class ApplicationInstance { void installEnvironment() { final PropertyDesc props[] = file.getResources().getProperties(); + CodeSource cs = new CodeSource((URL) null, (java.security.cert.Certificate [])null); + + JNLPClassLoader loader = (JNLPClassLoader) this.loader; + SecurityDesc s = loader.getSecurity(); + + ProtectionDomain pd = new ProtectionDomain(cs, s.getPermissions(), null, null); + + // Add to hashmap + AccessControlContext acc = new AccessControlContext(new ProtectionDomain[] {pd}); + PrivilegedAction installProps = new PrivilegedAction() { public Object run() { for (int i=0; i < props.length; i++) { @@ -169,7 +188,7 @@ public class ApplicationInstance { return null; } }; - AccessController.doPrivileged(installProps); + AccessController.doPrivileged(installProps, acc); } /** diff -r df5f1084ee3c -r c6b53690798e netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 28 17:16:40 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jul 28 23:20:41 2010 +0100 @@ -26,6 +26,7 @@ import java.net.URLClassLoader; import java.net.URLClassLoader; import java.security.AccessControlContext; import java.security.AccessController; +import java.security.AllPermission; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; @@ -140,6 +141,9 @@ public class JNLPClassLoader extends URL /** File entries in the jar files available to this classloader */ private TreeSet jarEntries = new TreeSet(); + /** Map of specific codesources to securitydesc */ + private HashMap jarLocationSecurityMap = new HashMap(); + /** * Create a new JNLPClassLoader from the specified file. * @@ -249,23 +253,17 @@ public class JNLPClassLoader extends URL JNLPClassLoader extLoader = (JNLPClassLoader) urlToLoader.get(uniqueKey); if (extLoader != null && extLoader != loader) { - for (URL u : loader.getURLs()) - extLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - extLoader.addNativeDirectory(nativeDirectory); + if (loader.signing && !extLoader.signing) + if (!SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); - loader = extLoader; + loader.merge(extLoader); } // loader is now current + ext. But we also need to think of // the baseLoader if (baseLoader != null && baseLoader != loader) { - for (URL u : loader.getURLs()) - baseLoader.addURL(u); - for (File nativeDirectory: loader.getNativeDirectories()) - baseLoader.addNativeDirectory(nativeDirectory); - - loader = baseLoader; + loader.merge(baseLoader); } } else { @@ -402,6 +400,11 @@ public class JNLPClassLoader extends URL if (js.anyJarsSigned()){ signing = true; + if (!js.allJarsSigned() && + !SecurityWarningDialog.showNotAllSignedWarningDialog(file)) + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); + + //user does not trust this publisher if (!js.getAlreadyTrustPublisher()) { checkTrustWithUser(js); @@ -416,6 +419,34 @@ public class JNLPClassLoader extends URL signing = false; //otherwise this jar is simply unsigned -- make sure to ask //for permission on certain actions + } + } + + for (JARDesc jarDesc: file.getResources().getJARs()) { + try { + URL location = tracker.getCacheFile(jarDesc.getLocation()).toURI().toURL(); + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(location, jarSecurity); + } catch (MalformedURLException mfe) { + System.err.println(mfe.getMessage()); } } @@ -500,13 +531,15 @@ public class JNLPClassLoader extends URL // set default perms PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed, evaluate based on codesource - if (security.getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - security.getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs.getCodeSigners() != null && + (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || + getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS)) + ) { - if (cs.getCodeSigners() != null) { - permissions = security.getPermissions(); - } + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(); } Enumeration e = permissions.elements(); @@ -621,8 +654,31 @@ public class JNLPClassLoader extends URL } try { - addURL(new URL("file://" + extractedJarLocation)); - } catch (MalformedURLException mfue) { + URL fileURL = new URL("file://" + extractedJarLocation); + addURL(fileURL); + + SecurityDesc jarSecurity = file.getSecurity(); + + if (file instanceof PluginBridge) { + + URL codebase = null; + + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + jarSecurity = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + codebase.getHost()); + } + + jarLocationSecurityMap.put(fileURL, jarSecurity); + + } catch (MalformedURLException mfue) { if (JNLPRuntime.isDebug()) System.err.println("Unable to add extracted nested jar to classpath"); @@ -1093,4 +1149,43 @@ public class JNLPClassLoader extends URL protected SecurityDesc getSecurity() { return security; } + + /** + * Returns the security descriptor for given code source URL + * + * @param source The code source + * @return The SecurityDescriptor for that source + */ + + protected SecurityDesc getCodeSourceSecurity(URL source) { + return jarLocationSecurityMap.get(source); + } + + /** + * Merges the code source/security descriptor mapping from another loader + * + * @param extLoader The loader form which to merge + * @throws SecurityException if the code is called from an untrusted source + */ + private void merge(JNLPClassLoader extLoader) { + + try { + System.getSecurityManager().checkPermission(new AllPermission()); + } catch (SecurityException se) { + throw new SecurityException("JNLPClassLoader() may only be called from trusted sources!"); + } + + // jars + for (URL u : extLoader.getURLs()) + addURL(u); + + // native search paths + for (File nativeDirectory: extLoader.getNativeDirectories()) + addNativeDirectory(nativeDirectory); + + // security descriptors + for (URL key: extLoader.jarLocationSecurityMap.keySet()) { + jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); + } From ahughes at redhat.com Wed Jul 28 15:29:09 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Jul 2010 23:29:09 +0100 Subject: RFE: Proposed changes to .hgignore In-Reply-To: <20100728212622.GB30697@redhat.com> References: <20100728201829.GB28477@redhat.com> <20100728212622.GB30697@redhat.com> Message-ID: On 28 July 2010 22:26, Deepak Bhole wrote: > * Dr Andrew John Hughes [2010-07-28 17:17]: >> On 28 July 2010 21:18, Deepak Bhole wrote: >> > Hi, >> > >> > In light of the recent changes to the build system, I was wondering if >> > anyone had nay issues with the attached changes to .hgignore? >> > >> > Thanks, >> > Deepak >> > >> >> I'd much rather it looked like the IcedTea7 version: >> >> syntax: glob >> *~ >> configure >> missing >> aclocal.m4 >> autom4te.cache >> config.guess >> config.sub >> config.status >> install-sh >> Makefile.in >> >> The kind of changes you propose go further towards hiding a dirty >> source tree and have, in my experience, hidden files that need to be >> added. >> > > Ah okay. I don't mind a dirty source tree. I just thought that we were > in fact trying to hide it, given that autotools generated items were > being ignored. > It's pretty common to hide the autotools stuff as it has to be in the source directory even when building elsewhere. Both Classpath & IcedTea7 do this and I don't see a problem with it as it is rare that you remove the configure script. The IcedTea6 one seems to include a lot of additional stuff that is only generated by actually performing a build. Moreover, in the past these have been done in a way that means they apply to material that does need to be added. If you look at some of my recent work on the release branches, I had to edit hgignore because it was hiding files being added to the overlays directory (because it was matching 'openjdk' anywhere in the path). I can see the motivation for adding everything that is built to the file, for those building in-tree, but there is a danger to it. You then accumulate cruft in the source tree which may no longer be generated by new builds and which may cause problems in its own right. > If that is not the case, please disregard the patch. > I'd rather we actually cleaned out most of what is already there, rather than adding more. However, I think we should hear the thoughts of others first, before taking more action. > Cheers, > Deepak > >> If you don't want these files to show up in hg status, then we have an >> option that solves that. ?It's called 'make clean'. >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Jul 28 15:54:36 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Jul 2010 22:54:36 +0000 Subject: /hg/icedtea: Update NEWS and bump to 1.13. Message-ID: changeset f5dbeffa7af6 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=f5dbeffa7af6 author: Andrew John Hughes date: Wed Jul 28 23:54:26 2010 +0100 Update NEWS and bump to 1.13. 2010-07-28 Andrew John Hughes * NEWS: Updated. * configure.ac: Bump version to 1.13. diffstat: 3 files changed, 94 insertions(+), 35 deletions(-) ChangeLog | 5 ++ NEWS | 122 +++++++++++++++++++++++++++++++++++++++++----------------- configure.ac | 2 diffs (159 lines): diff -r c6b53690798e -r f5dbeffa7af6 ChangeLog --- a/ChangeLog Wed Jul 28 23:20:41 2010 +0100 +++ b/ChangeLog Wed Jul 28 23:54:26 2010 +0100 @@ -1,3 +1,8 @@ 2010-07-28 Gary Benson + + * NEWS: Updated. + * configure.ac: Bump version to 1.13. + 2010-07-28 Gary Benson PR icedtea/525: diff -r c6b53690798e -r f5dbeffa7af6 NEWS --- a/NEWS Wed Jul 28 23:20:41 2010 +0100 +++ b/NEWS Wed Jul 28 23:54:26 2010 +0100 @@ -1,7 +1,9 @@ New in release 1.13 (2010-07-28) New in release 1.13 (2010-07-28) -- Updated to OpenJDK7 milestone 7. -- libjpeg7 supported. +- Updated to OpenJDK7 milestone 7/b89. +- Removed VisualVM support; now hosted at http://icedtea.classpath.org/hg/visualvm. +- Bumped to CACAO 1.1.0 pre-release snapshot. +- libjpeg7 & libpng 1.4 supported. - Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) @@ -24,38 +26,90 @@ New in release 1.13 (2010-07-28) - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? -- Added JNI call tracing using systemtap version 1.0+ when - configuring with --enable-systemtap. See tapset/hotspot_jni.stp. -- Add support for Zero build on Hitachi SH. -- Removed the old plugin, replaced by the NPPlugin. -Bug fixes -- PR179: Rhino bootclasspath issue -- Add missing .c file to PulseAudio build -Zero/Shark -- Formatting changes and other fixes to match upstream -- PR428: Shark on ARM precompiled header incls -- Update Shark for LLVM r95390 API change. -- S6927165: Zero S/390 fixes (from upstream) -- Implemented Shark host CPU feature autotuner using LLVM 2.7 APIs. -- Add s390 support to TCK setup helper script -- Strip stupid options that llvm-config supplies -- Update Shark for LLVM r94686 API change. -- S6914622, S6909153, S6913869 upstream Zero fixes. -- Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. -- PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. -NPPlugin fixes -- PR446: Use JDK_UPDATE_VERSION to set the jpi version. -- Re-designed frame embedding code so that the applet is dynamically - packed into given handle. This increases stability and breaks - reliance on the assumption that the browser will always provide a - handle in a certain sequence. -- Encode new lines, carriage returns, and other special characters - before sending them to Java side (de-coding code is already in - effect on Java side). -- Centralised and increased timeouts to give slow-loading applets - enough time to load. -- Fix security permissions related to get/set property, based on - specifications. + - (CVE-2010-2783, RH616895): IcedTea 'Extended JNLP Services' arbitrary file access + - (CVE-2010-2548, RH616893): IcedTea Incomplete property access check for unsigned applications +* Bug fixes + - PR179: Rhino bootclasspath issue + - PR512: Extract jaxws getdtdtype patch to boot tree instead of main tree. + - PR521: Don't hardlink the copy of generated. + - S6963870: NPE in CompoundBorder.getInsets() + - S6967533: Epoch bug: ExceptionInInitializerError on systems with uninitialized clock + - S6944361: Missing CKR_ values in PKCS11Exception +* SystemTap + - Added JNI call tracing using systemtap version 1.0+ when + configuring with --enable-systemtap. See tapset/hotspot_jni.stp. + - Add support for Zero build on Hitachi SH. + - Removed the old plugin, replaced by the NPPlugin. + - PR476: Enable building SystemTap support on GCC 4.5. + - Fix hotspot tapset object_alloc size variable. +* Zero/Shark + - Formatting changes and other fixes to match upstream + - PR428: Shark on ARM precompiled header incls + - Update Shark for LLVM r95390 API change. + - S6927165: Zero S/390 fixes (from upstream) + - Implemented Shark host CPU feature autotuner using LLVM 2.7 APIs. + - Add s390 support to TCK setup helper script + - Strip stupid options that llvm-config supplies + - Update Shark for LLVM r94686 API change. + - S6914622, S6909153, S6913869 upstream Zero fixes. + - Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. + - PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. + - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. + - PR icedtea/324, icedtea/481: Fix Shark VM crash. + - Update Shark for LLVM 2.8 API change r100304 + - Shark calling static jni methods jclass argument fix. + - PR484: Shark jit code block "0xcdcdcdcd" zombie wipeout Sigsegv crash + - Backport new frame anchor and stack overflow code for Zero and Shark + - Fix stack leak in Shark + - PR494: Shark fails to catch Exception using catch (Throwable e) +* NPPlugin fixes + - PR446: Use JDK_UPDATE_VERSION to set the jpi version. + - Re-designed frame embedding code so that the applet is dynamically + packed into given handle. This increases stability and breaks + reliance on the assumption that the browser will always provide a + handle in a certain sequence. + - Encode new lines, carriage returns, and other special characters + before sending them to Java side (de-coding code is already in + effect on Java side). + - Centralised and increased timeouts to give slow-loading applets + enough time to load. + - Fix security permissions related to get/set property, based on + specifications. + - Added support for JSObject.finalize() + - Liveconnect message processing design changes. + - Message protocol overhaul to fix race conditions + - PR166: Create FIFO pies in temp dir instead of ~/.icedteaplugin + - Profiled memory usage and implemented proper cleanup for C++ side. + - Update debug output string and function/structure names to + change 'GCJ' references to ITNP/IcedTea NP Plugin + - PR461: plugin working for NSS enabled builds with firefox including a private NSS copy + - Removed unncessary debug and trace output + - PR474: Patch from Paulo Cesar Pereira de Andrade, incrementing malloc size to account for NULL terminator. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing hangs. + - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that property. +* NetX: + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support + - Do not use Look and Feel related methods for setting up security dialogs + - Error out when unsigned jnlp applications request permissions +* PulseAudio: + - Add missing .c file to PulseAudio build + - Eliminate spurious exception throwing. New in release 1.12 (2009-11-17) diff -r c6b53690798e -r f5dbeffa7af6 configure.ac --- a/configure.ac Wed Jul 28 23:20:41 2010 +0100 +++ b/configure.ac Wed Jul 28 23:54:26 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea], [1.12], [distro-pkg-d -AC_INIT([icedtea], [1.12], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [1.13], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From ahughes at redhat.com Wed Jul 28 19:10:12 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 03:10:12 +0100 Subject: IcedTea7 1.13 Released! Message-ID: <20100729021012.GI23208@rivendell.middle-earth.co.uk> We are pleased to announce a new major release of IcedTea7, 1.13. This update contains the following security updates: * CVE-2010-2783, RH616895: IcedTea 'Extended JNLP Services' arbitrary file access * CVE-2010-2548, RH616893: IcedTea Incomplete property access check for unsigned applications * CVE-2010-0837, S6902299: JAR "unpack200" must verify input parameters * CVE-2010-0845, S6894807: No ClassCastException for HashAttributeSet constructors if run with -Xcomp * CVE-2010-0838, S6899653: CMM readMabCurveData Buffer Overflow Vulnerability * CVE-2010-0082, S6626217: Loader-constraint table allows arrays instead of only the base-classes * CVE-2010-0095, S6893954: Subclasses of InetAddress may incorrectly interpret network addresses * CVE-2010-0085, S6736390: File TOCTOU deserialization vulnerability * CVE-2010-0091, S6887703: Unsigned applet can retrieve the dragged information before drop action occurs * CVE-2010-0088, S6745393: Inflater/Deflater clone issues * CVE-2010-0084, S6633872: Policy/PolicyFile leak dynamic ProtectionDomains. * CVE-2010-0092, S6888149: AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error * CVE-2010-0094, S6893947: Deserialization of RMIConnectionImpl objects should enforce stricter checks * CVE-2010-0093, S6892265: System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes * CVE-2010-0840, S6904691: Applet Trusted Methods Chaining Privilege Escalation Vulnerability * CVE-2010-0848, S6914823: AWT Library Invalid Index Vulnerability * CVE-2010-0847, S6914866: ImagingLib arbitrary code execution vulnerability * CVE-2009-3555, TLS: MITM attacks via session renegotiation The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. What?s New? ?????? * Updated to OpenJDK7 milestone 7/b89. * Removed VisualVM support; now hosted at http://icedtea.classpath.org/hg/visualvm. * Removed old plugin. * Bumped to CACAO 1.1.0 pre-release snapshot. * libjpeg7 & libpng 1.4 supported. * Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) - (CVE-2009-3555): TLS: MITM attacks via session renegotiation - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? - (CVE-2010-2783, RH616895): IcedTea 'Extended JNLP Services' arbitrary file access - (CVE-2010-2548, RH616893): IcedTea Incomplete property access check for unsigned applications * Bug fixes - PR179: Rhino bootclasspath issue - PR512: Extract jaxws getdtdtype patch to boot tree instead of main tree. - PR521: Don't hardlink the copy of generated. - S6963870: NPE in CompoundBorder.getInsets() - S6967533: Epoch bug: ExceptionInInitializerError on systems with uninitialized clock - S6944361: Missing CKR_ values in PKCS11Exception * SystemTap - Added JNI call tracing using systemtap version 1.0+ when configuring with --enable-systemtap. See tapset/hotspot_jni.stp. - Add support for Zero build on Hitachi SH. - Removed the old plugin, replaced by the NPPlugin. - PR476: Enable building SystemTap support on GCC 4.5. - Fix hotspot tapset object_alloc size variable. - Workaround RH613824: Missing and wrong hotspot.* probepoint arguments * Zero/Shark - Formatting changes and other fixes to match upstream - PR428: Shark on ARM precompiled header incls - Update Shark for LLVM r95390 API change. - S6927165: Zero S/390 fixes (from upstream) - Implemented Shark host CPU feature autotuner using LLVM 2.7 APIs. - Add s390 support to TCK setup helper script - Strip stupid options that llvm-config supplies - Update Shark for LLVM r94686 API change. - S6914622, S6909153, S6913869 upstream Zero fixes. - Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. - PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. - PR icedtea/324, icedtea/481: Fix Shark VM crash. - Update Shark for LLVM 2.8 API change r100304 - Shark calling static jni methods jclass argument fix. - PR484: Shark jit code block "0xcdcdcdcd" zombie wipeout Sigsegv crash - Backport new frame anchor and stack overflow code for Zero and Shark - Fix stack leak in Shark - PR494: Shark fails to catch Exception using catch (Throwable e) * NPPlugin fixes - PR446: Use JDK_UPDATE_VERSION to set the jpi version. - Re-designed frame embedding code so that the applet is dynamically packed into given handle. This increases stability and breaks reliance on the assumption that the browser will always provide a handle in a certain sequence. - Encode new lines, carriage returns, and other special characters before sending them to Java side (de-coding code is already in effect on Java side). - Centralised and increased timeouts to give slow-loading applets enough time to load. - Fix security permissions related to get/set property, based on specifications. - Added support for JSObject.finalize() - Liveconnect message processing design changes. - Message protocol overhaul to fix race conditions - PR166: Create FIFO pies in temp dir instead of ~/.icedteaplugin - Profiled memory usage and implemented proper cleanup for C++ side. - Update debug output string and function/structure names to change 'GCJ' references to ITNP/IcedTea NP Plugin - PR461: plugin working for NSS enabled builds with firefox including a private NSS copy - Removed unncessary debug and trace output - PR474: Patch from Paulo Cesar Pereira de Andrade, incrementing malloc size to account for NULL terminator. - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error - Set context classloader for all threads in an applet's threadgroup - PR436: Close all applet threads on exit - PR480: NPPlugin with NoScript extension. - PR488: Question mark changing into underscore in URL. - RH592553: Fix bug causing 100% CPU usage. - Don't generate a random pointer from a pthread_t in the debug output. - Add ForbiddenTargetException for legacy support. - Use variadic macro for plugin debug message printing. - Don't link the plugin with libxul libraries. - Fix race conditions in plugin initialization code that were causing hangs. - RH506730: BankID (Norwegian common online banking authentication system) applet fails to load. - PR491: pass java_{code,codebase,archive} parameters to Java. - Adds javawebstart.version property and give user permission to read that property. * NetX: - Make path sanitization consistent; use a blacklisting approach. - Make the SingleInstanceServer thread a daemon thread. - Handle JNLP files which use native libraries but do not indicate it - Allow JNLP classloaders to share native libraries - Added encoding support - Do not use Look and Feel related methods for setting up security dialogs - Error out when unsigned jnlp applications request permissions * PulseAudio: - Add missing .c file to PulseAudio build - Eliminate spurious exception throwing. The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea-1.13.tar.gz sha256sum: 4d65cfb55dbe2e2fa6b980c686b34ec9f45852d5eeafd0fec6f874524743ad15 The following people helped with this release: Gary Benson, Deepak Bhole, Andrew John Hughes, Nobuhiro Iwamatsu, Matthias Klose, Omair Majid, Edward Nevill, Xerxes R?nby, Stefan Ring, Pavel Tisnovsky, Jon VanAlten, Mark Wielaard, Man Lung Wong We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-1.13.tar.gz $ cd icedtea-1.13 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-zero --with-openjdk --enable-pulse-java --enable-systemtap ...] $ make -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Jul 28 19:10:55 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 29 Jul 2010 02:10:55 +0000 Subject: /hg/icedtea: 4 new changesets Message-ID: changeset 04f7967fcf44 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=04f7967fcf44 author: Andrew John Hughes date: Thu Jul 29 02:19:24 2010 +0100 Final NEWS formatting cleanup. 2010-07-29 Andrew John Hughes * NEWS: Final formatting cleanup. changeset 7a5e921345c8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7a5e921345c8 author: Andrew John Hughes date: Thu Jul 29 02:53:52 2010 +0100 RH613824: Workaround unforeseen complications in generating a dwarf location expression for variable * constant. 2010-07-28 Mark Wielaard Generating a dwarf location expression for variable * "constant" as used in this probe argument triggers unforseen complications. See https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for now by passing the size without HeapWordSize adjustment. See also the hotspot.object_alloc in tapset/hotspot.stp[.in]. * Makefile.am: Add patch. * NEWS: Updated. * patches/systemtap-alloc-size-workaround.patch: New patch to remove HeapWordSize adjustment. * tapset/hotspot.stp.in: Add adjustment here. changeset 13b9a6c00673 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=13b9a6c00673 author: Andrew John Hughes date: Thu Jul 29 02:57:47 2010 +0100 Mention removal of old plugin. 2010-07-29 Andrew John Hughes * NEWS: Mention removal of old plugin. changeset 8ebdcd0f5662 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=8ebdcd0f5662 author: Andrew John Hughes date: Thu Jul 29 03:10:45 2010 +0100 Added tag icedtea-1.13 for changeset 13b9a6c00673 diffstat: 5 files changed, 33 insertions(+), 8 deletions(-) .hgtags | 1 + ChangeLog | 21 +++++++++++++++++++++ Makefile.am | 3 ++- NEWS | 14 ++++++++------ tapset/hotspot.stp.in | 2 +- diffs (90 lines): diff -r f5dbeffa7af6 -r 8ebdcd0f5662 .hgtags --- a/.hgtags Wed Jul 28 23:54:26 2010 +0100 +++ b/.hgtags Thu Jul 29 03:10:45 2010 +0100 @@ -28,3 +28,4 @@ 81a1e18fede27d94540b67a42798419aaf59f5b9 81a1e18fede27d94540b67a42798419aaf59f5b9 icedtea-1.12 81a1e18fede27d94540b67a42798419aaf59f5b9 icedtea-1.12 d96a0228b79286eea28af85707fd8ccc42cbed84 icedtea-1.12 +13b9a6c006730355f1441c69649775e7cebd8aa0 icedtea-1.13 diff -r f5dbeffa7af6 -r 8ebdcd0f5662 ChangeLog --- a/ChangeLog Wed Jul 28 23:54:26 2010 +0100 +++ b/ChangeLog Thu Jul 29 03:10:45 2010 +0100 @@ -1,3 +1,24 @@ 2010-07-28 Andrew John Hughes + + * NEWS: Mention removal of old plugin. + +2010-07-28 Mark Wielaard + + Generating a dwarf location expression for variable * "constant" as used + in this probe argument triggers unforseen complications. See + https://bugzilla.redhat.com/show_bug.cgi?id=613824 + Workaround for now by passing the size without HeapWordSize adjustment. + See also the hotspot.object_alloc in tapset/hotspot.stp[.in]. + * Makefile.am: Add patch. + * NEWS: Updated. + * patches/systemtap-alloc-size-workaround.patch: + New patch to remove HeapWordSize adjustment. + * tapset/hotspot.stp.in: Add adjustment here. + +2010-07-29 Andrew John Hughes + + * NEWS: Final formatting cleanup. + 2010-07-28 Andrew John Hughes * NEWS: Updated. diff -r f5dbeffa7af6 -r 8ebdcd0f5662 Makefile.am --- a/Makefile.am Wed Jul 28 23:54:26 2010 +0100 +++ b/Makefile.am Thu Jul 29 03:10:45 2010 +0100 @@ -384,7 +384,8 @@ endif if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += patches/icedtea-systemtap.patch \ - patches/systemtap-gcc-4.5.patch + patches/systemtap-gcc-4.5.patch \ + patches/systemtap-alloc-size-workaround.patch endif if ENABLE_PLUGIN diff -r f5dbeffa7af6 -r 8ebdcd0f5662 NEWS --- a/NEWS Wed Jul 28 23:54:26 2010 +0100 +++ b/NEWS Thu Jul 29 03:10:45 2010 +0100 @@ -1,10 +1,11 @@ New in release 1.13 (2010-07-28) -New in release 1.13 (2010-07-28) +New in release 1.13 (2010-07-29) -- Updated to OpenJDK7 milestone 7/b89. -- Removed VisualVM support; now hosted at http://icedtea.classpath.org/hg/visualvm. -- Bumped to CACAO 1.1.0 pre-release snapshot. -- libjpeg7 & libpng 1.4 supported. -- Latest security updates and hardening patches: +* Updated to OpenJDK7 milestone 7/b89. +* Removed VisualVM support; now hosted at http://icedtea.classpath.org/hg/visualvm. +* Removed old plugin. +* Bumped to CACAO 1.1.0 pre-release snapshot. +* libjpeg7 & libpng 1.4 supported. +* Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) @@ -42,6 +43,7 @@ New in release 1.13 (2010-07-28) - Removed the old plugin, replaced by the NPPlugin. - PR476: Enable building SystemTap support on GCC 4.5. - Fix hotspot tapset object_alloc size variable. + - Workaround RH613824: Missing and wrong hotspot.* probepoint arguments * Zero/Shark - Formatting changes and other fixes to match upstream - PR428: Shark on ARM precompiled header incls diff -r f5dbeffa7af6 -r 8ebdcd0f5662 tapset/hotspot.stp.in --- a/tapset/hotspot.stp.in Wed Jul 28 23:54:26 2010 +0100 +++ b/tapset/hotspot.stp.in Thu Jul 29 03:10:45 2010 +0100 @@ -120,7 +120,7 @@ probe hotspot.object_alloc = name = "object_alloc"; thread_id = $arg1; class = user_string_n($arg2, $arg3); - size = $arg4; + size = $arg4 * $HeapWordSize; // Note - systemtap-alloc-size-workaround.patch probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)", name, thread_id, class, size); } From bugzilla-daemon at icedtea.classpath.org Wed Jul 28 19:17:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Jul 2010 02:17:12 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |7-1.13 ------- Comment #7 from gnu_andrew at member.fsf.org 2010-07-29 02:17 ------- In 7-1.13. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Thu Jul 29 03:21:13 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 11:21:13 +0100 Subject: IcedTea7 1.13 Released Message-ID: <20100729102113.GB31329@rivendell.middle-earth.co.uk> http://blog.fuseyism.com/index.php/2010/07/29/icedtea7-113-released/ -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Thu Jul 29 03:27:32 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 29 Jul 2010 10:27:32 +0000 Subject: /hg/icedtea: Prepare for next release, 1.14. Message-ID: changeset a90ef7cbbb61 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a90ef7cbbb61 author: Andrew John Hughes date: Thu Jul 29 11:27:27 2010 +0100 Prepare for next release, 1.14. 2010-07-29 Andrew John Hughes * NEWS: Add 1.14 section. * configure.ac: Bump to 1.14-pre. diffstat: 3 files changed, 8 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- diffs (30 lines): diff -r 8ebdcd0f5662 -r a90ef7cbbb61 ChangeLog --- a/ChangeLog Thu Jul 29 03:10:45 2010 +0100 +++ b/ChangeLog Thu Jul 29 11:27:27 2010 +0100 @@ -1,3 +1,8 @@ 2010-07-29 Andrew John Hughes + + * NEWS: Add 1.14 section. + * configure.ac: Bump to 1.14-pre. + 2010-07-29 Andrew John Hughes * NEWS: Mention removal of old plugin. diff -r 8ebdcd0f5662 -r a90ef7cbbb61 NEWS --- a/NEWS Thu Jul 29 03:10:45 2010 +0100 +++ b/NEWS Thu Jul 29 11:27:27 2010 +0100 @@ -1,3 +1,5 @@ New in release 1.13 (2010-07-29) +New in release 1.14 (XXXX-XX-XX) + New in release 1.13 (2010-07-29) * Updated to OpenJDK7 milestone 7/b89. diff -r 8ebdcd0f5662 -r a90ef7cbbb61 configure.ac --- a/configure.ac Thu Jul 29 03:10:45 2010 +0100 +++ b/configure.ac Thu Jul 29 11:27:27 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea], [1.13], [distro-pkg-d -AC_INIT([icedtea], [1.13], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [1.14-pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From xranby at icedtea.classpath.org Thu Jul 29 04:34:42 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Thu, 29 Jul 2010 11:34:42 +0000 Subject: /hg/icedtea6: PR525: Shark made not entrant deopt sigsegv regres... Message-ID: changeset 3fdbfd1baf5e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3fdbfd1baf5e author: Xerxes R?nby date: Thu Jul 29 13:33:33 2010 +0200 PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 2010-07-29 Gary Benson PR icedtea/525: * NEWS: Updated. * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp (SharkDecacher::end_frame): Add missing fields. diffstat: 3 files changed, 11 insertions(+) ChangeLog | 7 +++++++ NEWS | 2 ++ ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 2 ++ diffs (38 lines): diff -r f57a0960f919 -r 3fdbfd1baf5e ChangeLog --- a/ChangeLog Thu Jul 29 00:00:07 2010 +0200 +++ b/ChangeLog Thu Jul 29 13:33:33 2010 +0200 @@ -1,3 +1,10 @@ 2010-07-28 Deepak Bhole + + PR icedtea/525: + * NEWS: Updated. + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::end_frame): Add missing fields. + 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java diff -r f57a0960f919 -r 3fdbfd1baf5e NEWS --- a/NEWS Thu Jul 29 00:00:07 2010 +0200 +++ b/NEWS Thu Jul 29 13:33:33 2010 +0200 @@ -1,6 +1,8 @@ New in release 1.9 (2010-xx-xx): New in release 1.9 (2010-xx-xx): - Updated to OpenJDK6 b20. +- Zero/Shark: + - PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. New in release 1.8.1 (2010-07-28): diff -r f57a0960f919 -r 3fdbfd1baf5e ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp Thu Jul 29 00:00:07 2010 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp Thu Jul 29 13:33:33 2010 +0200 @@ -150,6 +150,8 @@ void SharkDecacher::end_frame() { target(), bci(), true, + false, + false, debug_info()->create_scope_values(locarray()), debug_info()->create_scope_values(exparray()), debug_info()->create_monitor_values(monarray())); From bugzilla-daemon at icedtea.classpath.org Thu Jul 29 04:37:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Jul 2010 11:37:56 +0000 Subject: [Bug 525] Shark made not entrant deopt sigsegv regression after bump to b20 and hs17 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=525 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #8 from xerxes at zafena.se 2010-07-29 11:37 ------- I have pushed the fix to icedtea6 to be part of target Milestone: 6-1.9 http://icedtea.classpath.org/hg/icedtea6/rev/3fdbfd1baf5e -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mark at klomp.org Thu Jul 29 04:58:28 2010 From: mark at klomp.org (Mark Wielaard) Date: Thu, 29 Jul 2010 13:58:28 +0200 Subject: FYI: Add systemtap hotspot.object_alloc workaround Message-ID: <1280404708.16218.51.camel@hermans.wildebeest.org> Hi, Thanks to testing by Will and hunting down the bug in the dwarf debuginfo from which the size argument was calculated by Deepak and Jakub we came up with the following workaround: Add workaround for calculating systemtap object_alloc probe size argument. Generating a dwarf location expression for variable * "constant" as used in the hotspot.object_alloc probe argument triggers unforeseen complications. See https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for now by passing the size without HeapWordSize adjustment. 2010-07-29 Mark Wielaard * patches/systemtap-alloc-size-workaround.patch: New patch. * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. * tapset/hotspot.stp.in (object_alloc): Calculate size from $arg4 and $HeapWordSize. Committed and pushed to icedtea6 trunks. Cheers, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: workaround.patch Type: text/x-patch Size: 1897 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100729/88d80076/workaround.patch From mjw at icedtea.classpath.org Thu Jul 29 05:07:44 2010 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Thu, 29 Jul 2010 12:07:44 +0000 Subject: /hg/icedtea6: 6 new changesets Message-ID: changeset 9e8951cefda4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9e8951cefda4 author: Andrew John Hughes date: Tue Nov 17 17:00:32 2009 +0000 Patch the JAXWS source if getDTDType() has the wrong return type (gcj 4.3 and earlier) 2009-11-17 Andrew John Hughes * Makefile.am: Make use of JAXWS dependent on absence of javax.annotation.Resource and/or getDTDType() bug. Add new JAXWS patch. (extract-jaxws.stamp): Apply getDTDType() patch if bug found. * acinclude.m4: (IT_GETDTDTYPE_CHECK): Check for old versions of gcj/Classpath which have javax.xml.stream.events.Attribute.getDTDType() with a return type of QName not String. * configure.ac: Invoke new IT_GETDTDTYPE_CHECK macro. * patches/icedtea-jaxws-getdtdtype.patch: New patch to work around the getDTDType() bug. changeset 61d8de6ae872 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=61d8de6ae872 author: Andrew John Hughes date: Tue Nov 17 17:47:58 2009 +0000 Fix path on new JAXWS patch. 2009-11-17 Andrew John Hughes * patches/icedtea-jaxws-getdtdtype.patch: Fix path. changeset deb3e47003fb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=deb3e47003fb author: Andrew John Hughes date: Tue Nov 17 19:49:20 2009 +0000 Add additional JAXWS gcj 4.3 fix for AttributeBase.java 2009-11-17 Andrew John Hughes * patches/icedtea-jaxws-getdtdtype.patch: Add additional fix for AttributeBase.java changeset c80c2eef6dc5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c80c2eef6dc5 author: Andrew John Hughes date: Tue Nov 17 21:35:00 2009 +0000 Make the AttributeBase fix actually compile... 2009-11-17 Andrew John Hughes * patches/icedtea-jaxws-getdtdtype.patch: Replace getDTDType method, don't add another. * HACKING: Document the patch. changeset b0a47dfa2eb5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b0a47dfa2eb5 author: Mark Wielaard date: Thu Jul 29 13:53:51 2010 +0200 Add workaround for calculating systemtap object_alloc probe size argument. Generating a dwarf location expression for variable * "constant" as used in the hotspot.object_alloc probe argument triggers unforseen complications. See https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for now by passing the size without HeapWordSize adjustment. 2010-07-29 Mark Wielaard * patches/systemtap-alloc-size-workaround.patch: New patch. * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. * tapset/hotspot.stp.in (object_alloc): Calculate size from $arg4 and $HeapWordSize. changeset 41911a183c51 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=41911a183c51 author: Mark Wielaard date: Thu Jul 29 14:06:38 2010 +0200 Merge diffstat: 893 files changed, 75158 insertions(+), 93274 deletions(-) .hgignore | 11 .hgtags | 1 AUTHORS | 1 ChangeLog | 3260 + HACKING | 1 INSTALL | 376 IcedTeaPlugin.cc | 6009 -- Makefile.am | 1499 NEWS | 119 README | 118 String | 11 THANKYOU | 1 acinclude.m4 | 394 configure.ac | 87 generated/com/sun/java/swing/plaf/nimbus/ArrowButtonPainter.java | 119 generated/com/sun/java/swing/plaf/nimbus/ButtonPainter.java | 653 generated/com/sun/java/swing/plaf/nimbus/CheckBoxMenuItemPainter.java | 163 generated/com/sun/java/swing/plaf/nimbus/CheckBoxPainter.java | 636 generated/com/sun/java/swing/plaf/nimbus/ComboBoxArrowButtonEditableState.java | 42 generated/com/sun/java/swing/plaf/nimbus/ComboBoxArrowButtonPainter.java | 477 generated/com/sun/java/swing/plaf/nimbus/ComboBoxEditableState.java | 42 generated/com/sun/java/swing/plaf/nimbus/ComboBoxPainter.java | 734 generated/com/sun/java/swing/plaf/nimbus/ComboBoxTextFieldPainter.java | 255 generated/com/sun/java/swing/plaf/nimbus/DesktopIconPainter.java | 160 generated/com/sun/java/swing/plaf/nimbus/DesktopPanePainter.java | 351 generated/com/sun/java/swing/plaf/nimbus/EditorPanePainter.java | 125 generated/com/sun/java/swing/plaf/nimbus/FileChooserPainter.java | 2249 generated/com/sun/java/swing/plaf/nimbus/FormattedTextFieldPainter.java | 382 generated/com/sun/java/swing/plaf/nimbus/InternalFramePainter.java | 403 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneCloseButtonPainter.java | 464 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneCloseButtonWindowNotFocusedState.java | 51 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneIconifyButtonPainter.java | 607 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneIconifyButtonWindowNotFocusedState.java | 51 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneMaximizeButtonPainter.java | 1046 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneMaximizeButtonWindowMaximizedState.java | 51 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.java | 51 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneMenuButtonPainter.java | 518 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneMenuButtonWindowNotFocusedState.java | 51 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePanePainter.java | 89 generated/com/sun/java/swing/plaf/nimbus/InternalFrameTitlePaneWindowFocusedState.java | 41 generated/com/sun/java/swing/plaf/nimbus/InternalFrameWindowFocusedState.java | 41 generated/com/sun/java/swing/plaf/nimbus/MenuBarMenuPainter.java | 108 generated/com/sun/java/swing/plaf/nimbus/MenuBarPainter.java | 153 generated/com/sun/java/swing/plaf/nimbus/MenuItemPainter.java | 108 generated/com/sun/java/swing/plaf/nimbus/MenuPainter.java | 158 generated/com/sun/java/swing/plaf/nimbus/NimbusDefaults.java | 1773 generated/com/sun/java/swing/plaf/nimbus/OptionPaneMessageAreaOptionPaneLabelPainter.java | 106 generated/com/sun/java/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java | 89 generated/com/sun/java/swing/plaf/nimbus/OptionPanePainter.java | 584 generated/com/sun/java/swing/plaf/nimbus/PasswordFieldPainter.java | 382 generated/com/sun/java/swing/plaf/nimbus/PopupMenuPainter.java | 164 generated/com/sun/java/swing/plaf/nimbus/PopupMenuSeparatorPainter.java | 106 generated/com/sun/java/swing/plaf/nimbus/ProgressBarFinishedState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ProgressBarIndeterminateState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ProgressBarPainter.java | 613 generated/com/sun/java/swing/plaf/nimbus/RadioButtonMenuItemPainter.java | 172 generated/com/sun/java/swing/plaf/nimbus/RadioButtonPainter.java | 705 generated/com/sun/java/swing/plaf/nimbus/ScrollBarButtonPainter.java | 381 generated/com/sun/java/swing/plaf/nimbus/ScrollBarPainter.java | 88 generated/com/sun/java/swing/plaf/nimbus/ScrollBarThumbPainter.java | 380 generated/com/sun/java/swing/plaf/nimbus/ScrollBarTrackPainter.java | 276 generated/com/sun/java/swing/plaf/nimbus/ScrollPanePainter.java | 179 generated/com/sun/java/swing/plaf/nimbus/SeparatorPainter.java | 106 generated/com/sun/java/swing/plaf/nimbus/SliderArrowShapeState.java | 40 generated/com/sun/java/swing/plaf/nimbus/SliderPainter.java | 88 generated/com/sun/java/swing/plaf/nimbus/SliderThumbArrowShapeState.java | 40 generated/com/sun/java/swing/plaf/nimbus/SliderThumbPainter.java | 655 generated/com/sun/java/swing/plaf/nimbus/SliderTrackArrowShapeState.java | 40 generated/com/sun/java/swing/plaf/nimbus/SliderTrackPainter.java | 230 generated/com/sun/java/swing/plaf/nimbus/SpinnerNextButtonPainter.java | 583 generated/com/sun/java/swing/plaf/nimbus/SpinnerPainter.java | 89 generated/com/sun/java/swing/plaf/nimbus/SpinnerPanelSpinnerFormattedTextFieldPainter.java | 321 generated/com/sun/java/swing/plaf/nimbus/SpinnerPreviousButtonPainter.java | 505 generated/com/sun/java/swing/plaf/nimbus/SplitPaneDividerPainter.java | 290 generated/com/sun/java/swing/plaf/nimbus/SplitPaneDividerVerticalState.java | 41 generated/com/sun/java/swing/plaf/nimbus/SplitPanePainter.java | 89 generated/com/sun/java/swing/plaf/nimbus/SplitPaneVerticalState.java | 41 generated/com/sun/java/swing/plaf/nimbus/TabbedPanePainter.java | 93 generated/com/sun/java/swing/plaf/nimbus/TabbedPaneTabAreaPainter.java | 221 generated/com/sun/java/swing/plaf/nimbus/TabbedPaneTabPainter.java | 678 generated/com/sun/java/swing/plaf/nimbus/TableEditorPainter.java | 135 generated/com/sun/java/swing/plaf/nimbus/TableHeaderPainter.java | 141 generated/com/sun/java/swing/plaf/nimbus/TableHeaderRendererPainter.java | 381 generated/com/sun/java/swing/plaf/nimbus/TableHeaderRendererSortedState.java | 42 generated/com/sun/java/swing/plaf/nimbus/TextAreaNotInScrollPaneState.java | 41 generated/com/sun/java/swing/plaf/nimbus/TextAreaPainter.java | 412 generated/com/sun/java/swing/plaf/nimbus/TextFieldPainter.java | 382 generated/com/sun/java/swing/plaf/nimbus/TextPanePainter.java | 125 generated/com/sun/java/swing/plaf/nimbus/ToggleButtonPainter.java | 706 generated/com/sun/java/swing/plaf/nimbus/ToolBarButtonPainter.java | 289 generated/com/sun/java/swing/plaf/nimbus/ToolBarEastState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ToolBarNorthState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ToolBarPainter.java | 212 generated/com/sun/java/swing/plaf/nimbus/ToolBarSouthState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ToolBarToggleButtonPainter.java | 536 generated/com/sun/java/swing/plaf/nimbus/ToolBarWestState.java | 43 generated/com/sun/java/swing/plaf/nimbus/ToolTipPainter.java | 151 generated/com/sun/java/swing/plaf/nimbus/TreeCellEditorPainter.java | 144 generated/com/sun/java/swing/plaf/nimbus/TreeCellPainter.java | 146 generated/com/sun/java/swing/plaf/nimbus/TreePainter.java | 653 generated/org/classpath/icedtea/java/nio/channels/AcceptPendingException.java | 51 generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGroupException.java | 51 generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeoutException.java | 51 generated/org/classpath/icedtea/java/nio/channels/ReadPendingException.java | 51 generated/org/classpath/icedtea/java/nio/channels/ShutdownChannelGroupException.java | 52 generated/org/classpath/icedtea/java/nio/channels/WritePendingException.java | 51 generated/sun/nio/fs/UnixConstants.java | 79 hotspot.map | 1 javac.in | 79 netx/javax/jnlp/BasicService.java | 12 netx/javax/jnlp/ClipboardService.java | 10 netx/javax/jnlp/DownloadService.java | 24 netx/javax/jnlp/DownloadServiceListener.java | 12 netx/javax/jnlp/ExtendedService.java | 51 netx/javax/jnlp/ExtensionInstallerService.java | 21 netx/javax/jnlp/FileContents.java | 17 netx/javax/jnlp/FileOpenService.java | 10 netx/javax/jnlp/FileSaveService.java | 10 netx/javax/jnlp/JNLPRandomAccessFile.java | 45 netx/javax/jnlp/PersistenceService.java | 17 netx/javax/jnlp/PrintService.java | 12 netx/javax/jnlp/ServiceManager.java | 53 netx/javax/jnlp/ServiceManagerStub.java | 10 netx/javax/jnlp/SingleInstanceListener.java | 35 netx/javax/jnlp/SingleInstanceService.java | 46 netx/javax/jnlp/UnavailableServiceException.java | 15 netx/net/sourceforge/jnlp/AppletDesc.java | 122 netx/net/sourceforge/jnlp/ApplicationDesc.java | 74 netx/net/sourceforge/jnlp/AssociationDesc.java | 56 netx/net/sourceforge/jnlp/ComponentDesc.java | 40 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 112 netx/net/sourceforge/jnlp/ExtensionDesc.java | 143 netx/net/sourceforge/jnlp/IconDesc.java | 135 netx/net/sourceforge/jnlp/InformationDesc.java | 267 netx/net/sourceforge/jnlp/InstallerDesc.java | 52 netx/net/sourceforge/jnlp/JARDesc.java | 141 netx/net/sourceforge/jnlp/JNLPFile.java | 623 netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 93 netx/net/sourceforge/jnlp/JREDesc.java | 165 netx/net/sourceforge/jnlp/LaunchException.java | 188 netx/net/sourceforge/jnlp/LaunchHandler.java | 66 netx/net/sourceforge/jnlp/Launcher.java | 784 netx/net/sourceforge/jnlp/MenuDesc.java | 38 netx/net/sourceforge/jnlp/NetxPanel.java | 146 netx/net/sourceforge/jnlp/Node.java | 146 netx/net/sourceforge/jnlp/PackageDesc.java | 102 netx/net/sourceforge/jnlp/ParseException.java | 92 netx/net/sourceforge/jnlp/Parser.java | 1270 netx/net/sourceforge/jnlp/PluginBridge.java | 253 netx/net/sourceforge/jnlp/PropertyDesc.java | 64 netx/net/sourceforge/jnlp/RelatedContentDesc.java | 93 netx/net/sourceforge/jnlp/ResourcesDesc.java | 230 netx/net/sourceforge/jnlp/SecurityDesc.java | 201 netx/net/sourceforge/jnlp/ShortcutDesc.java | 70 netx/net/sourceforge/jnlp/StreamEater.java | 45 netx/net/sourceforge/jnlp/Version.java | 352 netx/net/sourceforge/jnlp/cache/CacheEntry.java | 172 netx/net/sourceforge/jnlp/cache/CacheUtil.java | 379 netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 320 netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 91 netx/net/sourceforge/jnlp/cache/Resource.java | 269 netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 1049 netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 88 netx/net/sourceforge/jnlp/cache/package.html | 28 netx/net/sourceforge/jnlp/event/ApplicationEvent.java | 55 netx/net/sourceforge/jnlp/event/ApplicationListener.java | 37 netx/net/sourceforge/jnlp/event/DownloadEvent.java | 70 netx/net/sourceforge/jnlp/event/DownloadListener.java | 50 netx/net/sourceforge/jnlp/event/package.html | 28 netx/net/sourceforge/jnlp/package.html | 30 netx/net/sourceforge/jnlp/resources/Manifest.mf | 6 netx/net/sourceforge/jnlp/resources/Messages.properties | 178 netx/net/sourceforge/jnlp/resources/about.jnlp | 20 netx/net/sourceforge/jnlp/resources/default.jnlp | 20 netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 68 netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 107 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 354 netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 138 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 300 netx/net/sourceforge/jnlp/runtime/Boot.java | 450 netx/net/sourceforge/jnlp/runtime/Boot13.java | 102 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 1191 netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 103 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 562 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 540 netx/net/sourceforge/jnlp/runtime/package.html | 29 netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 200 netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 115 netx/net/sourceforge/jnlp/security/CertVerifier.java | 92 netx/net/sourceforge/jnlp/security/CertWarningPane.java | 254 netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 341 netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 238 netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 110 netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java | 120 netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java | 134 netx/net/sourceforge/jnlp/security/SecurityUtil.java | 285 netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 474 netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 77 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 286 netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 335 netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 120 netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 49 netx/net/sourceforge/jnlp/services/InstanceExistsException.java | 35 netx/net/sourceforge/jnlp/services/ServiceUtil.java | 293 netx/net/sourceforge/jnlp/services/SingleInstanceLock.java | 194 netx/net/sourceforge/jnlp/services/XBasicService.java | 232 netx/net/sourceforge/jnlp/services/XClipboardService.java | 81 netx/net/sourceforge/jnlp/services/XDownloadService.java | 179 netx/net/sourceforge/jnlp/services/XExtendedService.java | 54 netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 121 netx/net/sourceforge/jnlp/services/XFileContents.java | 121 netx/net/sourceforge/jnlp/services/XFileOpenService.java | 113 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 140 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 208 netx/net/sourceforge/jnlp/services/XPersistenceService.java | 177 netx/net/sourceforge/jnlp/services/XPrintService.java | 123 netx/net/sourceforge/jnlp/services/XServiceManagerStub.java | 106 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 236 netx/net/sourceforge/jnlp/services/package.html | 29 netx/net/sourceforge/jnlp/tools/CharacterEncoder.java | 354 netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java | 120 netx/net/sourceforge/jnlp/tools/JarRunner.java | 15 netx/net/sourceforge/jnlp/tools/JarSigner.java | 553 netx/net/sourceforge/jnlp/tools/JarSignerResources.java | 212 netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 69 netx/net/sourceforge/jnlp/tools/KeyTool.java | 461 netx/net/sourceforge/jnlp/util/FileUtils.java | 71 netx/net/sourceforge/jnlp/util/PropertiesFile.java | 146 netx/net/sourceforge/jnlp/util/Reflect.java | 146 netx/net/sourceforge/jnlp/util/WeakList.java | 126 netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 213 netx/net/sourceforge/nanoxml/XMLElement.java | 1334 netx/net/sourceforge/nanoxml/XMLParseException.java | 130 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java | 76 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 37 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java | 49 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatConverter/GetFormat.java | 41 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatConverter/ToFloatArray.java | 162 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/Available.java | 81 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/Close.java | 72 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/GetFormat.java | 74 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/GetFrameLength.java | 74 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/MarkSupported.java | 74 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/Read.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/ReadFloatArray.java | 81 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/ReadFloatArrayIntInt.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/Reset.java | 87 overlays/openjdk/jdk/test/com/sun/media/sound/AudioFloatInputStream/Skip.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/DLSSoundbankReader/TestGetSoundbankFile.java | 52 overlays/openjdk/jdk/test/com/sun/media/sound/DLSSoundbankReader/TestGetSoundbankInputStream.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/DLSSoundbankReader/TestGetSoundbankInputStream2.java | 119 overlays/openjdk/jdk/test/com/sun/media/sound/DLSSoundbankReader/TestGetSoundbankUrl.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/EmergencySoundbank/TestCreateSoundbank.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/GetInputStream.java | 91 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/GetRoot.java | 82 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/Load.java | 89 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/LoadAll.java | 93 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/NewModelByteBufferByteArray.java | 84 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java | 86 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/NewModelByteBufferFile.java | 88 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/NewModelByteBufferFileLongLong.java | 88 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/Available.java | 107 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/Close.java | 104 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/MarkReset.java | 129 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/MarkSupported.java | 106 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/Read.java | 117 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/ReadByte.java | 118 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java | 118 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/RandomFileInputStream/Skip.java | 131 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/SubbufferLong.java | 92 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/SubbufferLongLong.java | 92 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/SubbufferLongLongBoolean.java | 98 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/Unload.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBuffer/WriteTo.java | 92 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/GetAttenuation.java | 97 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/GetChannels.java | 97 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/GetLoopLength.java | 96 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/GetLoopStart.java | 96 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/GetPitchCorrection.java | 97 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java | 94 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java | 94 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java | 94 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java | 96 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/Open.java | 92 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/Set8BitExtensionBuffer.java | 119 overlays/openjdk/jdk/test/com/sun/media/sound/ModelByteBufferWavetable/SetLoopType.java | 96 overlays/openjdk/jdk/test/com/sun/media/sound/ModelDestination/NewModelDestination.java | 46 overlays/openjdk/jdk/test/com/sun/media/sound/ModelDestination/NewModelDestinationModelIdentifier.java | 46 overlays/openjdk/jdk/test/com/sun/media/sound/ModelDestination/SetIdentifier.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelDestination/SetTransform.java | 46 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/EqualsObject.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/NewModelIdentifierString.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/NewModelIdentifierStringInt.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/NewModelIdentifierStringString.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/NewModelIdentifierStringStringInt.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/SetInstance.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/SetObject.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelIdentifier/SetVariable.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/GetOscillators.java | 44 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetConnectionBlocks.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetDefaultConnectionsEnabled.java | 49 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetExclusiveClass.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetKeyFrom.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetKeyTo.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetName.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetSelfNonExclusive.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetVelFrom.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelPerformer/SetVelTo.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSource.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSourceModelIdentifier.java | 46 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSourceModelIdentifierBoolean.java | 49 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java | 51 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/NewModelSourceModelIdentifierModelTransform.java | 47 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/SetIdentifier.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelSource/SetTransform.java | 46 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/NewModelStandardTransform.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/NewModelStandardTransformBoolean.java | 48 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java | 50 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java | 51 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/SetDirection.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/SetPolarity.java | 45 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/SetTransform.java | 74 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/TransformAbsolute.java | 73 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/TransformConcave.java | 98 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/TransformConvex.java | 98 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/TransformLinear.java | 90 overlays/openjdk/jdk/test/com/sun/media/sound/ModelStandardTransform/TransformSwitch.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/Available.java | 78 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/Close.java | 72 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/GetFilePointer.java | 78 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/GetSize.java | 77 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/HasNextChunk.java | 85 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/Read.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadByte.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadByteArrayIntInt.java | 81 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadInt.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadLong.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadShort.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadString.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadUnsignedByte.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadUnsignedInt.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/ReadUnsignedShort.java | 79 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/Skip.java | 78 overlays/openjdk/jdk/test/com/sun/media/sound/RiffReaderWriter/WriteOutputStream.java | 81 overlays/openjdk/jdk/test/com/sun/media/sound/SF2SoundbankReader/TestGetSoundbankFile.java | 52 overlays/openjdk/jdk/test/com/sun/media/sound/SF2SoundbankReader/TestGetSoundbankInputStream.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SF2SoundbankReader/TestGetSoundbankInputStream2.java | 119 overlays/openjdk/jdk/test/com/sun/media/sound/SF2SoundbankReader/TestGetSoundbankUrl.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelInstrument.java | 86 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelInstrumentIntInt.java | 91 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelInstrumentIntIntIntInt.java | 97 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java | 97 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformer.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerArray.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerArrayIntInt.java | 89 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerIntInt.java | 89 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerIntIntIntInt.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/Clear.java | 73 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/SetName.java | 72 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleInstrument/SetPatch.java | 75 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/AddInstrument.java | 51 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/AddResource.java | 52 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/GetInstrument.java | 50 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/RemoveInstrument.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/SetDescription.java | 47 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/SetName.java | 47 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/SetVendor.java | 47 overlays/openjdk/jdk/test/com/sun/media/sound/SimpleSoundbank/SetVersion.java | 47 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioBuffer/Array.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioBuffer/Clear.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioBuffer/Get.java | 68 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioBuffer/NewSoftAudioBuffer.java | 55 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioSynthesizer/DummySourceDataLine.java | 232 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioSynthesizer/GetFormat.java | 61 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioSynthesizer/GetPropertyInfo.java | 53 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioSynthesizer/Open.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SoftAudioSynthesizer/OpenStream.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/AllNotesOff.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/AllSoundOff.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/ChannelPressure.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/Controller.java | 62 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/LocalControl.java | 60 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/Mono.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/Mute.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/NoteOff.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/NoteOff2.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/NoteOn.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/Omni.java | 61 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/PitchBend.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/PolyPressure.java | 61 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/ProgramChange.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/ResetAllControllers.java | 132 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/SoftTestUtils.java | 111 overlays/openjdk/jdk/test/com/sun/media/sound/SoftChannel/Solo.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftCubicResampler/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftFilter/TestProcessAudio.java | 99 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLanczosResampler/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_mix.java | 96 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_mix_mono.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java | 84 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_mix_overdrive.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_normal.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_normal_mono.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_overdrive.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLimiter/ProcessAudio_replace_overdrive_mono.java | 83 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLinearResampler/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLinearResampler2/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftLowFrequencyOscillator/TestProcessControlLogic.java | 106 overlays/openjdk/jdk/test/com/sun/media/sound/SoftPointResampler/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftProvider/GetDevice.java | 70 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Close.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_ActiveSense.java | 82 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_AllNotesOff.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_AllSoundOff.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_ChannelPressure.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_Controller.java | 66 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_Mono.java | 75 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_NoteOff.java | 65 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_NoteOn.java | 65 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_NoteOn_AllChannels.java | 71 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_NoteOn_Delayed.java | 67 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_NoteOn_Multiple.java | 76 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_Omni.java | 74 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_PitchBend.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_PolyPressure.java | 65 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_ProgramChange.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/Send_ResetAllControllers.java | 136 overlays/openjdk/jdk/test/com/sun/media/sound/SoftReceiver/SoftTestUtils.java | 111 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSincResampler/Interpolate.java | 113 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/Close.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/DummySourceDataLine.java | 232 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetAvailableInstruments.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetChannels.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetDefaultSoundbank.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetDeviceInfo.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetLatency.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetLoadedInstruments.java | 65 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetMaxPolyphony.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetMaxReceivers.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetMaxTransmitters.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetMicrosecondPosition.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetReceiver.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetReceiver2.java | 62 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetReceivers.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetTransmitter.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetTransmitters.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/GetVoiceStatus.java | 61 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/ImplicitOpenClose.java | 105 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/IsOpen.java | 59 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/IsSoundbankSupported.java | 95 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/LoadAllInstruments.java | 73 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/LoadInstrument.java | 73 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/LoadInstruments.java | 73 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/Open.java | 64 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/OpenStream.java | 58 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/RemapInstrument.java | 76 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/TestRender1.java | 214 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/UnloadAllInstruments.java | 69 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/UnloadInstrument.java | 75 overlays/openjdk/jdk/test/com/sun/media/sound/SoftSynthesizer/UnloadInstruments.java | 75 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/GetName.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/GetTuning.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/GetTuningInt.java | 53 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load1.java | 101 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load2.java | 71 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load4.java | 104 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load5.java | 87 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load6.java | 91 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load7.java | 72 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load8.java | 65 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/Load9.java | 69 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/NewSoftTuning.java | 56 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/NewSoftTuningByteArray.java | 63 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/NewSoftTuningPatch.java | 54 overlays/openjdk/jdk/test/com/sun/media/sound/SoftTuning/NewSoftTuningPatchByteArray.java | 65 overlays/openjdk/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java | 40 overlays/openjdk/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh | 61 patches/arm.patch | 221 patches/cacao/arm-arch-defines.patch | 14 patches/cacao/ignore-jdi-tests.patch | 1496 patches/cacao/ignore-tests.patch | 11 patches/cacao/jsig.patch | 18 patches/cacao/launcher.patch | 50 patches/cacao/memory.patch | 18 patches/cacao/nio2.patch | 41 patches/cacao/no-strict-aliasing.patch | 22 patches/cacao/version-parsing.patch | 11 patches/debug-dir.patch | 31 patches/ecj/bootver.patch | 14 patches/ecj/getannotation-cast.patch | 24 patches/ecj/icedtea-hotspot.patch | 18 patches/ecj/icedtea-jaxws-getdtdtype.patch | 23 patches/ecj/icedtea.patch | 142 patches/ecj/override.patch | 209 patches/extensions/liveconnect-dist.patch | 76 patches/extensions/liveconnect.patch | 87 patches/extensions/netx-dist.patch | 86 patches/extensions/netx-umask.patch | 164 patches/extensions/netx.patch | 137 patches/hotspot/hs16/icedtea-params-cast-size_t.patch | 252 patches/hotspot/hs16/memory-limits.patch | 24 patches/hotspot/hs16/openjdk-6886353-ignore_deoptimizealot.patch | 33 patches/hotspot/hs16/shark.patch | 9 patches/hotspot/hs16/zero.patch | 107 patches/hotspot/original/icedtea-6778657-f2i-overflow.patch | 96 patches/hotspot/original/icedtea-6778662-lib64.patch | 16 patches/hotspot/original/icedtea-6791168.patch | 230 patches/hotspot/original/icedtea-6793825-includedb.patch | 107 patches/hotspot/original/icedtea-debuginfo.patch | 15 patches/hotspot/original/icedtea-params-cast-size_t.patch | 255 patches/hotspot/original/memory-limits.patch | 23 patches/icedtea-6761856-freetypescaler.patch | 47 patches/icedtea-alpha-fixes.patch | 24 patches/icedtea-cacao-ignore-jdi-tests.patch | 1496 patches/icedtea-cacao-ignore-tests.patch | 10 patches/icedtea-cacao-no-mmap-first-page.patch | 23 patches/icedtea-cacao.patch | 50 patches/icedtea-clean-crypto.patch | 91 patches/icedtea-copy-plugs.patch | 162 patches/icedtea-doc-headers.patch | 181 patches/icedtea-explicit-target-arch.patch | 6 patches/icedtea-fonts.patch | 783 patches/icedtea-java2d-dasher.patch | 11 patches/icedtea-jaxws-getdtdtype.patch | 27 patches/icedtea-jtreg-httpTest.patch | 37 patches/icedtea-jtreg-jrunscript.patch | 26 patches/icedtea-lcms.patch | 18 patches/icedtea-liveconnect.patch | 85 patches/icedtea-nio2.patch | 252 patches/icedtea-nomotif-6706121.patch |26836 +++++----- patches/icedtea-nomotif-mtoolkit.patch | 168 patches/icedtea-nss-6763530.patch | 55 patches/icedtea-nss-not-enabled-config.patch | 13 patches/icedtea-override-redirect-metacity.patch | 11 patches/icedtea-override.patch | 198 patches/icedtea-plugin.patch | 1301 patches/icedtea-policy-evaluation.patch | 35 patches/icedtea-sh4-support.patch | 145 patches/icedtea-shark.patch | 21 patches/icedtea-systemtap.patch | 182 patches/icedtea-webstart-umask.patch | 164 patches/icedtea-webstart.patch | 137 patches/memory-limits.patch | 24 patches/no-sync.patch | 14 patches/nss-debug.patch | 56 patches/openjdk/6668231-ssl_cert.patch | 306 patches/openjdk/6678385-window_movement_crasher.patch | 1241 patches/openjdk/6879689-hotspot_warning_fix.patch | 22 patches/openjdk/6928623-verbose-langtools.patch | 22 patches/openjdk/6961732-negative_leading.patch | 45 patches/openjdk/6963870-swing_npe.patch | 99 patches/openjdk/annotation-tests.patch | 5867 -- patches/openjdk/bidi-tests.patch | 295 patches/params-cast-size_t.patch | 252 patches/security/20100330/hotspot/original/6626217.patch | 180 patches/shark-debug-option.patch | 30 patches/shark.patch | 9 patches/shark_do_nothing_on_stub_frame.patch | 14 patches/systemtap-alloc-size-workaround.patch | 17 patches/systemtap-gcc-4.5.patch | 11 patches/systemtap.patch | 157 patches/xrender/icedtea-000.patch | 112 patches/zero/6890308.patch | 760 patches/zero/6891677.patch | 418 patches/zero/6896043.patch | 113 patches/zero/6903453.patch | 38 patches/zero/6909153.patch | 40 patches/zero/6913869.patch | 12 patches/zero/6914622.patch | 98 plugin/icedtea/netscape/javascript/JSException.java | 140 plugin/icedtea/netscape/javascript/JSObject.java | 290 plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java | 47 plugin/icedtea/netscape/javascript/JSProxy.java | 58 plugin/icedtea/netscape/javascript/JSRunnable.java | 72 plugin/icedtea/netscape/javascript/JSUtil.java | 59 plugin/icedtea/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedtea/sun/applet/JavaConsole.java | 365 plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java | 241 plugin/icedtea/sun/applet/PluginAppletSecurityContext.java | 1311 plugin/icedtea/sun/applet/PluginAppletViewer.java | 2004 plugin/icedtea/sun/applet/PluginCallRequest.java | 85 plugin/icedtea/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedtea/sun/applet/PluginClassLoader.java | 51 plugin/icedtea/sun/applet/PluginCookieInfoRequest.java | 82 plugin/icedtea/sun/applet/PluginCookieManager.java | 88 plugin/icedtea/sun/applet/PluginDebug.java | 51 plugin/icedtea/sun/applet/PluginException.java | 53 plugin/icedtea/sun/applet/PluginMain.java | 319 plugin/icedtea/sun/applet/PluginMessageConsumer.java | 119 plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedtea/sun/applet/PluginObjectStore.java | 132 plugin/icedtea/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedtea/sun/applet/PluginProxySelector.java | 195 plugin/icedtea/sun/applet/PluginStreamHandler.java | 479 plugin/icedtea/sun/applet/RequestQueue.java | 77 plugin/icedtea/sun/applet/TestEnv.java | 172 plugin/icedtea/sun/applet/VoidPluginCallRequest.java | 67 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 115 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 566 plugin/icedteanp/IcedTeaNPPlugin.h | 6 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 255 plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 26 plugin/icedteanp/IcedTeaPluginUtils.cc | 159 plugin/icedteanp/IcedTeaPluginUtils.h | 79 plugin/icedteanp/IcedTeaRunnable.cc | 2 plugin/icedteanp/IcedTeaRunnable.h | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 67 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 2 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java | 52 plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java | 26 plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java | 18 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 122 plugin/icedteanp/java/sun/applet/PluginCallRequest.java | 22 plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java | 14 plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java | 20 plugin/icedteanp/java/sun/applet/PluginMain.java | 6 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 284 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 46 plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 24 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 31 plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java | 19 plugin/tests/LiveConnect/common.js | 3 ports/hotspot/make/linux/makefiles/zero.make | 32 ports/hotspot/make/linux/makefiles/zeroshark.make | 78 ports/hotspot/make/linux/platform_zero.in | 17 ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp | 72 ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp | 63 ports/hotspot/src/cpu/zero/vm/assembler_zero.inline.hpp | 26 ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp | 54 ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp | 148 ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp | 301 ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp | 81 ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp | 65 ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp | 164 ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp | 27 ports/hotspot/src/cpu/zero/vm/copy_zero.hpp | 178 ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp | 37 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 988 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp | 47 ports/hotspot/src/cpu/zero/vm/debug_zero.cpp | 31 ports/hotspot/src/cpu/zero/vm/depChecker_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/depChecker_zero.hpp | 26 ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp | 35 ports/hotspot/src/cpu/zero/vm/dump_zero.cpp | 36 ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp | 65 ports/hotspot/src/cpu/zero/vm/entry_zero.hpp | 64 ports/hotspot/src/cpu/zero/vm/fakeStubFrame_zero.hpp | 53 ports/hotspot/src/cpu/zero/vm/frame_zero.cpp | 397 ports/hotspot/src/cpu/zero/vm/frame_zero.hpp | 74 ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp | 151 ports/hotspot/src/cpu/zero/vm/globalDefinitions_zero.hpp | 26 ports/hotspot/src/cpu/zero/vm/globals_zero.hpp | 56 ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp | 49 ports/hotspot/src/cpu/zero/vm/icache_zero.cpp | 32 ports/hotspot/src/cpu/zero/vm/icache_zero.hpp | 36 ports/hotspot/src/cpu/zero/vm/interp_masm_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp | 31 ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp | 75 ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp | 36 ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp | 162 ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp | 127 ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp | 66 ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp | 61 ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp | 72 ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp | 59 ports/hotspot/src/cpu/zero/vm/jniTypes_zero.hpp | 108 ports/hotspot/src/cpu/zero/vm/jni_zero.h | 38 ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp | 50 ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp | 185 ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp | 39 ports/hotspot/src/cpu/zero/vm/register_definitions_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/register_zero.cpp | 39 ports/hotspot/src/cpu/zero/vm/register_zero.hpp | 108 ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp | 74 ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp | 32 ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp | 115 ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp | 79 ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp | 61 ports/hotspot/src/cpu/zero/vm/stack_zero.hpp | 197 ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp | 251 ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp | 31 ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp | 51 ports/hotspot/src/cpu/zero/vm/templateInterpreterGenerator_zero.hpp | 26 ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/templateInterpreter_zero.hpp | 26 ports/hotspot/src/cpu/zero/vm/templateTable_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/templateTable_zero.hpp | 26 ports/hotspot/src/cpu/zero/vm/vmStructs_zero.hpp | 52 ports/hotspot/src/cpu/zero/vm/vm_version_zero.cpp | 26 ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp | 31 ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp | 62 ports/hotspot/src/cpu/zero/vm/vmreg_zero.hpp | 29 ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp | 32 ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp | 43 ports/hotspot/src/os_cpu/linux_zero/vm/assembler_linux_zero.cpp | 26 ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp | 293 ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp | 40 ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 43 ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp | 167 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 480 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 51 ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp | 30 ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp | 39 ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp | 30 ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp | 26 ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp | 104 ports/hotspot/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp | 45 ports/hotspot/src/os_cpu/linux_zero/vm/vm_version_linux_zero.cpp | 26 ports/hotspot/src/share/vm/includeDB_shark | 3 ports/hotspot/src/share/vm/includeDB_zero | 55 ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 12 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 57 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 24 ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 3 ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp | 11 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 6 ports/hotspot/src/share/vm/shark/sharkConstant.cpp | 2 ports/hotspot/src/share/vm/shark/sharkContext.cpp | 6 ports/hotspot/src/share/vm/shark/sharkInvariants.hpp | 7 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp | 15 ports/hotspot/src/share/vm/shark/sharkRuntime.cpp | 53 ports/hotspot/src/share/vm/shark/sharkRuntime.hpp | 10 ports/hotspot/src/share/vm/shark/sharkStack.cpp | 87 ports/hotspot/src/share/vm/shark/sharkStack.hpp | 48 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 380 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp | 34 ports/hotspot/src/share/vm/shark/shark_globals.hpp | 14 ports/hotspot/tools/mkbc.c | 2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 29 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 10 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 36 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 83 return | 6 rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java | 52 rt/com/sun/jmx/snmp/SnmpDefinitions.java | 83 rt/com/sun/jmx/snmp/SnmpOid.java | 137 rt/com/sun/jmx/snmp/SnmpOidRecord.java | 53 rt/com/sun/jmx/snmp/SnmpOidTable.java | 53 rt/com/sun/jmx/snmp/SnmpOidTableSupport.java | 54 rt/com/sun/jmx/snmp/SnmpParameters.java | 60 rt/com/sun/jmx/snmp/SnmpPduPacket.java | 52 rt/com/sun/jmx/snmp/SnmpPeer.java | 73 rt/com/sun/jmx/snmp/SnmpSession.java | 65 rt/com/sun/jmx/snmp/SnmpTimeticks.java | 74 rt/com/sun/jmx/snmp/SnmpVarBind.java | 74 rt/com/sun/jmx/snmp/SnmpVarBindList.java | 82 rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java | 42 rt/com/sun/jmx/snmp/daemon/SnmpSession.java | 66 rt/com/sun/media/sound/AbstractPlayer.java | 45 rt/com/sun/media/sound/HeadspaceMixer.java | 44 rt/com/sun/media/sound/HeadspaceSoundbank.java | 45 rt/com/sun/media/sound/MixerClip.java | 44 rt/com/sun/media/sound/MixerMidiChannel.java | 45 rt/com/sun/media/sound/MixerSequencer.java | 233 rt/com/sun/media/sound/MixerSourceLine.java | 44 rt/com/sun/media/sound/MixerSynth.java | 55 rt/com/sun/media/sound/MixerThread.java | 44 rt/com/sun/media/sound/SimpleInputDevice.java | 44 rt/com/sun/media/sound/SimpleInputDeviceProvider.java | 45 rt/javax/jnlp/BasicService.java | 13 rt/javax/jnlp/ClipboardService.java | 11 rt/javax/jnlp/DownloadService.java | 25 rt/javax/jnlp/DownloadServiceListener.java | 13 rt/javax/jnlp/ExtendedService.java | 51 rt/javax/jnlp/ExtensionInstallerService.java | 22 rt/javax/jnlp/FileContents.java | 18 rt/javax/jnlp/FileOpenService.java | 11 rt/javax/jnlp/FileSaveService.java | 11 rt/javax/jnlp/JNLPRandomAccessFile.java | 46 rt/javax/jnlp/PersistenceService.java | 18 rt/javax/jnlp/PrintService.java | 13 rt/javax/jnlp/ServiceManager.java | 54 rt/javax/jnlp/ServiceManagerStub.java | 11 rt/javax/jnlp/SingleInstanceListener.java | 35 rt/javax/jnlp/SingleInstanceService.java | 46 rt/javax/jnlp/UnavailableServiceException.java | 16 rt/net/sourceforge/jnlp/AppletDesc.java | 125 rt/net/sourceforge/jnlp/ApplicationDesc.java | 76 rt/net/sourceforge/jnlp/AssociationDesc.java | 56 rt/net/sourceforge/jnlp/ComponentDesc.java | 43 rt/net/sourceforge/jnlp/DefaultLaunchHandler.java | 114 rt/net/sourceforge/jnlp/ExtensionDesc.java | 145 rt/net/sourceforge/jnlp/IconDesc.java | 138 rt/net/sourceforge/jnlp/InformationDesc.java | 268 rt/net/sourceforge/jnlp/InstallerDesc.java | 54 rt/net/sourceforge/jnlp/JARDesc.java | 144 rt/net/sourceforge/jnlp/JNLPFile.java | 623 rt/net/sourceforge/jnlp/JNLPSplashScreen.java | 93 rt/net/sourceforge/jnlp/JREDesc.java | 167 rt/net/sourceforge/jnlp/LaunchException.java | 190 rt/net/sourceforge/jnlp/LaunchHandler.java | 68 rt/net/sourceforge/jnlp/Launcher.java | 792 rt/net/sourceforge/jnlp/MenuDesc.java | 38 rt/net/sourceforge/jnlp/NetxPanel.java | 147 rt/net/sourceforge/jnlp/Node.java | 147 rt/net/sourceforge/jnlp/PackageDesc.java | 105 rt/net/sourceforge/jnlp/ParseException.java | 94 rt/net/sourceforge/jnlp/Parser.java | 1202 rt/net/sourceforge/jnlp/PluginBridge.java | 253 rt/net/sourceforge/jnlp/PropertyDesc.java | 66 rt/net/sourceforge/jnlp/RelatedContentDesc.java | 93 rt/net/sourceforge/jnlp/ResourcesDesc.java | 231 rt/net/sourceforge/jnlp/SecurityDesc.java | 197 rt/net/sourceforge/jnlp/ShortcutDesc.java | 70 rt/net/sourceforge/jnlp/StreamEater.java | 45 rt/net/sourceforge/jnlp/Version.java | 354 rt/net/sourceforge/jnlp/cache/CacheEntry.java | 174 rt/net/sourceforge/jnlp/cache/CacheUtil.java | 394 rt/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 321 rt/net/sourceforge/jnlp/cache/DownloadIndicator.java | 92 rt/net/sourceforge/jnlp/cache/Resource.java | 271 rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 1051 rt/net/sourceforge/jnlp/cache/UpdatePolicy.java | 90 rt/net/sourceforge/jnlp/cache/package.html | 28 rt/net/sourceforge/jnlp/event/ApplicationEvent.java | 57 rt/net/sourceforge/jnlp/event/ApplicationListener.java | 38 rt/net/sourceforge/jnlp/event/DownloadEvent.java | 72 rt/net/sourceforge/jnlp/event/DownloadListener.java | 51 rt/net/sourceforge/jnlp/event/package.html | 28 rt/net/sourceforge/jnlp/package.html | 30 rt/net/sourceforge/jnlp/resources/Manifest.mf | 6 rt/net/sourceforge/jnlp/resources/Messages.properties | 174 rt/net/sourceforge/jnlp/resources/about.jnlp | 20 rt/net/sourceforge/jnlp/resources/default.jnlp | 20 rt/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 68 rt/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 109 rt/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 354 rt/net/sourceforge/jnlp/runtime/AppletInstance.java | 139 rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 282 rt/net/sourceforge/jnlp/runtime/Boot.java | 451 rt/net/sourceforge/jnlp/runtime/Boot13.java | 103 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 1052 rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 105 rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 559 rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 556 rt/net/sourceforge/jnlp/runtime/package.html | 29 rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 215 rt/net/sourceforge/jnlp/security/AppletWarningPane.java | 121 rt/net/sourceforge/jnlp/security/CertVerifier.java | 92 rt/net/sourceforge/jnlp/security/CertWarningPane.java | 269 rt/net/sourceforge/jnlp/security/CertsInfoPane.java | 340 rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 238 rt/net/sourceforge/jnlp/security/MoreInfoPane.java | 127 rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 rt/net/sourceforge/jnlp/security/SecurityUtil.java | 285 rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 430 rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 78 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 286 rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 350 rt/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 148 rt/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 49 rt/net/sourceforge/jnlp/services/InstanceExistsException.java | 35 rt/net/sourceforge/jnlp/services/ServiceUtil.java | 276 rt/net/sourceforge/jnlp/services/SingleInstanceLock.java | 194 rt/net/sourceforge/jnlp/services/XBasicService.java | 234 rt/net/sourceforge/jnlp/services/XClipboardService.java | 81 rt/net/sourceforge/jnlp/services/XDownloadService.java | 181 rt/net/sourceforge/jnlp/services/XExtendedService.java | 54 rt/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 123 rt/net/sourceforge/jnlp/services/XFileContents.java | 123 rt/net/sourceforge/jnlp/services/XFileOpenService.java | 113 rt/net/sourceforge/jnlp/services/XFileSaveService.java | 140 rt/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 208 rt/net/sourceforge/jnlp/services/XPersistenceService.java | 179 rt/net/sourceforge/jnlp/services/XPrintService.java | 123 rt/net/sourceforge/jnlp/services/XServiceManagerStub.java | 108 rt/net/sourceforge/jnlp/services/XSingleInstanceService.java | 229 rt/net/sourceforge/jnlp/services/package.html | 29 rt/net/sourceforge/jnlp/tools/CharacterEncoder.java | 354 rt/net/sourceforge/jnlp/tools/HexDumpEncoder.java | 120 rt/net/sourceforge/jnlp/tools/JarRunner.java | 15 rt/net/sourceforge/jnlp/tools/JarSigner.java | 545 rt/net/sourceforge/jnlp/tools/JarSignerResources.java | 212 rt/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 69 rt/net/sourceforge/jnlp/tools/KeyTool.java | 461 rt/net/sourceforge/jnlp/util/FileUtils.java | 48 rt/net/sourceforge/jnlp/util/PropertiesFile.java | 148 rt/net/sourceforge/jnlp/util/Reflect.java | 148 rt/net/sourceforge/jnlp/util/WeakList.java | 128 rt/net/sourceforge/jnlp/util/XDesktopEntry.java | 213 rt/net/sourceforge/nanoxml/XMLElement.java | 1334 rt/net/sourceforge/nanoxml/XMLParseException.java | 130 tapset/hotspot.stp.in | 2 visualvm.desktop | 9 diffs (truncated from 178262 to 500 lines): diff -r 7c740ee6ff74 -r 41911a183c51 .hgignore --- a/.hgignore Mon Mar 01 09:41:01 2010 +0100 +++ b/.hgignore Thu Jul 29 14:06:38 2010 +0200 @@ -7,13 +7,13 @@ cacao cacao netbeans visualvm -openjdk bootstrap debian lib tools stamps Makefile +Makefile.in config.log config.guess config.sub @@ -38,13 +38,16 @@ test/jtreg.jar test/jtreg.jar test/jtreg/classes test/jtreg-summary.log -test/check-.*log +test/check-*.log generated/sun/awt/X11/generator/sizer.32.orig pulseaudio/bin -pulseaudio/.*\.o +pulseaudio/*.o pulseaudio/src/native/org_.*.h -pulseaudio/.*jar +pulseaudio/*.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s plugin/tests/LiveConnect/*jar + +syntax: regexp +^openjdk diff -r 7c740ee6ff74 -r 41911a183c51 .hgtags --- a/.hgtags Mon Mar 01 09:41:01 2010 +0100 +++ b/.hgtags Thu Jul 29 14:06:38 2010 +0200 @@ -17,3 +17,4 @@ 926c38e2b2830971f6ca0dff2ce25f78a694b178 926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea-1.6-branchpoint 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea-1.7-branchpoint +9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.8-branchpoint diff -r 7c740ee6ff74 -r 41911a183c51 AUTHORS --- a/AUTHORS Mon Mar 01 09:41:01 2010 +0100 +++ b/AUTHORS Thu Jul 29 14:06:38 2010 +0200 @@ -31,6 +31,7 @@ Marc Schoenefeld Marc Schoenefeld Keith Seitz Joshua Sumali +Pavel Tisnovsky Christian Thalinger Dalibor Topic Arnaud Vandyck diff -r 7c740ee6ff74 -r 41911a183c51 ChangeLog --- a/ChangeLog Mon Mar 01 09:41:01 2010 +0100 +++ b/ChangeLog Thu Jul 29 14:06:38 2010 +0200 @@ -1,3 +1,3222 @@ 2010-03-01 Mark Wielaard + + * patches/systemtap-alloc-size-workaround.patch: New patch. + * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. + * tapset/hotspot.stp.in (object_alloc): Calculate size from + $arg4 and $HeapWordSize. + +2010-07-29 Gary Benson + + PR icedtea/525: + * NEWS: Updated. + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::end_frame): Add missing fields. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java + (addComponents): Fix erroneous line that got added when backporting. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new + HashMap to map source locations to security descriptors for that + location. + (getInstance): Use the new merge() method to merge loader data. + (initializeResources): Add map entries to the new + jarLocationSecurityMap. + (getPermissions): Decide permissions based on security descriptor + associated with the calling code, rather than with the jnlp file. + (getCodeSourceSecurity): New method. Returns the security descriptor + associated with the given code source URL. + (merge): New method. Merges loader classpaths, native dir paths, and + security descriptor mappings. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): + Add security descriptor mapping for nested jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean + up method, and make sure sandbox permissions are always a subset of + what is returned. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult + enum to track verification status. + (verifyJars): Mark jar unverified only if it has no signature. + (verifyJar): Use new verifyResult enum to return status based on if jar + is unsigned, signed but with errors, or signed and ok. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse new loader paths into base loader. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): + Check if calling code is trusted all the way to the end. If it isn't, + prompt user. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new + strings. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Prompt user if the main app code is signed, but the extentions aren't. + (initializeResources): Prompt user if there are any unsigned jars mixed + with signed jars. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New + file. Dialog shown to user if the main app code is signed but the + extentions aren't. + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java + (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier + object. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Added + dialog and accesstype enum elements for a 'Not all jars signed' case. + (showNotAllSignedWarningDialog): New function. Prompts the user if the + main app code is signed but the extentions aren't. + (createDialog): Wire in the 'Not all jars signed' case. + (updateUI): Same. + * netx/net/sourceforge/jnlp/tools/JarSigner.java (allJarsSigned): New + function. Returns if there are any unsigned jars. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): + Collapse extention loaders into baseloader rather than vice-verse. + +2010-07-28 Deepak Bhole + + * netx/net/sourceforge/jnlp/SecurityDesc.java: Converge all property + permission settings info a single class. + (getPermissions): Do not give read/write permissions to anything other + than what is allowed by spec. + (getSandBoxPermissions): Same. + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Remove + blanket imports. + (installEnvironment): Write properties in a restricted + AccessControlContext based on app specific permissions only. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (checkPermission): Remove all property permission decision making code + and collapse it all into SecurityDesc.java. + +2010-07-28 Matthias Klose + + * NEWS: Add 1.8.1 entry. + +2010-07-26 Andrew John Hughes + + * README: Updated for HEAD using IcedTea7 version. + * INSTALL: Likewise. + +2010-07-21 Andrew John Hughes + + * INSTALL: Updated, with documentation + of new options and removal of outdated information. + * acinclude.m4: + (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help. + (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help. + (AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT} + in configure help, replacing it with the value used. + (IT_CHECK_NEW_PLUGIN): Remove 'experimental'. Fix default in + configure help. + * configure.ac: + Fix default in configure help for NIO2. + +2010-07-21 Andrew John Hughes + + * README: Updated. + +2010-07-20 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c: + Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture. + +2010-07-25 Andrew John Hughes + + Make purpose of OpenJDK patches clearer and + use original changeset for 6963870. + * patches/openjdk/6678385.patch, + * patches/openjdk/6961732.patch, + * patches/openjdk/6963870.patch: Renamed to... + * Makefile.am: Use new patch names. + * patches/openjdk/6678385-window_movement_crasher.patch, + * patches/openjdk/6961732-negative_leading.patch, + * patches/openjdk/6963870-swing_npe.patch: these. + +2010-07-25 Andrew John Hughes + + * Makefile.am: Add patch. + * patches/openjdk/6668231-ssl_cert.patch: + Backport SSL certificate fix 'Presence of a + critical subjectAltName causes JSSE's SunX509 to + fail trusted checks'. + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks, + * overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks: + Keystores for the new test introduced by this patch. + +2010-07-23 Jon VanAlten + + * patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for + upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing + class CompoundBorder method getBorderInsets. + * Makefile.am: Include above patch. + +2010-07-23 Andrew John Hughes + + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: + (addComponents()): Fix call to getType(). + * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: + (getType): Rename to getAccessType() to avoid conflict with + Window.getType() in OpenJDK7. + +2010-07-23 Andrew John Hughes + + * netx/javax/jnlp/BasicService.java, + * netx/javax/jnlp/ClipboardService.java, + * netx/javax/jnlp/DownloadService.java, + * netx/javax/jnlp/DownloadServiceListener.java, + * netx/javax/jnlp/ExtendedService.java, + * netx/javax/jnlp/ExtensionInstallerService.java, + * netx/javax/jnlp/FileContents.java, + * netx/javax/jnlp/FileOpenService.java, + * netx/javax/jnlp/FileSaveService.java, + * netx/javax/jnlp/JNLPRandomAccessFile.java, + * netx/javax/jnlp/PersistenceService.java, + * netx/javax/jnlp/PrintService.java, + * netx/javax/jnlp/ServiceManager.java, + * netx/javax/jnlp/ServiceManagerStub.java, + * netx/javax/jnlp/SingleInstanceListener.java, + * netx/javax/jnlp/SingleInstanceService.java, + * netx/javax/jnlp/UnavailableServiceException.java, + * netx/net/sourceforge/jnlp/AppletDesc.java, + * netx/net/sourceforge/jnlp/ApplicationDesc.java, + * netx/net/sourceforge/jnlp/AssociationDesc.java, + * netx/net/sourceforge/jnlp/ComponentDesc.java, + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * netx/net/sourceforge/jnlp/ExtensionDesc.java, + * netx/net/sourceforge/jnlp/IconDesc.java, + * netx/net/sourceforge/jnlp/InformationDesc.java, + * netx/net/sourceforge/jnlp/InstallerDesc.java, + * netx/net/sourceforge/jnlp/JARDesc.java, + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, + * netx/net/sourceforge/jnlp/JREDesc.java, + * netx/net/sourceforge/jnlp/LaunchException.java, + * netx/net/sourceforge/jnlp/LaunchHandler.java, + * netx/net/sourceforge/jnlp/Launcher.java, + * netx/net/sourceforge/jnlp/MenuDesc.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/Node.java, + * netx/net/sourceforge/jnlp/PackageDesc.java, + * netx/net/sourceforge/jnlp/ParseException.java, + * netx/net/sourceforge/jnlp/Parser.java, + * netx/net/sourceforge/jnlp/PluginBridge.java, + * netx/net/sourceforge/jnlp/PropertyDesc.java, + * netx/net/sourceforge/jnlp/RelatedContentDesc.java, + * netx/net/sourceforge/jnlp/ResourcesDesc.java, + * netx/net/sourceforge/jnlp/SecurityDesc.java, + * netx/net/sourceforge/jnlp/ShortcutDesc.java, + * netx/net/sourceforge/jnlp/StreamEater.java, + * netx/net/sourceforge/jnlp/Version.java, + * netx/net/sourceforge/jnlp/cache/CacheEntry.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/Resource.java, + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, + * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, + * netx/net/sourceforge/jnlp/event/ApplicationListener.java, + * netx/net/sourceforge/jnlp/event/DownloadEvent.java, + * netx/net/sourceforge/jnlp/event/DownloadListener.java, + * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * netx/net/sourceforge/jnlp/runtime/Boot.java, + * netx/net/sourceforge/jnlp/runtime/Boot13.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertVerifier.java, + * netx/net/sourceforge/jnlp/security/CertWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, + * netx/net/sourceforge/jnlp/security/SecurityUtil.java, + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, + * netx/net/sourceforge/jnlp/services/ServiceUtil.java, + * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * netx/net/sourceforge/jnlp/services/XBasicService.java, + * netx/net/sourceforge/jnlp/services/XClipboardService.java, + * netx/net/sourceforge/jnlp/services/XDownloadService.java, + * netx/net/sourceforge/jnlp/services/XExtendedService.java, + * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * netx/net/sourceforge/jnlp/services/XFileContents.java, + * netx/net/sourceforge/jnlp/services/XFileSaveService.java, + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * netx/net/sourceforge/jnlp/services/XPersistenceService.java, + * netx/net/sourceforge/jnlp/services/XPrintService.java, + * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/tools/JarRunner.java, + * netx/net/sourceforge/jnlp/tools/JarSigner.java, + * netx/net/sourceforge/jnlp/tools/KeyTool.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/PropertiesFile.java, + * netx/net/sourceforge/jnlp/util/Reflect.java, + * netx/net/sourceforge/jnlp/util/WeakList.java, + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, + * netx/net/sourceforge/nanoxml/XMLElement.java: + Normalise whitespace. + +2010-07-21 Deepak Bhole + + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 + to Parser.java, since they could cause potential regressions. + +2010-07-20 Man Lung Wong + + * netx/net/sourceforge/jnlp/SecurityDesc.java: + Add permission to read javawebstart.version + property as part of sandbox permission. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Set the javawebstart.version property as part of System property + whenever a jnlp file is being launched (note: this now allows + the jnlp file in bug 486 to launch). + +2010-07-20 Mark Wielaard + + * configure.ac (OPENJDK_BUILD_DIR): New AC_SUBST variable. + (with-abs-install-dir): Based on OPENJDK_BUILD_DIR when not given. + * Makefile.am (BUILD_DIR): Set to @OPENJDK_BUILD_DIR at . + +2010-07-20 Omair Majid + + PR icedtea/491 + * plugin/icedteanp/IcedTeaNPPlugin.cc + (plugin_create_applet_tag): Accept and pass on + java_{code,codebase,archive} tags to the java side of the plugin. + +2010-07-20 Omair Majid + + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add LUnsignedJarWithSecurity LUnsignedJarWithSecurityInfo. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (setSecurity): Can now throw a LaunchException if the JNLP file + requests permissions but the jars are unsigned. + +2010-07-19 Omair Majid + + PR icedtea/372 + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java: Renamed to.. + * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: New file. + Remove all usage of Look and Feel related functionality. Extend JPanel. + (createSetValueListener): New method. + (setVisible): New method. + (requestFocusOnDefaultButton): New method. + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (AccessWarningPane): Take a SecurityWarningDialog instead of a + JComponent as a paramenter. Call addComponents. + (installComponents): Renamed to + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java: + Extend SecurityDialogPanel instead of SecurityDialogUI. + (AppletWarningPane): Take a SecurityWarningDialog instead of a + JComponent as a paramter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (htmlWrap): Moved to parent class. + * netx/net/sourceforge/jnlp/security/CertWarningPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertWarningPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + (CheckBoxListener): Add debug information. + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (CertsInfoPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java + Extend SecurityDialogPanel instead of SecurityDialogUI + (MoreInfoPane): Take a SecurityWarningDialog instead of a JComponent + as a parameter. Call addComponents. + (installComponents): Renamed to... + (addComponents): New method. + (R): Moved to parent class. + (htmlWrap): Likewise. + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java + Extend JDialog instead of JOptionPane. Add panel, value as new fields. + (SecurityWarningDialog): Call super and initDialog. + (showAccessWarningDialog): Modified to use the cleaned-up api. + (showCertWarningDialog): Likewise. + (showMoreInfoDialog): Likewise. + (showCertInfoDialog): Likewise. + (showSingleCertInfoDialog): Likewise. + (showAppletWarning): Likewise. + (createDialog): Renamed to... + (initDialog): New method. Clean up api and remove JOptionPane + references. + (updateUI): Renamed to... + (installPanel): Switch from Look and Feel related setUI methods to + simple JComponents. + (selectDefaultButton): New method. Causes the default button to request + focus. + (setValue): New method. Set the return value of this dialog. + (getValue): New method. Get the return value of this dialog. + (setSystemLookAndFeel): New method. Set the Look and Feel to the System + look and feel. + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java + (SingleCertInfoPane): Take a SecurityWarningDialog instead of a + JComponent as a parameter. + (buildTree): Use parant instead of optionPane. + (populateTable): Likewise. + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: + Extend JPanel instead of SecurityDialogUI. + Add two new fields: parent and defaultFocusComponent. + (CertificatePane): Take a JDialog as the argument. + (installUI): Removed. + (setSystemLookAndFeel): Removed. + (installComponents): Renamed to ... + (addComponents): New method. + (focusOnDefaultButton): New method. Makes the defaultFocusComponent get + focus. + (CloseButtonListener): New class. Disposes the JDialog. + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: + Extend JDialog instead of JOptionPane + (CertificateViewer): Initialize the JDialog, add the CertificatePanel + and set default focus. + (updateUI): Removed. + (centerDialog): Takes no arguments. + (createDialog): Removed. + (showCertificateViewer): Use the new cleaned up api for + CertificateViewer. + (setSystemLookAndFeel): New method. Sets the LookAndFeel of the system. + +2010-07-19 Gary Benson + Xerxes R??nby + + PR icedtea/498 + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::handle_exception): Catch-all handler can be + unloaded. + +2010-07-16 Deepak Bhole + + * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy + evaluation to match the proprietary JDK. + +2010-07-15 Deepak Bhole + + * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window + is resized. + +2010-07-14 Jon VanAlten + From mark at klomp.org Thu Jul 29 05:26:29 2010 From: mark at klomp.org (Mark Wielaard) Date: Thu, 29 Jul 2010 14:26:29 +0200 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: References: Message-ID: <1280406389.16218.58.camel@hermans.wildebeest.org> Hmmm. I did notice I needed to do a merge of my commit. But now I am confused about what I ended up pushing. It looks like I pushed some of Andrew's commits from last year??? Did I mess something up? If so what/how? And if I did, my apologies. Please let me know if I need to clean something up. (Unfortunately I am not consistently online atm, but will probably be in the evening.) On Thu, 2010-07-29 at 12:07 +0000, mjw at icedtea.classpath.org wrote: > changeset 9e8951cefda4 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9e8951cefda4 > author: Andrew John Hughes > date: Tue Nov 17 17:00:32 2009 +0000 > > Patch the JAXWS source if getDTDType() has the wrong return type > (gcj 4.3 and earlier) > > 2009-11-17 Andrew John Hughes > > * Makefile.am: Make use of JAXWS dependent on > absence of javax.annotation.Resource and/or getDTDType() > bug. Add new JAXWS patch. (extract-jaxws.stamp): Apply > getDTDType() patch if bug found. > * acinclude.m4: (IT_GETDTDTYPE_CHECK): Check for old versions > of gcj/Classpath which have > javax.xml.stream.events.Attribute.getDTDType() with a return > type of QName not String. > * configure.ac: Invoke new IT_GETDTDTYPE_CHECK macro. > * patches/icedtea-jaxws-getdtdtype.patch: New patch to work > around the getDTDType() bug. > > > changeset 61d8de6ae872 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=61d8de6ae872 > author: Andrew John Hughes > date: Tue Nov 17 17:47:58 2009 +0000 > > Fix path on new JAXWS patch. > > 2009-11-17 Andrew John Hughes > > * patches/icedtea-jaxws-getdtdtype.patch: Fix path. > > > changeset deb3e47003fb in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=deb3e47003fb > author: Andrew John Hughes > date: Tue Nov 17 19:49:20 2009 +0000 > > Add additional JAXWS gcj 4.3 fix for AttributeBase.java > > 2009-11-17 Andrew John Hughes > > * patches/icedtea-jaxws-getdtdtype.patch: Add > additional fix for AttributeBase.java > > > changeset c80c2eef6dc5 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c80c2eef6dc5 > author: Andrew John Hughes > date: Tue Nov 17 21:35:00 2009 +0000 > > Make the AttributeBase fix actually compile... > > 2009-11-17 Andrew John Hughes > > * patches/icedtea-jaxws-getdtdtype.patch: Replace > getDTDType method, don't add another. > * HACKING: Document the patch. > > > changeset b0a47dfa2eb5 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b0a47dfa2eb5 > author: Mark Wielaard > date: Thu Jul 29 13:53:51 2010 +0200 > > Add workaround for calculating systemtap object_alloc probe size > argument. > > Generating a dwarf location expression for variable * "constant" as > used in the hotspot.object_alloc probe argument triggers unforseen > complications. See > https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for > now by passing the size without HeapWordSize adjustment. > > 2010-07-29 Mark Wielaard > > * patches/systemtap-alloc-size-workaround.patch: New patch. > * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. > * tapset/hotspot.stp.in (object_alloc): Calculate size from > $arg4 and $HeapWordSize. > > > changeset 41911a183c51 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=41911a183c51 > author: Mark Wielaard > date: Thu Jul 29 14:06:38 2010 +0200 > > Merge From jon.vanalten at redhat.com Thu Jul 29 07:29:56 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Thu, 29 Jul 2010 10:29:56 -0400 (EDT) Subject: [RFC] Updated: Systemtap tapset test suite. In-Reply-To: <1048449040.36571280413523431.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1925733115.37351280413796479.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, Some time back I posted a version of this, got some feedback, addressed the feedback, with the end result appearing here[1]. I've since updated the Makefile.am target to reflect changes to build directories, and fixed a couple of correctness issues (doh! noob mistake, wasn't zeroing some memory before writing strings into it; not sure why this wasn't causing me problems before). It would be great to get this committed. This would catch issues before they go out the door[2][3]. I have two questions before I commit (if people think this is okay). Right now the jstaptest.pl script returns a failure condition if any tests fail, which Make then of course detects and stops. Is this the right approach, or should the script simply return OK all the time? Also, right now the tapsetcheck target is a dependency for make check, does anyone have a problem with this test being run automatically? [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008808.html [2] https://bugzilla.redhat.com/show_bug.cgi?id=613822 [3] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=527 thanks, jon -------------- next part -------------- A non-text attachment was scrubbed... Name: staptest.patch Type: text/x-patch Size: 174255 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100729/adadcd88/staptest.patch From twerner at debian.org Thu Jul 29 08:11:04 2010 From: twerner at debian.org (Torsten Werner) Date: Thu, 29 Jul 2010 17:11:04 +0200 Subject: looking for the original source code of jaxb-api Message-ID: Hi, my question might be stupid but I am currently stuck. I am searching for the source code of jaxb-api 2.2.x (not jaxb-impl). I can find a so called 'source jar' at that ships Java files without a build system but with a header 'SUN PROPRIETARY/CONFIDENTIAL'. At the same place I can find a binary jaxb-api.jar that includes a copy of the CDDL license text without explaining anything. IcedTea downloads source drops from which includes some undocumented version of the jaxb-api in jdk6-jaxws-2009_10_27.zip (again without a build system). Where can I find the original source location of the jaxb-api? Thanks for your help, Torsten From ahughes at redhat.com Thu Jul 29 08:16:15 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 16:16:15 +0100 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <1280406389.16218.58.camel@hermans.wildebeest.org> References: <1280406389.16218.58.camel@hermans.wildebeest.org> Message-ID: <20100729151615.GB31701@rivendell.middle-earth.co.uk> On 14:26 Thu 29 Jul , Mark Wielaard wrote: > Hmmm. I did notice I needed to do a merge of my commit. But now I am > confused about what I ended up pushing. It looks like I pushed some of > Andrew's commits from last year??? Did I mess something up? If so > what/how? And if I did, my apologies. Please let me know if I need to > clean something up. (Unfortunately I am not consistently online atm, but > will probably be in the evening.) > > On Thu, 2010-07-29 at 12:07 +0000, mjw at icedtea.classpath.org wrote: > > changeset 9e8951cefda4 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9e8951cefda4 > > author: Andrew John Hughes > > date: Tue Nov 17 17:00:32 2009 +0000 > > > > Patch the JAXWS source if getDTDType() has the wrong return type > > (gcj 4.3 and earlier) > > > > 2009-11-17 Andrew John Hughes > > > > * Makefile.am: Make use of JAXWS dependent on > > absence of javax.annotation.Resource and/or getDTDType() > > bug. Add new JAXWS patch. (extract-jaxws.stamp): Apply > > getDTDType() patch if bug found. > > * acinclude.m4: (IT_GETDTDTYPE_CHECK): Check for old versions > > of gcj/Classpath which have > > javax.xml.stream.events.Attribute.getDTDType() with a return > > type of QName not String. > > * configure.ac: Invoke new IT_GETDTDTYPE_CHECK macro. > > * patches/icedtea-jaxws-getdtdtype.patch: New patch to work > > around the getDTDType() bug. > > > > > > changeset 61d8de6ae872 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=61d8de6ae872 > > author: Andrew John Hughes > > date: Tue Nov 17 17:47:58 2009 +0000 > > > > Fix path on new JAXWS patch. > > > > 2009-11-17 Andrew John Hughes > > > > * patches/icedtea-jaxws-getdtdtype.patch: Fix path. > > > > > > changeset deb3e47003fb in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=deb3e47003fb > > author: Andrew John Hughes > > date: Tue Nov 17 19:49:20 2009 +0000 > > > > Add additional JAXWS gcj 4.3 fix for AttributeBase.java > > > > 2009-11-17 Andrew John Hughes > > > > * patches/icedtea-jaxws-getdtdtype.patch: Add > > additional fix for AttributeBase.java > > > > > > changeset c80c2eef6dc5 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c80c2eef6dc5 > > author: Andrew John Hughes > > date: Tue Nov 17 21:35:00 2009 +0000 > > > > Make the AttributeBase fix actually compile... > > > > 2009-11-17 Andrew John Hughes > > > > * patches/icedtea-jaxws-getdtdtype.patch: Replace > > getDTDType method, don't add another. > > * HACKING: Document the patch. > > > > > > changeset b0a47dfa2eb5 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b0a47dfa2eb5 > > author: Mark Wielaard > > date: Thu Jul 29 13:53:51 2010 +0200 > > > > Add workaround for calculating systemtap object_alloc probe size > > argument. > > > > Generating a dwarf location expression for variable * "constant" as > > used in the hotspot.object_alloc probe argument triggers unforseen > > complications. See > > https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for > > now by passing the size without HeapWordSize adjustment. > > > > 2010-07-29 Mark Wielaard > > > > * patches/systemtap-alloc-size-workaround.patch: New patch. > > * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. > > * tapset/hotspot.stp.in (object_alloc): Calculate size from > > $arg4 and $HeapWordSize. > > > > > > changeset 41911a183c51 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=41911a183c51 > > author: Mark Wielaard > > date: Thu Jul 29 14:06:38 2010 +0200 > > > > Merge > > What commands did you run? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From jon.vanalten at redhat.com Thu Jul 29 08:20:35 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Thu, 29 Jul 2010 11:20:35 -0400 (EDT) Subject: looking for the original source code of jaxb-api In-Reply-To: <1719153438.46451280416809376.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <428224381.46551280416835778.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, Probably it is distilled from the Reference Implementation. You can find more info here: https://jaxb.dev.java.net/ cheers, jon ----- "Torsten Werner" wrote: > Hi, > > my question might be stupid but I am currently stuck. I am searching > for the source code of jaxb-api 2.2.x (not jaxb-impl). I can find a > so > called 'source jar' at that > ships Java files without a build system but with a header 'SUN > PROPRIETARY/CONFIDENTIAL'. At the same place I can find a binary > jaxb-api.jar that includes a copy of the CDDL license text without > explaining anything. > > IcedTea downloads source drops from > which includes some > undocumented version of the jaxb-api in jdk6-jaxws-2009_10_27.zip > (again without a build system). Where can I find the original source > location of the jaxb-api? > > Thanks for your help, > Torsten From ahughes at redhat.com Thu Jul 29 08:30:07 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 16:30:07 +0100 Subject: looking for the original source code of jaxb-api In-Reply-To: <428224381.46551280416835778.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <1719153438.46451280416809376.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <428224381.46551280416835778.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: On 29 July 2010 16:20, wrote: > Hi, > > Probably it is distilled from the Reference Implementation. ?You can find more info here: > > https://jaxb.dev.java.net/ > > cheers, > > jon > > > ----- "Torsten Werner" wrote: > >> Hi, >> >> my question might be stupid but I am currently stuck. I am searching >> for the source code of jaxb-api 2.2.x (not jaxb-impl). I can find a >> so >> called 'source jar' at that >> ships Java files without a build system but with a header 'SUN >> PROPRIETARY/CONFIDENTIAL'. At the same place I can find a binary >> jaxb-api.jar that includes a copy of the CDDL license text without >> explaining anything. >> >> IcedTea downloads source drops from >> which includes some >> undocumented version of the jaxb-api in jdk6-jaxws-2009_10_27.zip >> (again without a build system). Where can I find the original source >> location of the jaxb-api? >> >> Thanks for your help, >> Torsten > Oracle do regular imports of JAXP/JAXWS into OpenJDK which is what the drop tarballs you refer to are. They are built by OpenJDK's build system so don't include one of their own. To find out exactly what's in them, I'd suggest contacting the upstream project Jon referenced. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Thu Jul 29 08:47:52 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 16:47:52 +0100 Subject: [RFC] Updated: Systemtap tapset test suite. In-Reply-To: References: <1048449040.36571280413523431.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1925733115.37351280413796479.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: On 29 July 2010 15:29, ? wrote: > Hi, > > Some time back I posted a version of this, got some feedback, addressed the feedback, with the end result appearing here[1]. ?I've since updated the Makefile.am target to reflect changes to build directories, and fixed a couple of correctness issues (doh! ?noob mistake, wasn't zeroing some memory before writing strings into it; not sure why this wasn't causing me problems before). ?It would be great to get this committed. ?This would catch issues before they go out the door[2][3]. ?I have two questions before I commit (if people think this is okay). ?Right now the jstaptest.pl script returns a failure condition if any tests fail, which Make then of course detects and stops. ?Is this the right approach, or should the script simply return OK all the time? ?Also, right now the tapsetcheck target is a dependency for make check, does anyone have a problem with this test being run automatically? > > [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008808.html > [2] https://bugzilla.redhat.com/show_bug.cgi?id=613822 > [3] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=527 > > thanks, > > jon I can't really comment on the details of the systemtap changes, but the build changes look ok. ?The only change I'd make there would be to remove the ENABLE_SYSTEMTAP if block from clean. ?You should always clean up, even if the particular configuration hasn't got systemtap enabled (a ./configure --enable-systemtap; make; ./configure --enable-cacao; make; make clean scenario is one such scenario where this would cause problems). I'll try it out here as soon as I have a clean IcedTea6 tree to apply it to. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Thu Jul 29 09:21:58 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 17:21:58 +0100 Subject: RFC: Backport upstream patch to fix Bug 394 In-Reply-To: References: <587302366.1373101279909153884.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <736160589.1373691279909451460.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: On 23 July 2010 19:24, ? wrote: > Hi, > > I've got another upstream bugfix to backpatch. ?This one is a little stranger, taking out some System class initialization code that seems to be obsoleted but originally was sort of a hack to prevent inlining. ?Upstream accepted this, but nobody is completely certain about it. ?I'd still like to see this get exposure for testing purposes sooner rather than later, by adding it to IcedTea6. ?OK to push? > > thanks, > > jon > Only just saw this after you pointed it out on IRC... guess that's what you get for posting on a Friday evening :P I think it would be good to get this into 1.9. ?Just a couple of niggles: * Can you include the exact changeset for the patch? ?The version here seems to be missing the header generated by hg import. ?Did it not apply cleanly? * Please update NEWS too; I spent far too much time updating it for these last few releases, so let's try and do it as we go along this time! The bug should also be set to fixed with a target version of 1.9 and a link to the changeset. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Thu Jul 29 10:06:24 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 29 Jul 2010 17:06:24 +0000 Subject: /hg/icedtea6: 4 new changesets Message-ID: changeset d241c1eea54b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d241c1eea54b author: Andrew John Hughes date: Wed Jul 28 21:15:53 2010 +0100 Add 1.7.2, 1.7.3, 1.7.4 and 1.6.3 to NEWS. 2010-07-28 Andrew John Hughes * NEWS: Add 1.7.2, 1.7.3, 1.7.4 and 1.6.3 releases. changeset d29f287d0cba in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d29f287d0cba author: Andrew John Hughes date: Thu Jul 29 17:57:12 2010 +0100 Update NEWS with current contents of b19. 2010-07-29 Andrew John Hughes * NEWS: Update with contents of b19 & b20, and fixes to NetX, Zero and Shark not on the 1.8 branch. changeset c2a106281dd6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c2a106281dd6 author: Andrew John Hughes date: Thu Jul 29 18:03:16 2010 +0100 Mention 6961732 backport in NEWS. 2010-07-29 Andrew John Hughes * NEWS: Add 6961732 backport. changeset 1d9802df001a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1d9802df001a author: Andrew John Hughes date: Thu Jul 29 18:06:08 2010 +0100 Merge diffstat: 9 files changed, 1066 insertions(+), 75 deletions(-) ChangeLog | 221 ++-- HACKING | 1 Makefile.am | 13 NEWS | 855 +++++++++++++++- configure.ac | 3 patches/icedtea-jaxws-getdtdtype.patch | 27 patches/systemtap-alloc-size-workaround.patch | 17 ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 2 tapset/hotspot.stp.in | 2 diffs (truncated from 1450 to 500 lines): diff -r cc5ebdf8e65d -r 1d9802df001a ChangeLog --- a/ChangeLog Wed Jul 28 16:06:09 2010 -0400 +++ b/ChangeLog Thu Jul 29 18:06:08 2010 +0100 @@ -1,3 +1,32 @@ 2010-07-28 Deepak Bhole + + * NEWS: Add 6961732 backport. + +2010-07-29 Andrew John Hughes + + * NEWS: Update with contents of b19 & b20, + and fixes to NetX, Zero and Shark not on + the 1.8 branch. + +2010-07-29 Mark Wielaard + + * patches/systemtap-alloc-size-workaround.patch: New patch. + * Makefile.am (ICEDTEA_PATCHES): Add new patch for ENABLE_SYSTEMTAP. + * tapset/hotspot.stp.in (object_alloc): Calculate size from + $arg4 and $HeapWordSize. + +2010-07-29 Gary Benson + + PR icedtea/525: + * NEWS: Updated. + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::end_frame): Add missing fields. + +2010-07-28 Andrew John Hughes + + * NEWS: Add 1.7.2, 1.7.3, 1.7.4 and 1.6.3 + releases. + 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java @@ -6,9 +35,11 @@ 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added a new - HashMap to map source locations to security descriptors for that location. + HashMap to map source locations to security descriptors for that + location. (getInstance): Use the new merge() method to merge loader data. - (initializeResources): Add map entries to the new jarLocationSecurityMap. + (initializeResources): Add map entries to the new + jarLocationSecurityMap. (getPermissions): Decide permissions based on security descriptor associated with the calling code, rather than with the jnlp file. (getCodeSourceSecurity): New method. Returns the security descriptor @@ -18,40 +49,42 @@ 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add - security descriptor mapping for nested jars. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): + Add security descriptor mapping for nested jars. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean up - method, and make sure sandbox permissions are always a subset of what is - returned. + * netx/net/sourceforge/jnlp/SecurityDesc.java (getPermissions): Clean + up method, and make sure sandbox permissions are always a subset of + what is returned. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult enum - to track verification status. + * netx/net/sourceforge/jnlp/tools/JarSigner.java: Add new verifyResult + enum to track verification status. (verifyJars): Mark jar unverified only if it has no signature. - (verifyJar): Use new verifyResult enum to return status based on if jar is - unsigned, signed but with errors, or signed and ok. + (verifyJar): Use new verifyResult enum to return status based on if jar + is unsigned, signed but with errors, or signed and ok. 2010-07-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Collapse new loader paths into base loader. - * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Check - if calling code is trusted all the way to the end. If it isn't, prompt - user. + * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): + Check if calling code is trusted all the way to the end. If it isn't, + prompt user. 2010-07-28 Deepak Bhole - * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new strings. + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new + strings. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Prompt user if the main app code is signed, but the extentions aren't. (initializeResources): Prompt user if there are any unsigned jars mixed with signed jars. - * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New file. - Dialog shown to user if the main app code is signed but the extentions aren't. + * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: New + file. Dialog shown to user if the main app code is signed but the + extentions aren't. * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java (SecurityDialogUI): Add a constructor that doesn't take a CertVerifier object. @@ -269,8 +302,8 @@ 2010-07-23 Andrew John Hughes - * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 to - Parser.java, since they could cause potential regressions. + * netx/net/sourceforge/jnlp/Parser.java: Undo changes from 98c88b32cdb4 + to Parser.java, since they could cause potential regressions. 2010-07-20 Man Lung Wong @@ -300,8 +333,8 @@ 2010-07-20 Omair Majid @@ -314,23 +347,23 @@ 2010-07-19 Omair Majid @@ -401,7 +436,8 @@ 2010-07-19 Gary Benson @@ -411,10 +447,11 @@ 2010-07-15 Deepak Bhole * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for - upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is - resized. + upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window + is resized. 2010-07-14 Jon VanAlten + * patches/icedtea-override-redirect-metacity.patch: Produces the "expected" behavior for full screen applications or other situations where developers wish to present elements that would cover things like @@ -439,8 +476,8 @@ 2010-07-14 Deepak Bhole + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java @@ -671,7 +709,8 @@ 2010-06-30 Omair Majid @@ -686,8 +725,8 @@ 2010-06-30 Omair Majid @@ -703,11 +742,14 @@ 2010-06-30 Andrew John Hughes - * plugin/icedteanp/IcedTeaNPPlugin.cc: Use getproperty NPAPI call instead - of evaluate, to get page URL. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Use getproperty NPAPI call + instead of evaluate, to get page URL. 2010-06-14 Andrew John Hughes @@ -1247,8 +1289,8 @@ 2010-06-07 Andrew John Hughes - * Makefile.am - (stamps/icedtea.stamp): Use full path when adding PulseAudio sources to src.zip + * Makefile.am (stamps/icedtea.stamp): Use full path when adding + PulseAudio sources to src.zip 2010-06-06 Andrew John Hughes @@ -1932,14 +1974,16 @@ 2010-04-06 Deepak Bhole + + * patches/icedtea-jaxws-getdtdtype.patch: + Fix path. + +2009-11-17 Andrew John Hughes + + * patches/icedtea-jaxws-getdtdtype.patch: + Add additional fix for AttributeBase.java + +2009-11-17 Andrew John Hughes + + * patches/icedtea-jaxws-getdtdtype.patch: + Replace getDTDType method, don't add another. + * HACKING: Document the patch. + +2009-11-17 Andrew John Hughes + + * Makefile.am: + Make use of JAXWS dependent on absence of + javax.annotation.Resource and/or getDTDType() + bug. Add new JAXWS patch. + (extract-jaxws.stamp): Apply getDTDType() patch + if bug found. + * acinclude.m4: + (IT_GETDTDTYPE_CHECK): Check for old versions of + gcj/Classpath which have + javax.xml.stream.events.Attribute.getDTDType() + with a return type of QName not String. + * configure.ac: + Invoke new IT_GETDTDTYPE_CHECK macro. + * patches/icedtea-jaxws-getdtdtype.patch: + New patch to work around the getDTDType() bug. + 2010-03-01 Mark Wielaard * patches/ecj/icedtea.patch: Don't add generated dir to diff -r cc5ebdf8e65d -r 1d9802df001a HACKING --- a/HACKING Wed Jul 28 16:06:09 2010 -0400 +++ b/HACKING Thu Jul 29 18:06:08 2010 +0100 @@ -116,6 +116,7 @@ The following patches are only applied t * icedtea-nss-config.patch: Add the NSS PKCS11 security provider. (PR356) * icedtea-nss-6763530.patch: Fix PKCS11 provider when used with newer version of NSS (>=3.12.3) (PR356, S6763530). * libpng.patch: Use png_sig_cmp instead of png_check_sig so we can build against libpng 1.4. +* icedtea-jaxws-getdtdtype.patch: Workaround for incorrect return type in gcj < 4.4 / GNU Classpath < 0.98 The following patches are only applied to OpenJDK in IcedTea: diff -r cc5ebdf8e65d -r 1d9802df001a Makefile.am --- a/Makefile.am Wed Jul 28 16:06:09 2010 -0400 +++ b/Makefile.am Thu Jul 29 18:06:08 2010 +0100 @@ -331,7 +331,8 @@ endif if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += patches/systemtap.patch \ - patches/systemtap-gcc-4.5.patch + patches/systemtap-gcc-4.5.patch \ + patches/systemtap-alloc-size-workaround.patch endif if ENABLE_NSS @@ -358,6 +359,16 @@ endif endif ICEDTEA_ECJ_PATCHES += $(DISTRIBUTION_ECJ_PATCHES) + +# Patches for JAXWS + +if DTDTYPE_QNAME +JAXWS_PATCHES = patches/icedtea-jaxws-getdtdtype.patch +else +JAXWS_PATCHES = +endif + +ICEDTEA_ECJ_PATCHES += $(JAXWS_PATCHES) # OpenJDK build environment. if ZERO_BUILD diff -r cc5ebdf8e65d -r 1d9802df001a NEWS --- a/NEWS Wed Jul 28 16:06:09 2010 -0400 +++ b/NEWS Thu Jul 29 18:06:08 2010 +0100 @@ -1,6 +1,704 @@ New in release 1.9 (2010-xx-xx): -New in release 1.9 (2010-xx-xx): +New in release 1.9 (2010-XX-XX): -- Updated to OpenJDK6 b20. +* Updated to OpenJDK6 b20 with HotSpot 17. + - S4360113: Evict nmethods when code cache gets full + - S4670071: loadClassInternal is too restrictive. + - S4766230: Hotspot vtable inconsistencies cause core dumps. 6579515. 6582242. + - S4957990: Perm heap bloat in JVM + - S4997835: RFE: crash dump will only be created when running w/ -XX:+ShowMessageBoxOnError + - S5057225: Remove useless I2L conversions + - S5057818: codecache full and compiler disabled in bigapps fastdebug run + - S6333993: NodeList.item() returns null in 1.5.0_02 + - S6361589: Print out stack trace for target thread of GC crash + - S6378821: bitCount() should use POPC on SPARC processors and AMD+10h From mark at klomp.org Thu Jul 29 10:51:18 2010 From: mark at klomp.org (Mark Wielaard) Date: Thu, 29 Jul 2010 19:51:18 +0200 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <20100729151615.GB31701@rivendell.middle-earth.co.uk> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> Message-ID: <1280425878.16218.69.camel@hermans.wildebeest.org> On Thu, 2010-07-29 at 16:16 +0100, Dr Andrew John Hughes wrote: > On 14:26 Thu 29 Jul , Mark Wielaard wrote: > > Hmmm. I did notice I needed to do a merge of my commit. But now I am > > confused about what I ended up pushing. It looks like I pushed some of > > Andrew's commits from last year??? Did I mess something up? If so > > what/how? And if I did, my apologies. Please let me know if I need to > > clean something up. (Unfortunately I am not consistently online atm, but > > will probably be in the evening.) > > > What commands did you run? As far as I remember, I did: hg commit hg push (failed because would create multiple heads?) hg pull hg update (notice merge conflict in ChangeLog file) hg resolve -m ChangeLog hg commit -m "Merge" hg push Was that the wrong sequence? Cheers, Mark From ahughes at redhat.com Thu Jul 29 11:08:26 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 19:08:26 +0100 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <1280425878.16218.69.camel@hermans.wildebeest.org> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> Message-ID: <20100729180826.GD31701@rivendell.middle-earth.co.uk> On 19:51 Thu 29 Jul , Mark Wielaard wrote: > On Thu, 2010-07-29 at 16:16 +0100, Dr Andrew John Hughes wrote: > > On 14:26 Thu 29 Jul , Mark Wielaard wrote: > > > Hmmm. I did notice I needed to do a merge of my commit. But now I am > > > confused about what I ended up pushing. It looks like I pushed some of > > > Andrew's commits from last year??? Did I mess something up? If so > > > what/how? And if I did, my apologies. Please let me know if I need to > > > clean something up. (Unfortunately I am not consistently online atm, but > > > will probably be in the evening.) > > > > > What commands did you run? > > As far as I remember, I did: > > hg commit > hg push (failed because would create multiple heads?) > hg pull > hg update (notice merge conflict in ChangeLog file) > hg resolve -m ChangeLog > hg commit -m "Merge" > hg push > > Was that the wrong sequence? > > Cheers, > > Mark > That seems right, given the circumstances. The question is how you got into a state where there was a conflict to begin with. Note that you can check what will be pushed with 'hg in'. There don't seem to be any problems building anyway. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mwong at redhat.com Thu Jul 29 11:23:44 2010 From: mwong at redhat.com (Man Wong) Date: Thu, 29 Jul 2010 14:23:44 -0400 (EDT) Subject: [RFC] Netx: setting context classloader properly for all threads In-Reply-To: <1894222246.1306411280427653768.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <444800039.1306571280427824058.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> This patch forces the creation of Event Awt thread before the thread launching the application sets the contextclassloader for itself, and its child(ren). This essentially make sure Event Awt thread gets the correct contextclassloader. It also fixes along with changesets 4bcc2702e0ec and 867af494861c the issue with launching the set of simulation applications mentioned in icedtea bug 486 (which effectively allows us to close that bug). Ok to push? Thanks, Man Lung Wong -------------- next part -------------- A non-text attachment was scrubbed... Name: contextclassloader.patch Type: text/x-patch Size: 2985 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100729/c6b6f85e/contextclassloader.patch From omajid at redhat.com Thu Jul 29 11:34:36 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 29 Jul 2010 14:34:36 -0400 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <20100729180826.GD31701@rivendell.middle-earth.co.uk> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> Message-ID: <4C51C9BC.3020809@redhat.com> On 07/29/2010 02:08 PM, Dr Andrew John Hughes wrote: > On 19:51 Thu 29 Jul , Mark Wielaard wrote: >> On Thu, 2010-07-29 at 16:16 +0100, Dr Andrew John Hughes wrote: >>> On 14:26 Thu 29 Jul , Mark Wielaard wrote: >>>> Hmmm. I did notice I needed to do a merge of my commit. But now I am >>>> confused about what I ended up pushing. It looks like I pushed some of >>>> Andrew's commits from last year??? Did I mess something up? If so >>>> what/how? And if I did, my apologies. Please let me know if I need to >>>> clean something up. (Unfortunately I am not consistently online atm, but >>>> will probably be in the evening.) >>>> >>> What commands did you run? >> >> As far as I remember, I did: >> >> hg commit >> hg push (failed because would create multiple heads?) >> hg pull >> hg update (notice merge conflict in ChangeLog file) >> hg resolve -m ChangeLog >> hg commit -m "Merge" >> hg push >> >> Was that the wrong sequence? >> >> Cheers, >> >> Mark >> > > That seems right, given the circumstances. The question is how you > got into a state where there was a conflict to begin with. > Hm... 'hg view' shows what might have happened. Apparently mjw had an old checkout lying around (missing hg pull && hg update perhaps?). > Note that you can check what will be pushed with 'hg in'. Shouldnt that be 'hg out'? IIRC 'in' (or incoming) checks for the changesets that would get pulled in on hg pull > > There don't seem to be any problems building anyway. Yup, I can confirm. Even though there are tons of files listed, they seem to refer to stuff that was merged. The build works just fine. Cheers, Omair From omajid at redhat.com Thu Jul 29 12:31:48 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 29 Jul 2010 15:31:48 -0400 Subject: [RFC] netx: dont prompt the user repeatedly for the same jar certificate Message-ID: <4C51D724.9040701@redhat.com> Hi, The attached patch makes it so the user is not prompted repeatedly to accept the same certificate when running a JNLP application. The test case I have used is SweeHome3D [1]. Without the patch, the user is prompted to accept a certificate by "Emmanuel Puybaret" and then prompted 3 times to accept certificates from "Sun Microsystems Inc" With the patch, the user is only prompted 2 times: once for each certificate publisher. The updated code keeps a list of certificates the user has accepted. Before prompting the user, it checks if the user has already trusted the certificate before. One thing I am unsure about is where to store the list of temporarily trusted certificates. VariableX509TrustManager, which handles HTTPS certificates (but not JAR certificatess) keeps a separate list. Any comments? Cheers, Omair [1] http://www.sweethome3d.com/SweetHome3D.jnlp -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea6-jnlp-dont-prompt-for-same-jar-certificates.patch Type: text/x-patch Size: 4250 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100729/6bc27e75/icedtea6-jnlp-dont-prompt-for-same-jar-certificates.patch From omajid at redhat.com Thu Jul 29 12:37:18 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 29 Jul 2010 15:37:18 -0400 Subject: [RFC] netx: minor fixes to XJNLPRandomAccessFile Message-ID: <4C51D86E.2060001@redhat.com> Hi, The attached patch makes the JNLPRandomAccessFile interface extend java.io.DataInput and java.io.DataOutput as stated in the Javadocs[1]. It also makes the constructor throw IOExceptions instead of swallowing them (the constructor is only called from XFileContents.getRandomAccessFile() which declares that it can throw IOExceptions). Any objections to committing the patch? Cheers, Omair [1] http://download-llnw.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/JNLPRandomAccessFile.html -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea6-jnlp-random-access-file.patch Type: text/x-patch Size: 1561 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100729/69b14ae7/icedtea6-jnlp-random-access-file.patch From mark at klomp.org Thu Jul 29 12:50:17 2010 From: mark at klomp.org (Mark Wielaard) Date: Thu, 29 Jul 2010 21:50:17 +0200 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <4C51C9BC.3020809@redhat.com> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> <4C51C9BC.3020809@redhat.com> Message-ID: <1280433017.16218.72.camel@hermans.wildebeest.org> On Thu, 2010-07-29 at 14:34 -0400, Omair Majid wrote: > On 07/29/2010 02:08 PM, Dr Andrew John Hughes wrote: > > That seems right, given the circumstances. The question is how you > > got into a state where there was a conflict to begin with. > > > Hm... 'hg view' shows what might have happened. Apparently mjw had an > old checkout lying around (missing hg pull && hg update perhaps?). > > > Note that you can check what will be pushed with 'hg in'. > > Shouldnt that be 'hg out'? IIRC 'in' (or incoming) checks for the > changesets that would get pulled in on hg pull > > > > There don't seem to be any problems building anyway. > > Yup, I can confirm. Even though there are tons of files listed, they > seem to refer to stuff that was merged. The build works just fine. Thanks for checking. I was sure I had a recent pull/update, but apparently not (this is not on my normal hacking machine, so it could indeed have been a bit older copy). I was just a little confused about the 4 other commits in the changeset, I had expected it to only contain my commit and the merge itself. Cheers, Mark From dbhole at redhat.com Thu Jul 29 12:51:54 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Jul 2010 15:51:54 -0400 Subject: [RFC] Netx: setting context classloader properly for all threads In-Reply-To: <444800039.1306571280427824058.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <1894222246.1306411280427653768.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <444800039.1306571280427824058.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <20100729195154.GA20494@redhat.com> * Man Wong [2010-07-29 14:23]: > This patch forces the creation of Event Awt thread before the thread > launching the application sets the contextclassloader for itself, > and its child(ren). This essentially make sure Event Awt thread gets > the correct contextclassloader. > > It also fixes along with changesets > 4bcc2702e0ec and 867af494861c the issue with launching the set of > simulation applications mentioned in icedtea bug 486 (which > effectively allows us to close that bug). > > Ok to push? > Looks good. Please go ahead and commit to HEAD, 1.6, 1.7 and 1.8. Cheers, Deepak > Thanks, > Man Lung Wong > diff -r dd4d9f50ac7c netx/net/sourceforge/jnlp/Launcher.java > --- a/netx/net/sourceforge/jnlp/Launcher.java Mon Jul 26 09:38:47 2010 +0100 > +++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Jul 27 17:08:46 2010 -0400 > @@ -42,6 +42,8 @@ > import net.sourceforge.jnlp.services.ServiceUtil; > import net.sourceforge.jnlp.util.Reflect; > > +import javax.swing.SwingUtilities; > + > /** > * Launches JNLPFiles either in the foreground or background.

> * > @@ -442,6 +444,11 @@ > Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); > String args[] = file.getApplication().getArguments(); > > + SwingUtilities.invokeAndWait(new Runnable() { > + // dummy method to force Event Dispatch Thread creation > + public void run(){} > + }); > + > setContextClassLoaderForAllThreads(app.getThreadGroup(), app.getClassLoader()); > > if (splashScreen != null) { > diff -r dd4d9f50ac7c netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Mon Jul 26 09:38:47 2010 +0100 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Tue Jul 27 17:08:46 2010 -0400 > @@ -104,43 +104,9 @@ > /** weak reference to most app who's windows was most recently activated */ > private WeakReference activeApplication = null; > > - /** listener installs the app's classloader on the event dispatch thread */ > - private ContextUpdater contextListener = new ContextUpdater(); > - > /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ > private boolean exitAllowed = true; > > - private class ContextUpdater extends WindowAdapter implements PrivilegedAction { > - private ApplicationInstance app = null; > - > - public void windowActivated(WindowEvent e) { > - app = getApplication(e.getWindow()); > - AccessController.doPrivileged(this); > - app = null; > - } > - > - public Object run() { > - if (app != null) { > - Thread.currentThread().setContextClassLoader(app.getClassLoader()); > - activeApplication = new WeakReference(app); > - } > - else > - Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); > - > - return null; > - } > - > - public void windowDeactivated(WindowEvent e) { > - activeApplication = null; > - } > - > - public void windowClosing(WindowEvent e) { > - System.err.println("Disposing window"); > - e.getWindow().dispose(); > - } > - }; > - > - > /** > * Creates a JNLP SecurityManager. > */ > @@ -524,8 +490,6 @@ > weakWindows.add(window); // for mapping window -> app > weakApplications.add(app); > > - w.addWindowListener(contextListener); // for dynamic context classloader > - > app.addWindow(w); > } > From dbhole at redhat.com Thu Jul 29 13:00:20 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Jul 2010 16:00:20 -0400 Subject: [RFC] netx: minor fixes to XJNLPRandomAccessFile In-Reply-To: <4C51D86E.2060001@redhat.com> References: <4C51D86E.2060001@redhat.com> Message-ID: <20100729200020.GB20494@redhat.com> * Omair Majid [2010-07-29 15:48]: > Hi, > > The attached patch makes the JNLPRandomAccessFile interface extend > java.io.DataInput and java.io.DataOutput as stated in the > Javadocs[1]. It also makes the constructor throw IOExceptions > instead of swallowing them (the constructor is only called from > XFileContents.getRandomAccessFile() which declares that it can throw > IOExceptions). > > Any objections to committing the patch? > OK to commit to HEAD. Cheers, Deepak > Cheers, > Omair > > [1] http://download-llnw.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/JNLPRandomAccessFile.html > diff -r 41911a183c51 netx/javax/jnlp/JNLPRandomAccessFile.java > --- a/netx/javax/jnlp/JNLPRandomAccessFile.java Thu Jul 29 14:06:38 2010 +0200 > +++ b/netx/javax/jnlp/JNLPRandomAccessFile.java Thu Jul 29 10:03:41 2010 -0400 > @@ -1,8 +1,8 @@ > > > package javax.jnlp; > +public interface JNLPRandomAccessFile extends java.io.DataInput, java.io.DataOutput { > > -public interface JNLPRandomAccessFile { > > public void close() throws java.io.IOException; > public long length() throws java.io.IOException; > diff -r 41911a183c51 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java > --- a/netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java Thu Jul 29 14:06:38 2010 +0200 > +++ b/netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java Thu Jul 29 10:03:41 2010 -0400 > @@ -37,7 +37,6 @@ > package net.sourceforge.jnlp.services; > > import java.io.File; > -import java.io.FileNotFoundException; > import java.io.IOException; > import java.io.RandomAccessFile; > > @@ -47,13 +46,9 @@ > > private RandomAccessFile raf; > > - public XJNLPRandomAccessFile(File file, String mode) { > - try { > - raf = new RandomAccessFile(file, mode); > - } catch (FileNotFoundException e) { > - // TODO Auto-generated catch block > - e.printStackTrace(); > - } > + public XJNLPRandomAccessFile(File file, String mode) throws IOException { > + raf = new RandomAccessFile(file, mode); > + > } > > public void close() throws IOException { From dbhole at redhat.com Thu Jul 29 13:04:35 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Jul 2010 16:04:35 -0400 Subject: [RFC] netx: fix missing space that causes showDocuement(URL) to fail In-Reply-To: <4C45ED77.60304@redhat.com> References: <4C45ED77.60304@redhat.com> Message-ID: <20100729200434.GA24872@redhat.com> * Omair Majid [2010-07-20 14:40]: > Hi, > > Netx provides a way to open a URL in the web browser using > XBasicService.showDocument(URL). Currently it fails to work because > of a missing space between the browser command (eg: > /usr/bin/firefox) and the URL (eg: www.google.ca). The attached > patch attempts to fix this. > > The problem can be replicated with the program at [1] which does > nothing when you enter a url and press enter. Running with -verbose > shows: > > call privileged method: showDocument > arg: http://www.google.ca > java.io.IOException: Cannot run program > "/usr/bin/firefoxhttp://www.google.ca": java.io.IOException: > error=2, No such file or directory. > > Any objections to committing this? > > Cheers, > Omair > OK to commit to HEAD, 1.6, 1.7 and 1.8. Cheers, Deepak > [1] http://pscode.org/jws/basicserv.jnlp > diff -r b110028e95cc netx/net/sourceforge/jnlp/services/XBasicService.java > --- a/netx/net/sourceforge/jnlp/services/XBasicService.java Tue Jul 20 13:39:49 2010 -0400 > +++ b/netx/net/sourceforge/jnlp/services/XBasicService.java Tue Jul 20 14:27:36 2010 -0400 > @@ -176,7 +176,7 @@ > // this is bogus because the command may require options; > // should use a StreamTokenizer or similar to get tokens > // outside of quotes. > - Runtime.getRuntime().exec(command + url.toString()); > + Runtime.getRuntime().exec(command + " " + url.toString()); > //Runtime.getRuntime().exec(new String[]{command,url.toString()}); > > return true; From vanaltj at icedtea.classpath.org Thu Jul 29 13:12:10 2010 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Thu, 29 Jul 2010 20:12:10 +0000 Subject: /hg/icedtea6: Backpatch S6967533 fix for pre-Epoch System class ... Message-ID: changeset ab52bc9e9ed3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ab52bc9e9ed3 author: Jon VanAlten date: Thu Jul 29 16:07:11 2010 -0400 Backpatch S6967533 fix for pre-Epoch System class initialization * patches/openjdk/6967533-pre_epoch.patch: New file. Backpatched from jdk7 for upstream bug#6967533. Fixes IcedTea Bug#394: java.lang.ExceptionInInitializerError on systems with time set before January 1, 1970 * Makefile.am: include above patch. * NEWS: Add 6967533 backport. diffstat: 4 files changed, 69 insertions(+), 1 deletion(-) ChangeLog | 9 ++++ Makefile.am | 3 + NEWS | 1 patches/openjdk/6967533-pre_epoch.patch | 57 +++++++++++++++++++++++++++++++ diffs (101 lines): diff -r 1d9802df001a -r ab52bc9e9ed3 ChangeLog --- a/ChangeLog Thu Jul 29 18:06:08 2010 +0100 +++ b/ChangeLog Thu Jul 29 16:07:11 2010 -0400 @@ -1,3 +1,12 @@ 2010-07-29 Andrew John Hughes + + * patches/openjdk/6967533-pre_epoch.patch: New file. Backpatched from + jdk7 for upstream bug#6967533. Fixes IcedTea Bug#394: + java.lang.ExceptionInInitializerError on systems with + time set before January 1, 1970 + * Makefile.am: include above patch. + * NEWS: Add 6967533 backport. + 2010-07-29 Andrew John Hughes * NEWS: Add 6961732 backport. diff -r 1d9802df001a -r ab52bc9e9ed3 Makefile.am --- a/Makefile.am Thu Jul 29 18:06:08 2010 +0100 +++ b/Makefile.am Thu Jul 29 16:07:11 2010 -0400 @@ -284,7 +284,8 @@ ICEDTEA_PATCHES = \ patches/no-sync.patch \ patches/icedtea-override-redirect-metacity.patch \ patches/openjdk/6963870-swing_npe.patch \ - patches/openjdk/6668231-ssl_cert.patch + patches/openjdk/6668231-ssl_cert.patch \ + patches/openjdk/6967533-pre_epoch.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 1d9802df001a -r ab52bc9e9ed3 NEWS --- a/NEWS Thu Jul 29 18:06:08 2010 +0100 +++ b/NEWS Thu Jul 29 16:07:11 2010 -0400 @@ -689,6 +689,7 @@ New in release 1.9 (2010-XX-XX): * VisualVM support removed; now available in its own package at http://icedtea.classpath.org/hg/visualvm * Backports: - S6961732: FontMetrics.getLeading() may be negative in freetype-based OpenJDK builds + - S6967533: ExceptionInInitializerError on systems with uninitialized clock * Zero/Shark - Update Shark for LLVM 2.8 API change r100304 - Shark calling static jni methods jclass argument fix. diff -r 1d9802df001a -r ab52bc9e9ed3 patches/openjdk/6967533-pre_epoch.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6967533-pre_epoch.patch Thu Jul 29 16:07:11 2010 -0400 @@ -0,0 +1,57 @@ +diff -r f13e94562d84 -r da8526047e5f src/share/classes/java/lang/System.java +--- openjdk.old/jdk/src/share/classes/java/lang/System.java Fri Jul 09 09:54:10 2010 -0700 ++++ openjdk/jdk/src/share/classes/java/lang/System.java Fri Jul 09 18:55:25 2010 -0700 +@@ -69,7 +69,7 @@ + * corresponds to keyboard input or another input source specified by + * the host environment or user. + */ +- public final static InputStream in = nullInputStream(); ++ public final static InputStream in = null; + + /** + * The "standard" output stream. This stream is already +@@ -96,7 +96,7 @@ + * @see java.io.PrintStream#println(java.lang.Object) + * @see java.io.PrintStream#println(java.lang.String) + */ +- public final static PrintStream out = nullPrintStream(); ++ public final static PrintStream out = null; + + /** + * The "standard" error output stream. This stream is already +@@ -110,7 +110,7 @@ + * variable out, has been redirected to a file or other + * destination that is typically not continuously monitored. + */ +- public final static PrintStream err = nullPrintStream(); ++ public final static PrintStream err = null; + + /* The security manager for the system. + */ +@@ -1093,26 +1093,6 @@ + public static native String mapLibraryName(String libname); + + /** +- * The following two methods exist because in, out, and err must be +- * initialized to null. The compiler, however, cannot be permitted to +- * inline access to them, since they are later set to more sensible values +- * by initializeSystemClass(). +- */ +- private static InputStream nullInputStream() throws NullPointerException { +- if (currentTimeMillis() > 0) { +- return null; +- } +- throw new NullPointerException(); +- } +- +- private static PrintStream nullPrintStream() throws NullPointerException { +- if (currentTimeMillis() > 0) { +- return null; +- } +- throw new NullPointerException(); +- } +- +- /** + * Initialize the system class. Called after thread initialization. + */ + private static void initializeSystemClass() { From bugzilla-daemon at icedtea.classpath.org Thu Jul 29 13:14:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Jul 2010 20:14:12 +0000 Subject: [Bug 394] pre Epoch bug : java.lang.ExceptionInInitializerError on systems with time set before January 1, 1970 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |6-1.9 ------- Comment #21 from jon.vanalten at redhat.com 2010-07-29 20:14 ------- Backpatched fix to icedtea6 HEAD: http://icedtea.classpath.org/hg/icedtea6/rev/ab52bc9e9ed3 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Thu Jul 29 13:15:17 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Thu, 29 Jul 2010 16:15:17 -0400 (EDT) Subject: RFC: Backport upstream patch to fix Bug 394 In-Reply-To: <740142956.89681280434448049.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <2060344530.89881280434517750.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Dr Andrew John Hughes" wrote: > > I think it would be good to get this into 1.9. ?Just a couple of > niggles: > > * Can you include the exact changeset for the patch? ?The version > here > seems to be missing the header generated by hg import. ?Did it not > apply cleanly? > * Please update NEWS too; I spent far too much time updating it for > these last few releases, so let's try and do it as we go along this > time! > > The bug should also be set to fixed with a target version of 1.9 and > a > link to the changeset. Done, done, and done. Thanks for taking a look. Committed as: http://icedtea.classpath.org/hg/icedtea6/rev/ab52bc9e9ed3 cheers, jon From bugzilla-daemon at icedtea.classpath.org Thu Jul 29 13:53:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Jul 2010 20:53:25 +0000 Subject: [Bug 349] Font2DTest crash when using Range: Sinhala Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=349 ------- Comment #15 from asu at redhat.com 2010-07-29 20:53 ------- Created an attachment (id=398) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=398&action=view) simple reproducer When running this, it should crash instantly, it creates a frame, and try to draw the character \u0DDD from the set of sinhala fonts onto label. After looking up the character info on the Character map, This is made from a combination of 3 other glyphs namely \u0DD9 \u0DCF and \u0DCA. I tried testing this with sun's JRE it showed 4 blocks instead of 3 blocks (because it can't render the stuff) like all the other characters. I took a stab at this and changed LETypes.h:335 to #define LE_NEW_ARRAY(type, count) (type *) malloc((count + 1) * sizeof(type)) instead of #define LE_NEW_ARRAY(type, count) (type *) malloc((count) * sizeof(type)) this makes it able to render all the fonts fine....until you try to print two \u0DDD side by side. if you place anything other than empty string between them all is good. You can do this by modifying the reproducer to do final JLabel l = new JLabel(Character.toString('\u0DDD') + character.toString('\u0DDD')); instead. After further debugging I noticed that when it tries to print the character (using the original LEType.h file) it somehow adds an extra element to the variable "outChars". The variable should only contain the values 3545 3535 3530 (I forgot the order), but instead it contains 3545 -SomeOtherNumberHere- 3535 3530. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Thu Jul 29 13:55:40 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Jul 2010 21:55:40 +0100 Subject: /hg/icedtea6: 6 new changesets In-Reply-To: <4C51C9BC.3020809@redhat.com> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> <4C51C9BC.3020809@redhat.com> Message-ID: <20100729205540.GF31701@rivendell.middle-earth.co.uk> On 14:34 Thu 29 Jul , Omair Majid wrote: > On 07/29/2010 02:08 PM, Dr Andrew John Hughes wrote: > > On 19:51 Thu 29 Jul , Mark Wielaard wrote: > >> On Thu, 2010-07-29 at 16:16 +0100, Dr Andrew John Hughes wrote: > >>> On 14:26 Thu 29 Jul , Mark Wielaard wrote: > >>>> Hmmm. I did notice I needed to do a merge of my commit. But now I am > >>>> confused about what I ended up pushing. It looks like I pushed some of > >>>> Andrew's commits from last year??? Did I mess something up? If so > >>>> what/how? And if I did, my apologies. Please let me know if I need to > >>>> clean something up. (Unfortunately I am not consistently online atm, but > >>>> will probably be in the evening.) > >>>> > >>> What commands did you run? > >> > >> As far as I remember, I did: > >> > >> hg commit > >> hg push (failed because would create multiple heads?) > >> hg pull > >> hg update (notice merge conflict in ChangeLog file) > >> hg resolve -m ChangeLog > >> hg commit -m "Merge" > >> hg push > >> > >> Was that the wrong sequence? > >> > >> Cheers, > >> > >> Mark > >> > > > > That seems right, given the circumstances. The question is how you > > got into a state where there was a conflict to begin with. > > > > Hm... 'hg view' shows what might have happened. Apparently mjw had an > old checkout lying around (missing hg pull && hg update perhaps?). > I haven't checked that. My hg view segfaults, due to tcl not liking gcc 4.5: $ hg view *** buffer overflow detected ***: wish terminated > > Note that you can check what will be pushed with 'hg in'. > > Shouldnt that be 'hg out'? IIRC 'in' (or incoming) checks for the > changesets that would get pulled in on hg pull > Yeah, typo. hg in is useful too though! :-) > > > > There don't seem to be any problems building anyway. > > Yup, I can confirm. Even though there are tons of files listed, they > seem to refer to stuff that was merged. The build works just fine. > > Cheers, > Omair -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at icedtea.classpath.org Thu Jul 29 13:59:40 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 29 Jul 2010 20:59:40 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 577c13110734 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=577c13110734 author: Omair Majid date: Thu Jul 29 16:50:32 2010 -0400 netx: minor fixes to JNLPRandomAccessFile 2010-07-29 Omair Majid * NEWS: Add this fix. * netx/javax/jnlp/JNLPRandomAccessFile.java: Extend java.io.DataInput and java.io.DataOutput. * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java (XJNLPRandomAccessFile): Throw IOException on failure. changeset 58d1f80fc642 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=58d1f80fc642 author: Omair Majid date: Thu Jul 29 16:59:15 2010 -0400 netx: fix browser command in BasicService.showDocument(URL) 2010-07-29 Omair Majid * NEWS: Add this fix. * netx/net/sourceforge/jnlp/services/XBasicService.java (showDocument): Fix missing space in browser command. diffstat: 5 files changed, 21 insertions(+), 10 deletions(-) ChangeLog | 14 ++++++++++ NEWS | 2 + netx/javax/jnlp/JNLPRandomAccessFile.java | 2 - netx/net/sourceforge/jnlp/services/XBasicService.java | 2 - netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 11 ++----- diffs (86 lines): diff -r ab52bc9e9ed3 -r 58d1f80fc642 ChangeLog --- a/ChangeLog Thu Jul 29 16:07:11 2010 -0400 +++ b/ChangeLog Thu Jul 29 16:59:15 2010 -0400 @@ -1,3 +1,17 @@ 2010-07-29 Jon VanAlten + + * NEWS: Add this fix. + * netx/net/sourceforge/jnlp/services/XBasicService.java + (showDocument): Fix missing space in browser command. + +2010-07-29 Omair Majid + + * NEWS: Add this fix. + * netx/javax/jnlp/JNLPRandomAccessFile.java: Extend java.io.DataInput and + java.io.DataOutput. + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java + (XJNLPRandomAccessFile): Throw IOException on failure. + 2010-07-29 Jon VanAlten * patches/openjdk/6967533-pre_epoch.patch: New file. Backpatched from diff -r ab52bc9e9ed3 -r 58d1f80fc642 NEWS --- a/NEWS Thu Jul 29 16:07:11 2010 -0400 +++ b/NEWS Thu Jul 29 16:59:15 2010 -0400 @@ -700,6 +700,8 @@ New in release 1.9 (2010-XX-XX): - PR525: Shark made not entrant deopt sigsegv regression after bump to b20 and hs17. * NetX - Do not use Look and Feel related methods for setting up security dialogs + - Minor fixes to JNLPRandomAccessFile + - Fix browser command in BasicService.showDocument(URL) New in release 1.8.1 (2010-07-28): diff -r ab52bc9e9ed3 -r 58d1f80fc642 netx/javax/jnlp/JNLPRandomAccessFile.java --- a/netx/javax/jnlp/JNLPRandomAccessFile.java Thu Jul 29 16:07:11 2010 -0400 +++ b/netx/javax/jnlp/JNLPRandomAccessFile.java Thu Jul 29 16:59:15 2010 -0400 @@ -1,8 +1,8 @@ package javax.jnlp; +public interface JNLPRandomAccessFile extends java.io.DataInput, java.io.DataOutput { -public interface JNLPRandomAccessFile { public void close() throws java.io.IOException; public long length() throws java.io.IOException; diff -r ab52bc9e9ed3 -r 58d1f80fc642 netx/net/sourceforge/jnlp/services/XBasicService.java --- a/netx/net/sourceforge/jnlp/services/XBasicService.java Thu Jul 29 16:07:11 2010 -0400 +++ b/netx/net/sourceforge/jnlp/services/XBasicService.java Thu Jul 29 16:59:15 2010 -0400 @@ -176,7 +176,7 @@ class XBasicService implements BasicServ // this is bogus because the command may require options; // should use a StreamTokenizer or similar to get tokens // outside of quotes. - Runtime.getRuntime().exec(command + url.toString()); + Runtime.getRuntime().exec(command + " " + url.toString()); //Runtime.getRuntime().exec(new String[]{command,url.toString()}); return true; diff -r ab52bc9e9ed3 -r 58d1f80fc642 netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java --- a/netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java Thu Jul 29 16:07:11 2010 -0400 +++ b/netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java Thu Jul 29 16:59:15 2010 -0400 @@ -37,7 +37,6 @@ package net.sourceforge.jnlp.services; package net.sourceforge.jnlp.services; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; @@ -47,13 +46,9 @@ public class XJNLPRandomAccessFile imple private RandomAccessFile raf; - public XJNLPRandomAccessFile(File file, String mode) { - try { - raf = new RandomAccessFile(file, mode); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + public XJNLPRandomAccessFile(File file, String mode) throws IOException { + raf = new RandomAccessFile(file, mode); + } public void close() throws IOException { From omajid at redhat.com Thu Jul 29 14:00:40 2010 From: omajid at redhat.com (Omair Majid) Date: Thu, 29 Jul 2010 17:00:40 -0400 Subject: [RFC] netx: minor fixes to XJNLPRandomAccessFile In-Reply-To: <20100729200020.GB20494@redhat.com> References: <4C51D86E.2060001@redhat.com> <20100729200020.GB20494@redhat.com> Message-ID: <4C51EBF8.90503@redhat.com> On 07/29/2010 04:00 PM, Deepak Bhole wrote: > * Omair Majid [2010-07-29 15:48]: >> Hi, >> >> The attached patch makes the JNLPRandomAccessFile interface extend >> java.io.DataInput and java.io.DataOutput as stated in the >> Javadocs[1]. It also makes the constructor throw IOExceptions >> instead of swallowing them (the constructor is only called from >> XFileContents.getRandomAccessFile() which declares that it can throw >> IOExceptions). >> >> Any objections to committing the patch? >> > > OK to commit to HEAD. > Thanks. Committed as changeset 577c13110734. Cheers, Omair From omajid at icedtea.classpath.org Thu Jul 29 14:28:07 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 29 Jul 2010 21:28:07 +0000 Subject: /hg/release/icedtea6-1.7: netx: fix browser command in BasicServ... Message-ID: changeset 08baa34da100 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=08baa34da100 author: Omair Majid date: Thu Jul 29 17:26:39 2010 -0400 netx: fix browser command in BasicService.showDocument(URL) 2010-07-29 Omair Majid * NEWS: Add this fix. * rt/net/sourceforge/jnlp/services/XBasicService.java (showDocument): Fix missing space in browser command. diffstat: 3 files changed, 12 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ NEWS | 5 +++++ rt/net/sourceforge/jnlp/services/XBasicService.java | 2 +- diffs (37 lines): diff -r 8e46ad398f83 -r 08baa34da100 ChangeLog --- a/ChangeLog Wed Jul 28 13:09:43 2010 +0100 +++ b/ChangeLog Thu Jul 29 17:26:39 2010 -0400 @@ -1,3 +1,9 @@ 2010-07-27 Andrew John Hughes + + * NEWS: Add this fix. + * rt/net/sourceforge/jnlp/services/XBasicService.java + (showDocument): Fix missing space in browser command. + 2010-07-27 Andrew John Hughes * acinclude.m4: diff -r 8e46ad398f83 -r 08baa34da100 NEWS --- a/NEWS Wed Jul 28 13:09:43 2010 +0100 +++ b/NEWS Thu Jul 29 17:26:39 2010 -0400 @@ -1,3 +1,8 @@ New in release 1.7.4 (2010-07-28): +New in release 1.7.5 (XXXX-XX-XX): + +* NetX + - Fix browser command in BasicService.showDocument(URL) + New in release 1.7.4 (2010-07-28): * NetX security issues: diff -r 8e46ad398f83 -r 08baa34da100 rt/net/sourceforge/jnlp/services/XBasicService.java --- a/rt/net/sourceforge/jnlp/services/XBasicService.java Wed Jul 28 13:09:43 2010 +0100 +++ b/rt/net/sourceforge/jnlp/services/XBasicService.java Thu Jul 29 17:26:39 2010 -0400 @@ -176,7 +176,7 @@ class XBasicService implements BasicServ // this is bogus because the command may require options; // should use a StreamTokenizer or similar to get tokens // outside of quotes. - Runtime.getRuntime().exec(command + url.toString()); + Runtime.getRuntime().exec(command + " " + url.toString()); //Runtime.getRuntime().exec(new String[]{command,url.toString()}); return true; From omajid at icedtea.classpath.org Thu Jul 29 14:32:16 2010 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 29 Jul 2010 21:32:16 +0000 Subject: /hg/release/icedtea6-1.8: netx: fix browser command in BasicServ... Message-ID: changeset 7f9444e2228d in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=7f9444e2228d author: Omair Majid date: Thu Jul 29 17:31:43 2010 -0400 netx: fix browser command in BasicService.showDocument(URL) 2010-07-29 Omair Majid * NEWS: Add this fix. * netx/net/sourceforge/jnlp/services/XBasicService.java (showDocument): Fix missing space in browser command. diffstat: 3 files changed, 12 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ NEWS | 5 +++++ netx/net/sourceforge/jnlp/services/XBasicService.java | 2 +- diffs (37 lines): diff -r bd5bfc5dcab5 -r 7f9444e2228d ChangeLog --- a/ChangeLog Wed Jul 28 14:07:38 2010 +0200 +++ b/ChangeLog Thu Jul 29 17:31:43 2010 -0400 @@ -1,3 +1,9 @@ 2010-07-23 Matthias Klose + + * NEWS: Update for this fix. + * netx/net/sourceforge/jnlp/services/XBasicService.java + (showDocument): Fix missing space in browser command. + 2010-07-23 Matthias Klose * configure.ac: Bump version to 1.8.1. diff -r bd5bfc5dcab5 -r 7f9444e2228d NEWS --- a/NEWS Wed Jul 28 14:07:38 2010 +0200 +++ b/NEWS Thu Jul 29 17:31:43 2010 -0400 @@ -1,3 +1,8 @@ New in release 1.8.1 (2010-07-28): +New in release 1.8.2 (XXXX-XX-XX): + +- NetX: + - Fix browser command in BasicService.showDocument(URL) + New in release 1.8.1 (2010-07-28): - OpenJDK: diff -r bd5bfc5dcab5 -r 7f9444e2228d netx/net/sourceforge/jnlp/services/XBasicService.java --- a/netx/net/sourceforge/jnlp/services/XBasicService.java Wed Jul 28 14:07:38 2010 +0200 +++ b/netx/net/sourceforge/jnlp/services/XBasicService.java Thu Jul 29 17:31:43 2010 -0400 @@ -176,7 +176,7 @@ class XBasicService implements BasicServ // this is bogus because the command may require options; // should use a StreamTokenizer or similar to get tokens // outside of quotes. - Runtime.getRuntime().exec(command + url.toString()); + Runtime.getRuntime().exec(command + " " + url.toString()); //Runtime.getRuntime().exec(new String[]{command,url.toString()}); return true; From ahughes at redhat.com Thu Jul 29 16:01:37 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 30 Jul 2010 00:01:37 +0100 Subject: [RFC] Updated: Systemtap tapset test suite. In-Reply-To: References: <1048449040.36571280413523431.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1925733115.37351280413796479.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: On 29 July 2010 16:47, Dr Andrew John Hughes wrote: > On 29 July 2010 15:29, ? wrote: >> Hi, >> >> Some time back I posted a version of this, got some feedback, addressed the feedback, with the end result appearing here[1]. ?I've since updated the Makefile.am target to reflect changes to build directories, and fixed a couple of correctness issues (doh! ?noob mistake, wasn't zeroing some memory before writing strings into it; not sure why this wasn't causing me problems before). ?It would be great to get this committed. ?This would catch issues before they go out the door[2][3]. ?I have two questions before I commit (if people think this is okay). ?Right now the jstaptest.pl script returns a failure condition if any tests fail, which Make then of course detects and stops. ?Is this the right approach, or should the script simply return OK all the time? ?Also, right now the tapsetcheck target is a dependency for make check, does anyone have a problem with this test being run automatically? >> >> [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008808.html >> [2] https://bugzilla.redhat.com/show_bug.cgi?id=613822 >> [3] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=527 >> >> thanks, >> >> jon > > I can't really comment on the details of the systemtap changes, but > the build changes look ok. ?The only change I'd make there would be to > remove the ENABLE_SYSTEMTAP if block from clean. ?You should always > clean up, even if the particular configuration hasn't got systemtap > enabled (a ./configure --enable-systemtap; make; ./configure > --enable-cacao; make; make clean scenario is one such scenario where > this would cause problems). > > I'll try it out here as soon as I have a clean IcedTea6 tree to apply it to. > > Thanks, > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 > After patching the kernel with utrace support, I get the attached. It also seems very hard to stop it once it starts running. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA? 7927 142C 2591 94EF D9D8 -------------- next part -------------- A non-text attachment was scrubbed... Name: errors2 Type: application/octet-stream Size: 35830 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100730/25094702/errors2.obj From mark at klomp.org Thu Jul 29 16:15:35 2010 From: mark at klomp.org (Mark Wielaard) Date: Fri, 30 Jul 2010 01:15:35 +0200 Subject: broken build (Was: /hg/icedtea6: 6 new changesets) In-Reply-To: <20100729205540.GF31701@rivendell.middle-earth.co.uk> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> <4C51C9BC.3020809@redhat.com> <20100729205540.GF31701@rivendell.middle-earth.co.uk> Message-ID: <1280445335.16218.81.camel@hermans.wildebeest.org> On Thu, 2010-07-29 at 21:55 +0100, Dr Andrew John Hughes wrote: > On 14:34 Thu 29 Jul , Omair Majid wrote: > > > That seems right, given the circumstances. The question is how you > > > got into a state where there was a conflict to begin with. > > > > > > > Hm... 'hg view' shows what might have happened. Apparently mjw had an > > old checkout lying around (missing hg pull && hg update perhaps?). > > > > I haven't checked that. My hg view segfaults, due to tcl not liking gcc 4.5: > > $ hg view > *** buffer overflow detected ***: wish terminated It works on my machine, and it is useful to see what seemed to have happened. I still don't understand how that can have be. But apparently I did my commit and then the merge against something really old :{ > > > Note that you can check what will be pushed with 'hg in'. > > > > Shouldnt that be 'hg out'? IIRC 'in' (or incoming) checks for the > > changesets that would get pulled in on hg pull > > > > Yeah, typo. hg in is useful too though! :-) Wish I had used that before pushing. hg outgoing is what would have shown me something odd was going on before a push. > > > There don't seem to be any problems building anyway. > > > > Yup, I can confirm. Even though there are tons of files listed, they > > seem to refer to stuff that was merged. The build works just fine. Sadly it seems something did break. The auto-builder just informed me: http://icedtea.classpath.org/pipermail/testresults/2010-July/000672.html It only seems to impact older setups that trigger the QNAME workaround patch. I cannot immediately see how my commit/merge broke that. But will try to fix it tomorrow. Slightly scared my fix/merging will make it worse though. So first some sleep to get a clear head. Cheers, Mark From mark at klomp.org Fri Jul 30 01:05:59 2010 From: mark at klomp.org (Mark Wielaard) Date: Fri, 30 Jul 2010 10:05:59 +0200 Subject: [RFC] Updated: Systemtap tapset test suite. In-Reply-To: References: <1048449040.36571280413523431.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1925733115.37351280413796479.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1280477159.16218.88.camel@hermans.wildebeest.org> On Fri, 2010-07-30 at 00:01 +0100, Dr Andrew John Hughes wrote: > After patching the kernel with utrace support, I get the attached. I think the Pass 4 failures are really that. The GCC used doesn't provide location expressions for some of the variables the scripts wants to access. They aren't really bugs in icedtea, but in gcc, possibly resolved in gcc 4.5+ (some distros backport these debuginfo fixes). The Pass 5 failures probably mean the user running stap doesn't have permission. Normally you would have the user in group stapdev. http://sourceware.org/systemtap/SystemTap_Beginners_Guide/using-usage.html We might need a stap -e 'probe begin { log("Hello World"); exit(); }' test before we run the rest of the tests that need Pass 5 output. Cheers, Mark From mjw at icedtea.classpath.org Fri Jul 30 03:22:44 2010 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Fri, 30 Jul 2010 10:22:44 +0000 Subject: /hg/icedtea6: Revert duplicate icedtea-jaxws-getdtdtype.patch fr... Message-ID: changeset 775503860dc5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=775503860dc5 author: Mark Wielaard date: Fri Jul 30 12:18:43 2010 +0200 Revert duplicate icedtea-jaxws-getdtdtype.patch from bad merge 41911a183c51. patches/ecj/icedtea-jaxws-getdtdtype.patch replaced patches/icedtea- jaxws-getdtdtype.patch. The merge accidentically reintroduced the old patch and duplicated the check. diffstat: 3 files changed, 39 deletions(-) Makefile.am | 10 ---------- configure.ac | 2 -- patches/icedtea-jaxws-getdtdtype.patch | 27 --------------------------- diffs (63 lines): diff -r 58d1f80fc642 -r 775503860dc5 Makefile.am --- a/Makefile.am Thu Jul 29 16:59:15 2010 -0400 +++ b/Makefile.am Fri Jul 30 12:18:43 2010 +0200 @@ -360,16 +360,6 @@ endif endif ICEDTEA_ECJ_PATCHES += $(DISTRIBUTION_ECJ_PATCHES) - -# Patches for JAXWS - -if DTDTYPE_QNAME -JAXWS_PATCHES = patches/icedtea-jaxws-getdtdtype.patch -else -JAXWS_PATCHES = -endif - -ICEDTEA_ECJ_PATCHES += $(JAXWS_PATCHES) # OpenJDK build environment. if ZERO_BUILD diff -r 58d1f80fc642 -r 775503860dc5 configure.ac --- a/configure.ac Thu Jul 29 16:59:15 2010 -0400 +++ b/configure.ac Fri Jul 30 12:18:43 2010 +0200 @@ -169,8 +169,6 @@ else AC_CONFIG_FILES([javac], [chmod +x javac]) AC_CONFIG_FILES([javap], [chmod +x javap]) fi - -IT_GETDTDTYPE_CHECK FIND_RHINO_JAR WITH_OPENJDK_SRC_ZIP diff -r 58d1f80fc642 -r 775503860dc5 patches/icedtea-jaxws-getdtdtype.patch --- a/patches/icedtea-jaxws-getdtdtype.patch Thu Jul 29 16:59:15 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ ---- drop/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:37:06.000000000 +0000 -+++ drop/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:38:00.000000000 +0000 -@@ -276,7 +276,7 @@ - qName = localName; - else - qName = prefix + ':' + localName; -- String type = staxAttr.getDTDType(); -+ String type = staxAttr.getDTDType().toString(); - String value = staxAttr.getValue(); - - attrs.addAttribute(uri, localName, qName, type, value); ---- drop/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java.old 2009-11-17 19:46:11.000000000 +0000 -+++ drop/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java 2009-11-17 19:46:35.000000000 +0000 -@@ -108,11 +108,10 @@ - * the String "CDATA" - * @return the type as a String, default is "CDATA" - */ -- public String getDTDType() { -- return _attributeType; -+ public QName getDTDType() { -+ return new QName(_attributeType); - } - -- - /** - * A flag indicating whether this attribute was actually - * specified in the start-tag of its element, or was defaulted from the schema. From mark at klomp.org Fri Jul 30 03:26:14 2010 From: mark at klomp.org (Mark Wielaard) Date: Fri, 30 Jul 2010 12:26:14 +0200 Subject: broken build (Was: /hg/icedtea6: 6 new changesets) In-Reply-To: <1280445335.16218.81.camel@hermans.wildebeest.org> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> <4C51C9BC.3020809@redhat.com> <20100729205540.GF31701@rivendell.middle-earth.co.uk> <1280445335.16218.81.camel@hermans.wildebeest.org> Message-ID: <1280485574.16218.92.camel@hermans.wildebeest.org> On Fri, 2010-07-30 at 01:15 +0200, Mark Wielaard wrote: > On Thu, 2010-07-29 at 21:55 +0100, Dr Andrew John Hughes wrote: > > On 14:34 Thu 29 Jul , Omair Majid wrote: > > > > There don't seem to be any problems building anyway. > > > > > > Yup, I can confirm. Even though there are tons of files listed, they > > > seem to refer to stuff that was merged. The build works just fine. > > Sadly it seems something did break. The auto-builder just informed me: > http://icedtea.classpath.org/pipermail/testresults/2010-July/000672.html > > It only seems to impact older setups that trigger the QNAME workaround > patch. I cannot immediately see how my commit/merge broke that. But will > try to fix it tomorrow. Slightly scared my fix/merging will make it > worse though. So first some sleep to get a clear head. I still don't really understand how it happened. But I found out what went wrong with the merge. It reintroduced an old patch that was replaced with a new one and duplicated the testing/patching of the source. Hopefully fixed with the attached commit. Cheers, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: deduplicate-merge.patch Type: text/x-patch Size: 2735 bytes Desc: Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100730/9322c728/deduplicate-merge.patch From ahughes at redhat.com Fri Jul 30 03:45:00 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 30 Jul 2010 11:45:00 +0100 Subject: [RFC] Updated: Systemtap tapset test suite. In-Reply-To: <1280477159.16218.88.camel@hermans.wildebeest.org> References: <1048449040.36571280413523431.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1925733115.37351280413796479.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1280477159.16218.88.camel@hermans.wildebeest.org> Message-ID: <20100730104500.GA11762@rivendell.middle-earth.co.uk> On 10:05 Fri 30 Jul , Mark Wielaard wrote: > On Fri, 2010-07-30 at 00:01 +0100, Dr Andrew John Hughes wrote: > > After patching the kernel with utrace support, I get the attached. > > I think the Pass 4 failures are really that. The GCC used doesn't > provide location expressions for some of the variables the scripts wants > to access. They aren't really bugs in icedtea, but in gcc, possibly > resolved in gcc 4.5+ (some distros backport these debuginfo fixes). > $ gcc --version gcc (Gentoo 4.5.0 p1.2, pie-0.4.5) 4.5.0 Copyright (C) 2010 Free Software Foundation, Inc. So the fixes have not been released. > The Pass 5 failures probably mean the user running stap doesn't have > permission. Normally you would have the user in group stapdev. > http://sourceware.org/systemtap/SystemTap_Beginners_Guide/using-usage.html > We might need a stap -e 'probe begin { log("Hello World"); exit(); }' > test before we run the rest of the tests that need Pass 5 output. > This also fails. What file is it trying to access? A clearer error message would be helpful. For the test suite, it needs to do some checks first before trying to run all these tests. I definitely don't think this should be called by check-local at present. It requires too much manual setup and won't work on most platforms. > Cheers, > > Mark > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Fri Jul 30 03:53:19 2010 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 30 Jul 2010 11:53:19 +0100 Subject: broken build (Was: /hg/icedtea6: 6 new changesets) In-Reply-To: <1280445335.16218.81.camel@hermans.wildebeest.org> References: <1280406389.16218.58.camel@hermans.wildebeest.org> <20100729151615.GB31701@rivendell.middle-earth.co.uk> <1280425878.16218.69.camel@hermans.wildebeest.org> <20100729180826.GD31701@rivendell.middle-earth.co.uk> <4C51C9BC.3020809@redhat.com> <20100729205540.GF31701@rivendell.middle-earth.co.uk> <1280445335.16218.81.camel@hermans.wildebeest.org> Message-ID: <20100730105319.GC11762@rivendell.middle-earth.co.uk> On 01:15 Fri 30 Jul , Mark Wielaard wrote: > On Thu, 2010-07-29 at 21:55 +0100, Dr Andrew John Hughes wrote: > > On 14:34 Thu 29 Jul , Omair Majid wrote: > > > > That seems right, given the circumstances. The question is how you > > > > got into a state where there was a conflict to begin with. > > > > > > > > > > Hm... 'hg view' shows what might have happened. Apparently mjw had an > > > old checkout lying around (missing hg pull && hg update perhaps?). > > > > > > > I haven't checked that. My hg view segfaults, due to tcl not liking gcc 4.5: > > > > $ hg view > > *** buffer overflow detected ***: wish terminated > > It works on my machine, and it is useful to see what seemed to have > happened. I still don't understand how that can have be. But apparently > I did my commit and then the merge against something really old :{ > Neither do I. It's very odd. > > > > Note that you can check what will be pushed with 'hg in'. > > > > > > Shouldnt that be 'hg out'? IIRC 'in' (or incoming) checks for the > > > changesets that would get pulled in on hg pull > > > > > > > Yeah, typo. hg in is useful too though! :-) > > Wish I had used that before pushing. hg outgoing is what would have > shown me something odd was going on before a push. > Yes, it's very useful in these cases! > > > > There don't seem to be any problems building anyway. > > > > > > Yup, I can confirm. Even though there are tons of files listed, they > > > seem to refer to stuff that was merged. The build works just fine. > > Sadly it seems something did break. The auto-builder just informed me: > http://icedtea.classpath.org/pipermail/testresults/2010-July/000672.html > > It only seems to impact older setups that trigger the QNAME workaround > patch. I cannot immediately see how my commit/merge broke that. But will > try to fix it tomorrow. Slightly scared my fix/merging will make it > worse though. So first some sleep to get a clear head. > I see you now fixed this. I think your autobuilder is the only one that triggers this old QName workaround, as it still uses gcc 4.3, and it's the workaround that was duplicated. Maybe you were testing the fix on your laptop on some previous occasion, due to the autobuilder failure? > Cheers, > > Mark > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Fri Jul 30 06:56:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 30 Jul 2010 13:56:43 +0000 Subject: [Bug 349] Font2DTest crash when using Range: Sinhala Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=349 asu at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|asu at redhat.com |.org | Status|REOPENED |ASSIGNED ------- Comment #16 from asu at redhat.com 2010-07-30 13:56 ------- Created an attachment (id=399) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=399&action=view) Crash from trying to print two \u0DDD side by side extra note: in the case of using two \u0DDD characters beside each other. This causes a segfault. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 30 08:57:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 30 Jul 2010 15:57:29 +0000 Subject: [Bug 528] New: Crash with nvidia and xorg opengl when running netbeans Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=528 Summary: Crash with nvidia and xorg opengl when running netbeans Product: IcedTea Version: 6-1.8 Platform: x86_64 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: bmehne at gmail.com IcedTea 6 crashed with the following output after starting netbeans: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f4ed852f0fd, pid=13038, tid=139976776795920 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK 64-Bit Server VM (16.0-b13 mixed mode linux-amd64 ) # Derivative: IcedTea6 1.8 # Distribution: Built on Gentoo Base System release 1.12.13 (Fri Jul 30 00:38:56 EDT 2010) # Problematic frame: # C [libGL.so.1+0x7e0fd] # # An error report file with more information is saved as: # /home/****/hs_err_pid13038.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # I believe it is caused by a linking error between the selected and deselected opengl implementations (nvidia doesnt like using version data). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 30 08:58:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 30 Jul 2010 15:58:27 +0000 Subject: [Bug 528] Crash with nvidia and xorg opengl when running netbeans Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=528 ------- Comment #1 from bmehne at gmail.com 2010-07-30 15:58 ------- Created an attachment (id=400) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=400&action=view) Log of crash -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mwong at icedtea.classpath.org Fri Jul 30 12:43:13 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Fri, 30 Jul 2010 19:43:13 +0000 Subject: /hg/icedtea6: Force Event Dispatch to always get created before ... Message-ID: changeset 4bd31caf5e07 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4bd31caf5e07 author: Man Lung Wong date: Fri Jul 30 15:42:22 2010 -0400 Force Event Dispatch to always get created before so its contextclassloader will be set properly. Also made a minor update to reflect related bug number to a previous commit made. diffstat: 3 files changed, 20 insertions(+), 36 deletions(-) ChangeLog | 13 ++++ netx/net/sourceforge/jnlp/Launcher.java | 7 ++ netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 36 ------------ diffs (106 lines): diff -r 775503860dc5 -r 4bd31caf5e07 ChangeLog --- a/ChangeLog Fri Jul 30 12:18:43 2010 +0200 +++ b/ChangeLog Fri Jul 30 15:42:22 2010 -0400 @@ -1,3 +1,15 @@ 2010-07-29 Omair Majid + * netx/net/sourceforge/jnlp/Launcher.java + (launchApplication): Make sure an Event Dispatch Thread + is created before contextclassloader gets set. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (ContextUpdater): Removed it as it is no longer useful after + the above change. + (checkTopLevelWindow): Removed the line that adds + ContextUpdater as it no longer exists. + * NEWS: This fixes one of the problems launching the link + mentioned in icedtea bug 486. + 2010-07-29 Omair Majid * NEWS: Add this fix. @@ -562,6 +574,7 @@ 2010-07-08 Man Lung Wong diff -r 775503860dc5 -r 4bd31caf5e07 netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Fri Jul 30 12:18:43 2010 +0200 +++ b/netx/net/sourceforge/jnlp/Launcher.java Fri Jul 30 15:42:22 2010 -0400 @@ -41,6 +41,8 @@ import net.sourceforge.jnlp.services.Ins import net.sourceforge.jnlp.services.InstanceExistsException; import net.sourceforge.jnlp.services.ServiceUtil; import net.sourceforge.jnlp.util.Reflect; + +import javax.swing.SwingUtilities; /** * Launches JNLPFiles either in the foreground or background.

@@ -441,6 +443,11 @@ public class Launcher { Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); String args[] = file.getApplication().getArguments(); + + SwingUtilities.invokeAndWait(new Runnable() { + // dummy method to force Event Dispatch Thread creation + public void run(){} + }); setContextClassLoaderForAllThreads(app.getThreadGroup(), app.getClassLoader()); diff -r 775503860dc5 -r 4bd31caf5e07 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 30 12:18:43 2010 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 30 15:42:22 2010 -0400 @@ -104,42 +104,8 @@ class JNLPSecurityManager extends Securi /** weak reference to most app who's windows was most recently activated */ private WeakReference activeApplication = null; - /** listener installs the app's classloader on the event dispatch thread */ - private ContextUpdater contextListener = new ContextUpdater(); - /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ private boolean exitAllowed = true; - - private class ContextUpdater extends WindowAdapter implements PrivilegedAction { - private ApplicationInstance app = null; - - public void windowActivated(WindowEvent e) { - app = getApplication(e.getWindow()); - AccessController.doPrivileged(this); - app = null; - } - - public Object run() { - if (app != null) { - Thread.currentThread().setContextClassLoader(app.getClassLoader()); - activeApplication = new WeakReference(app); - } - else - Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); - - return null; - } - - public void windowDeactivated(WindowEvent e) { - activeApplication = null; - } - - public void windowClosing(WindowEvent e) { - System.err.println("Disposing window"); - e.getWindow().dispose(); - } - }; - /** * Creates a JNLP SecurityManager. @@ -462,8 +428,6 @@ class JNLPSecurityManager extends Securi weakWindows.add(window); // for mapping window -> app weakApplications.add(app); - w.addWindowListener(contextListener); // for dynamic context classloader - app.addWindow(w); } From mwong at icedtea.classpath.org Fri Jul 30 13:04:49 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Fri, 30 Jul 2010 20:04:49 +0000 Subject: /hg/release/icedtea6-1.8: Force Event Dispatch Thread to always ... Message-ID: changeset 846a4c007c96 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=846a4c007c96 author: Man Lung Wong date: Fri Jul 30 16:04:20 2010 -0400 Force Event Dispatch Thread to always get created so its contextclassloader will be set properly. Also made a minor update to reflect related bug number to a previous commit made. diffstat: 3 files changed, 20 insertions(+), 36 deletions(-) ChangeLog | 13 ++++ netx/net/sourceforge/jnlp/Launcher.java | 7 ++ netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 36 ------------ diffs (106 lines): diff -r 7f9444e2228d -r 846a4c007c96 ChangeLog --- a/ChangeLog Thu Jul 29 17:31:43 2010 -0400 +++ b/ChangeLog Fri Jul 30 16:04:20 2010 -0400 @@ -1,3 +1,15 @@ 2010-07-29 Omair Majid + * netx/net/sourceforge/jnlp/Launcher.java + (launchApplication): Make sure an Event Dispatch Thread + is created before contextclassloader gets set. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (ContextUpdater): Removed it as it is no longer useful after + the above change. + (checkTopLevelWindow): Removed the line that adds + ContextUpdater as it no longer exists. + * NEWS: This fixes one of the problems launching the link + mentioned in icedtea bug 486. + 2010-07-29 Omair Majid * NEWS: Update for this fix. @@ -217,6 +229,7 @@ 2010-07-08 Man Lung Wong diff -r 7f9444e2228d -r 846a4c007c96 netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Thu Jul 29 17:31:43 2010 -0400 +++ b/netx/net/sourceforge/jnlp/Launcher.java Fri Jul 30 16:04:20 2010 -0400 @@ -41,6 +41,8 @@ import net.sourceforge.jnlp.services.Ins import net.sourceforge.jnlp.services.InstanceExistsException; import net.sourceforge.jnlp.services.ServiceUtil; import net.sourceforge.jnlp.util.Reflect; + +import javax.swing.SwingUtilities; /** * Launches JNLPFiles either in the foreground or background.

@@ -441,6 +443,11 @@ public class Launcher { Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); String args[] = file.getApplication().getArguments(); + + SwingUtilities.invokeAndWait(new Runnable() { + // dummy method to force Event Dispatch Thread creation + public void run(){} + }); setContextClassLoaderForAllThreads(app.getThreadGroup(), app.getClassLoader()); diff -r 7f9444e2228d -r 846a4c007c96 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Thu Jul 29 17:31:43 2010 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 30 16:04:20 2010 -0400 @@ -104,42 +104,8 @@ class JNLPSecurityManager extends Securi /** weak reference to most app who's windows was most recently activated */ private WeakReference activeApplication = null; - /** listener installs the app's classloader on the event dispatch thread */ - private ContextUpdater contextListener = new ContextUpdater(); - /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ private boolean exitAllowed = true; - - private class ContextUpdater extends WindowAdapter implements PrivilegedAction { - private ApplicationInstance app = null; - - public void windowActivated(WindowEvent e) { - app = getApplication(e.getWindow()); - AccessController.doPrivileged(this); - app = null; - } - - public Object run() { - if (app != null) { - Thread.currentThread().setContextClassLoader(app.getClassLoader()); - activeApplication = new WeakReference(app); - } - else - Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); - - return null; - } - - public void windowDeactivated(WindowEvent e) { - activeApplication = null; - } - - public void windowClosing(WindowEvent e) { - System.err.println("Disposing window"); - e.getWindow().dispose(); - } - }; - /** * Creates a JNLP SecurityManager. @@ -462,8 +428,6 @@ class JNLPSecurityManager extends Securi weakWindows.add(window); // for mapping window -> app weakApplications.add(app); - w.addWindowListener(contextListener); // for dynamic context classloader - app.addWindow(w); } From mwong at icedtea.classpath.org Fri Jul 30 13:06:28 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Fri, 30 Jul 2010 20:06:28 +0000 Subject: /hg/release/icedtea6-1.7: Force Event Dispatch Thread to always ... Message-ID: changeset 9e75f57aae29 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=9e75f57aae29 author: Man Lung Wong date: Fri Jul 30 16:06:02 2010 -0400 Force Event Dispatch Thread to always get created so its contextclassloader will be set properly. Also made a minor update to reflect related bug number to a previous commit made. diffstat: 3 files changed, 20 insertions(+), 36 deletions(-) ChangeLog | 13 +++++ rt/net/sourceforge/jnlp/Launcher.java | 7 ++ rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 36 -------------- diffs (106 lines): diff -r 08baa34da100 -r 9e75f57aae29 ChangeLog --- a/ChangeLog Thu Jul 29 17:26:39 2010 -0400 +++ b/ChangeLog Fri Jul 30 16:06:02 2010 -0400 @@ -1,3 +1,15 @@ 2010-07-29 Omair Majid + * netx/net/sourceforge/jnlp/Launcher.java + (launchApplication): Make sure an Event Dispatch Thread + is created before contextclassloader gets set. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (ContextUpdater): Removed it as it is no longer useful after + the above change. + (checkTopLevelWindow): Removed the line that adds + ContextUpdater as it no longer exists. + * NEWS: This fixes one of the problems launching the link + mention in icedtea bug 486. + 2010-07-29 Omair Majid * NEWS: Add this fix. @@ -311,6 +323,7 @@ 2010-07-08 Man Lung Wong diff -r 08baa34da100 -r 9e75f57aae29 rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 29 17:26:39 2010 -0400 +++ b/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 30 16:06:02 2010 -0400 @@ -41,6 +41,8 @@ import net.sourceforge.jnlp.services.Ins import net.sourceforge.jnlp.services.InstanceExistsException; import net.sourceforge.jnlp.services.ServiceUtil; import net.sourceforge.jnlp.util.Reflect; + +import javax.swing.SwingUtilities; /** * Launches JNLPFiles either in the foreground or background.

@@ -441,6 +443,11 @@ public class Launcher { Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); String args[] = file.getApplication().getArguments(); + + SwingUtilities.invokeAndWait(new Runnable() { + // dummy method to force Event Dispatch Thread creation + public void run(){} + }); setContextClassLoaderForAllThreads(app.getThreadGroup(), app.getClassLoader()); diff -r 08baa34da100 -r 9e75f57aae29 rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Thu Jul 29 17:26:39 2010 -0400 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 30 16:06:02 2010 -0400 @@ -104,42 +104,8 @@ class JNLPSecurityManager extends Securi /** weak reference to most app who's windows was most recently activated */ private WeakReference activeApplication = null; - /** listener installs the app's classloader on the event dispatch thread */ - private ContextUpdater contextListener = new ContextUpdater(); - /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ private boolean exitAllowed = true; - - private class ContextUpdater extends WindowAdapter implements PrivilegedAction { - private ApplicationInstance app = null; - - public void windowActivated(WindowEvent e) { - app = getApplication(e.getWindow()); - AccessController.doPrivileged(this); - app = null; - } - - public Object run() { - if (app != null) { - Thread.currentThread().setContextClassLoader(app.getClassLoader()); - activeApplication = new WeakReference(app); - } - else - Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); - - return null; - } - - public void windowDeactivated(WindowEvent e) { - activeApplication = null; - } - - public void windowClosing(WindowEvent e) { - System.err.println("Disposing window"); - e.getWindow().dispose(); - } - }; - /** * Creates a JNLP SecurityManager. @@ -462,8 +428,6 @@ class JNLPSecurityManager extends Securi weakWindows.add(window); // for mapping window -> app weakApplications.add(app); - w.addWindowListener(contextListener); // for dynamic context classloader - app.addWindow(w); } From mwong at icedtea.classpath.org Fri Jul 30 13:37:42 2010 From: mwong at icedtea.classpath.org (mwong at icedtea.classpath.org) Date: Fri, 30 Jul 2010 20:37:42 +0000 Subject: /hg/release/icedtea6-1.6: Force Event Dispatch Thread to always ... Message-ID: changeset 6aee53732aa2 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=6aee53732aa2 author: Man Lung Wong date: Fri Jul 30 16:37:21 2010 -0400 Force Event Dispatch Thread to always get created so its contextclassloader will be set properly. diffstat: 3 files changed, 19 insertions(+), 36 deletions(-) ChangeLog | 12 ++++ rt/net/sourceforge/jnlp/Launcher.java | 7 ++ rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 36 -------------- diffs (98 lines): diff -r f96b5fc36263 -r 6aee53732aa2 ChangeLog --- a/ChangeLog Mon Jul 26 23:38:19 2010 +0100 +++ b/ChangeLog Fri Jul 30 16:37:21 2010 -0400 @@ -1,3 +1,15 @@ 2010-07-26 Andrew John Hughes + * netx/net/sourceforge/jnlp/Launcher.java + (launchApplication): Make sure an Event Dispatch Thread + is created before contextclassloader gets set. + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + (ContextUpdater): Removed it as it is no longer useful after + the above change. + (checkTopLevelWindow): Removed the line that adds + ContextUpdater as it no longer exists. + * NEWS: This fixes one of the problems launching the link + mentioned in icedtea bug 486. + 2010-07-26 Andrew John Hughes * NEWS: Set date of 1.6.3 release. diff -r f96b5fc36263 -r 6aee53732aa2 rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Mon Jul 26 23:38:19 2010 +0100 +++ b/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 30 16:37:21 2010 -0400 @@ -42,6 +42,8 @@ import net.sourceforge.jnlp.services.Ins import net.sourceforge.jnlp.services.InstanceExistsException; import net.sourceforge.jnlp.services.ServiceUtil; import net.sourceforge.jnlp.util.Reflect; + +import javax.swing.SwingUtilities; /** * Launches JNLPFiles either in the foreground or background.

@@ -426,6 +428,11 @@ public class Launcher { Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); String args[] = file.getApplication().getArguments(); + + SwingUtilities.invokeAndWait(new Runnable() { + // dummy method to force Event Dispatch Thread creation + public void run(){} + }); setContextClassLoaderForAllThreads(app.getClassLoader()); diff -r f96b5fc36263 -r 6aee53732aa2 rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Mon Jul 26 23:38:19 2010 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 30 16:37:21 2010 -0400 @@ -101,42 +101,8 @@ class JNLPSecurityManager extends Securi /** weak reference to most app who's windows was most recently activated */ private WeakReference activeApplication = null; - /** listener installs the app's classloader on the event dispatch thread */ - private ContextUpdater contextListener = new ContextUpdater(); - /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ private boolean exitAllowed = true; - - private class ContextUpdater extends WindowAdapter implements PrivilegedAction { - private ApplicationInstance app = null; - - public void windowActivated(WindowEvent e) { - app = getApplication(e.getWindow()); - AccessController.doPrivileged(this); - app = null; - } - - public Object run() { - if (app != null) { - Thread.currentThread().setContextClassLoader(app.getClassLoader()); - activeApplication = new WeakReference(app); - } - else - Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); - - return null; - } - - public void windowDeactivated(WindowEvent e) { - activeApplication = null; - } - - public void windowClosing(WindowEvent e) { - System.err.println("Disposing window"); - e.getWindow().dispose(); - } - }; - /** * Creates a JNLP SecurityManager. @@ -410,8 +376,6 @@ class JNLPSecurityManager extends Securi weakWindows.add(window); // for mapping window -> app weakApplications.add(app); - w.addWindowListener(contextListener); // for dynamic context classloader - app.addWindow(w); } From mwong at redhat.com Fri Jul 30 13:40:12 2010 From: mwong at redhat.com (Man Wong) Date: Fri, 30 Jul 2010 16:40:12 -0400 (EDT) Subject: [RFC] Netx: setting context classloader properly for all threads In-Reply-To: <20100729195154.GA20494@redhat.com> Message-ID: <466102380.1394381280522412216.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> ----- "Deepak Bhole" wrote: > * Man Wong [2010-07-29 14:23]: > > This patch forces the creation of Event Awt thread before the > thread > > launching the application sets the contextclassloader for itself, > > and its child(ren). This essentially make sure Event Awt thread > gets > > the correct contextclassloader. > > > > It also fixes along with changesets > > 4bcc2702e0ec and 867af494861c the issue with launching the set of > > simulation applications mentioned in icedtea bug 486 (which > > effectively allows us to close that bug). > > > > Ok to push? > > > > Looks good. Please go ahead and commit to HEAD, 1.6, 1.7 and 1.8. > Committed as: 6aee53732aa2 - 1.6 9e75f57aae29 - 1.7 846a4c007c96 - 1.8 4bd31caf5e07 - head Thanks, Man Lung Wong > Cheers, > Deepak > > > Thanks, > > Man Lung Wong > > > diff -r dd4d9f50ac7c netx/net/sourceforge/jnlp/Launcher.java > > --- a/netx/net/sourceforge/jnlp/Launcher.java Mon Jul 26 09:38:47 > 2010 +0100 > > +++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Jul 27 17:08:46 > 2010 -0400 > > @@ -42,6 +42,8 @@ > > import net.sourceforge.jnlp.services.ServiceUtil; > > import net.sourceforge.jnlp.util.Reflect; > > > > +import javax.swing.SwingUtilities; > > + > > /** > > * Launches JNLPFiles either in the foreground or background.

> > * > > @@ -442,6 +444,11 @@ > > Method main = mainClass.getDeclaredMethod("main", new > Class[] {String[].class} ); > > String args[] = file.getApplication().getArguments(); > > > > + SwingUtilities.invokeAndWait(new Runnable() { > > + // dummy method to force Event Dispatch Thread > creation > > + public void run(){} > > + }); > > + > > > setContextClassLoaderForAllThreads(app.getThreadGroup(), > app.getClassLoader()); > > > > if (splashScreen != null) { > > diff -r dd4d9f50ac7c > netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java > > --- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Mon > Jul 26 09:38:47 2010 +0100 > > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Tue > Jul 27 17:08:46 2010 -0400 > > @@ -104,43 +104,9 @@ > > /** weak reference to most app who's windows was most recently > activated */ > > private WeakReference activeApplication = null; > > > > - /** listener installs the app's classloader on the event > dispatch thread */ > > - private ContextUpdater contextListener = new ContextUpdater(); > > - > > /** Sets whether or not exit is allowed (in the context of the > plugin, this is always false) */ > > private boolean exitAllowed = true; > > > > - private class ContextUpdater extends WindowAdapter implements > PrivilegedAction { > > - private ApplicationInstance app = null; > > - > > - public void windowActivated(WindowEvent e) { > > - app = getApplication(e.getWindow()); > > - AccessController.doPrivileged(this); > > - app = null; > > - } > > - > > - public Object run() { > > - if (app != null) { > > - > Thread.currentThread().setContextClassLoader(app.getClassLoader()); > > - activeApplication = new WeakReference(app); > > - } > > - else > > - > Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); > > - > > - return null; > > - } > > - > > - public void windowDeactivated(WindowEvent e) { > > - activeApplication = null; > > - } > > - > > - public void windowClosing(WindowEvent e) { > > - System.err.println("Disposing window"); > > - e.getWindow().dispose(); > > - } > > - }; > > - > > - > > /** > > * Creates a JNLP SecurityManager. > > */ > > @@ -524,8 +490,6 @@ > > weakWindows.add(window); // for mapping window -> app > > weakApplications.add(app); > > > > - w.addWindowListener(contextListener); // for dynamic > context classloader > > - > > app.addWindow(w); > > } > > From dj at linuxfromscratch.org Sat Jul 31 11:45:27 2010 From: dj at linuxfromscratch.org (DJ Lucas) Date: Sat, 31 Jul 2010 13:45:27 -0500 Subject: --with-openjdk bootstrap Message-ID: <4C546F47.2010205@linuxfromscratch.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Is there a simple way to do a three pass bootstrap when using the - --with-openjdk flag? I browsed through the Makefile and didn't see anything promising, but figured I'd ask those more familiar in case I missed something obvious. I do plan to distribute a binary icedtea6 package in BLFS, however, there are some users who will still want to build it themselves. Easiest way I can think of to cover those users is to install the bin package and let users bootstrap with that. Any pointers? - -- DJ Lucas -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) iQIcBAEBAgAGBQJMVG9GAAoJEIUM+xKzBYsIYBAP/2pGLv4GBZpnzfVN1Cc2roXv WdXO4gghvVlm4Loir+UgO2Gm/8WeGk4Uw93fowjaf4pHHWOGJnl2fAW+ddJSX7Ts 4mER8Cy2pbk11eG7pxWtlWlMCY5JSmFOcQOcNUWQnck8dECY5JTOinFhUt2bnJId 3fuWKOXd6AR965jwAGDhf0WcaSk9n9TScg9SotZ9HuYLG9vr5iWaf7KJJLCeSduk EXGPuocgBmnSvkv+6G+sQ2vEAd4tNhYf+eHLM+3LJkPdAixX/4t287sJ8P/dTdJn reYoUDWYvG6vF/0b/1rfv3BKRFM5JF/EAU7CosL0rsWB93yu1XpQgzVlNekA2918 eBfkxxWq6IrXoRB7S1mrlPtV3zo0Vl9y1uoG8Qx9GqcIszZRoaLTA7gQlDOnPDD4 SpivqiMBKEYQvrWFwE6cSbWIghiiITHFaeVKbwJcX2M24pDo0ffTXwnIGLkcG6gE GV+g3B9r4GWkSl96+Dxjta2r50/4gWbHD8vHChethTr2Lr6iD4qGbURkhpd7LWv3 pfux5fehizFuOy05DUYThf36KAUP/qEvCLeN+B5Yf+vZi1EGBc96gQ8RviGl2wFP Jz/UefJ1/EAg+YegdXJxCp5u7MxyD58OWckNzh4T2IYXkWJHN0N2mFo1M0h1oUGD tSS/+SUCM7Y7d4qQ4sFa =wrym -----END PGP SIGNATURE----- -- This message has been scanned for viruses and dangerous content, and is believed to be clean.