From jvanek at redhat.com Mon Sep 2 01:45:12 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 02 Sep 2013 10:45:12 +0200 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <201308302206.r7UM6e2T029643@mail-web03.excite.co.jp> References: <201308302206.r7UM6e2T029643@mail-web03.excite.co.jp> Message-ID: <52245018.4080501@redhat.com> On 08/31/2013 12:06 AM, Jacob Wisor wrote: > Hello, > > if I may way in here... Generally spoken good idea to use the map isntead of default location. Reason Why I not suggested it is that I'm not sure how DeploymentConfiguration will work when "misused" like this. However worthy to try. > > "Andrew Azores" wrote: >> On 08/30/2013 11:32 AM, Omair Majid wrote: >>> On 08/30/2013 11:20 AM, Andrew Azores wrote: >>>> On that note - Jiri, wouldn't using the value from Defaults not take >>>> into account the user changing the cache location using itweb-settings? >>>> Perhaps it makes more sense to use DeploymentConfiguration here to >>>> ensure that the reproducer test is actually testing using the cache dir >>>> that the user expects to use as a cache dir? This way if you've never >>>> changed the cache location in itweb-settings then you get the same path >>>> as taking it from Defaults would give you, but it does still also >>>> respect if you've changed the cache location. >>> This is sort of hand-wavy, but it might be a good idea to keep >>> reproducers predictable. When the reproducers are run, they should use a >>> 'known' configuration and check for exact paths. > > I always assumed reproducers to be unpredictable on any random system by definition? I would guess this can happen. Although number of reproducers depending on configuration directly is very few. > > I may be wrong here, but in my understanding a reproducer is not a general test, it is a special case or kind of test. A reproducer tests for or against a specific configuration and/or specific system and hence is allowed to fail on some systems. Imho a reproducer should not cover default configuration tests. It just gives a hint on what to fix to make an application or program work on a specific system or with a specific configuration. That said, a reproducer's results are per se unpredictable by definition. They are of course predictable with a specific configuration and/or on a specific system. Unluckily historical true. I think now its a bit better. > > Consequently imho testing for the default configuration should be put into a general test that must succeed on any system. Any specific configuration tests should be put into a reproducer that is allowed to fail on some systems (until the app/program has been adapted). Yes, the testing on default configuration is the proffered way - mostly from historical reasons, when framework was under development and custom configs were not possible. When you check newer reproducers they are stable, are running on clean configuration, and clean uo after themselves too. Also they are testing various settings - both custom and defaults. >>> A mistake in code (a >>> typo in one of the configuration defaults, for example) should be >>> detected by the reproducers. Not easy task here. But I agree taht tets should not be depending on actual configuration. As I mentioned. Newer tests are fighting with this a bit, and probably general solution like annotation @itw-test (params like config, map, cleanCache...) which will setup clean default/custom environment and then clean up after it may be worthy. >>> >>> Allowing a user's configuration to affect the test would surely make >>> things much less predictable - the opposite of what you want in a good >>> automated test. >>> >>> Thanks, >>> Omair >> The problem is that as the test is now, it relies on the user leaving >> the cache location as default. If you use the default location, which it >> is set up to expect, then it works. But if you change the cache location >> with itweb-settings, then the reproducer tests all fail due to the cache >> location not existing. I can: (1) modify the reproducer to create the >> default cache location if it doesn't exist and then use it, or (2) have >> the reproducer use the DeploymentConfiguration-specified location >> whether or not that happens to be default, or (3) allow the reproducer >> to fail if you are not using the default cache location. >> >> I don't think it makes sense to choose (3), which is the current state >> of the reproducer, so the choice is really between (1) and (2). I see >> what you mean about having much more rigidly defined paths in the test >> for predictability, ie choosing option (1), but I think it also makes >> sense to use the configured cache path settings, ie option (2). If we >> take the second option then this test also catches whether or not the >> DeploymentConfiguration settings are actually being modified by the >> itweb-settings GUI. On the other hand, option (1) will tell you simply >> whether the caching mechanism is working correctly, regardless of if >> your particular cache configuration (ie cache location) works or not. >> Option (2) can emulate option (1) if you just set the cache location to >> default in itweb-settings. Speaking of which, perhaps there should be a >> way within that GUI to reset the cache location to default? > > Then the question is, what is the default? The default seems to be somewhat dynamic, that is system dependent, maybe even configuration dependent. But for the sake of simplicity, let's assume DeploymentConfiguration can provide a default configuration. I do not see anything speaking against a "reset to default" button, but I also do not see any real reason for it. > > (1) does not seem to make sense because it actually should have been covered by a test. > (2) Seems to make sense only if a non-default configuration has been already created (and it _must_ have been created). Perhaps creating some randomly generated configurations or special cases, like folder names with known invalid characters on some file systems, or embarrassingly long file and folder names would add any value? > Sorry, but (3) does not make sense at all because it effectively does not test anything except for "not having the default configuration". > Although I agree with you, I'm hesitating to touch reproducers somehow more - as they are serving well. Andrew A. is looking into them so he may have different opinion - he already refactored some parts of code for more happy live of us. J. From jvanek at redhat.com Mon Sep 2 02:22:15 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 02 Sep 2013 11:22:15 +0200 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> References: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> Message-ID: <522458C7.3070505@redhat.com> On 08/30/2013 01:06 PM, Jacob Wisor wrote: > "Andrew Azores" wrote: >> On 08/29/2013 09:59 AM, Jiri Vanek wrote: >>> On 08/29/2013 03:13 PM, Andrew Azores wrote: >>>> Changelog: >>>> * >>>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: >>>> (icedteaDir) field >>>> updated to reflect new ITW cache location from XDG spec. >>>> (clearCacheUnsucessfully) checks for >>>> correct "can not clear the cache" error message >>>> >>>> Not much going on here, really :). This is the start of my effort to >>>> stabilize reproducers. Looks >>>> like I got lucky with my first set to fix, because this turned out to >>>> be very very easy. There is >>>> one "KnownToFail" test in here that occasionally passes, so I will >>>> also look into that, but these >>>> two small changes stand on their own to fix the rest of the tests at >>>> least. >>>> >>>> Thanks, >>>> >>> >>> Nice catch. My wrong I overlooked the hard coded path. >>> >>> However - the test case can see the libraries, and the real >>> cache(/config) path is now in Defaults. So I think it would be better >>> to get rid of this hard coded path completely and replace by >>> variable[1] (there was no variable in time of this test writing). This >>> variable should be filled correctly no meter if custom XDG variable i >>> set. >>> >>> >>> J. >>> >>> [1]http://icedtea.classpath.org/hg/icedtea-web/file/420d72e5cee7/netx/net/sourceforge/jnlp/config/Defaults.java#l58 >>> >>> >>> If you do not wont to use the full path (but why not), then maybe just >>> http://icedtea.classpath.org/hg/icedtea-web/file/420d72e5cee7/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java#l53 >>> >> >> Like this you mean? I had to add the test to the same package as the >> Defaults class since that variable is set to default visibility, not public. Nope, rather make it public. Anyaway, as others suggested, Can you tray to use DeploymentConfiguration singleton to get real location of cache. If you think it is good idea, then go with it. >> > > Even at the risk this may be perceived as nagging, but you may want to consider replacing those "/" String literals with File.separator, especially in places where the string concatinations are derived from system properties. It is probably no problem to pass slashes ( / ), backslashes ( \ ), or any other system specific file separator to File's constuctors or objects because File converts any paramters into URLs internally anyway. But when manipulating or comparing raw strings one may get undefined or different results. Or, one should make sure to use URLs only and stick to those when manipulating or comparing strings. > > Another thing that perhaps should be considered are systems that do not - for what ever reason - implement the XDG specification. What should be IcedTea-Web's expected behavior in this case? Should it simply force XDG onto that system or should it rather fall back to the previously employed simple scheme (System.getProperty("user.home") + File.separator + ".icedtea")? > > Regards, > Jacob > From ptisnovs at icedtea.classpath.org Mon Sep 2 02:33:47 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 02 Sep 2013 09:33:47 +0000 Subject: /hg/gfx-test: Six new tests added into BitBltAffineIdentityTrans... Message-ID: changeset c91a2ba5cd29 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c91a2ba5cd29 author: Pavel Tisnovsky date: Mon Sep 02 11:37:29 2013 +0200 Six new tests added into BitBltAffineIdentityTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 83 ++++++++++ 2 files changed, 88 insertions(+), 0 deletions(-) diffs (112 lines): diff -r cdf5b6539c5f -r c91a2ba5cd29 ChangeLog --- a/ChangeLog Fri Aug 30 11:25:12 2013 +0200 +++ b/ChangeLog Mon Sep 02 11:37:29 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-02 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Six new tests added into BitBltAffineIdentityTransformOp. + 2013-08-30 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r cdf5b6539c5f -r c91a2ba5cd29 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Fri Aug 30 11:25:12 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Mon Sep 02 11:37:29 2013 +0200 @@ -654,6 +654,48 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ + public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ public TestResult testBitBltDiagonalCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) { return doBitBltDiagonalCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp1); @@ -687,6 +729,47 @@ return doBitBltDiagonalCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp3); } + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp6); + } + /** * Entry point to the test suite. * From ptisnovs at icedtea.classpath.org Mon Sep 2 02:51:32 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 02 Sep 2013 09:51:32 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset e5840a2853aa in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=e5840a2853aa author: Pavel Tisnovsky date: Mon Sep 02 11:55:15 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite SimpleScriptContextClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/SimpleScriptContextClassTest.java | 198 +++++++++++++++++++ 2 files changed, 204 insertions(+), 0 deletions(-) diffs (221 lines): diff -r e55f8607a4cf -r e5840a2853aa ChangeLog --- a/ChangeLog Fri Aug 30 11:30:45 2013 +0200 +++ b/ChangeLog Mon Sep 02 11:55:15 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-02 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite SimpleScriptContextClassTest. + 2013-08-30 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r e55f8607a4cf -r e5840a2853aa src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Fri Aug 30 11:30:45 2013 +0200 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Mon Sep 02 11:55:15 2013 +0200 @@ -1494,6 +1494,204 @@ } /** + * Test for method javax.script.SimpleScriptContext.getClass().cast() + */ + protected void testCast() { + try { + this.simpleScriptContextClass.cast(new javax.script.SimpleScriptContext()); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.simpleScriptContextClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleScriptContext */ @SuppressWarnings("cast") From andrew at icedtea.classpath.org Mon Sep 2 12:59:30 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Sep 2013 19:59:30 +0000 Subject: /hg/icedtea6: Backport various Makefile changes so -Wno-clobbere... Message-ID: changeset 782a87f782f3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=782a87f782f3 author: Andrew John Hughes date: Mon Sep 02 20:59:15 2013 +0100 Backport various Makefile changes so -Wno-clobbered is only used with GCC >= 4.3. S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build S7000225: Sanity check on sane-alsa-headers is broken S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber 2013-09-02 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backports. Move disable-cc-incompatible-sanity-checks and freetypeversion to the end. * patches/disable-cc-incompatible-sanity-checks.patch, * patches/freetypeversion.patch: Regenerated to work after new backports. * patches/openjdk/6563752-ss12_support.patch, * patches/openjdk/6729772-opt_cleanup.patch, * patches/openjdk/6799141-split_out_versions.patch, * patches/openjdk/6816311-compiler_name.patch, * patches/openjdk/6974017-minorver_for_solaris.patch, * patches/openjdk/6980281-majorver_for_solaris.patch, * patches/openjdk/7000225-bad_tabs.patch, * patches/openjdk/7038711-fix_no-clobber_usage.patch: Backports from OpenJDK 7 to bring in latest Makefile updates. * NEWS: Update and order backports numerically. diffstat: ChangeLog | 21 + Makefile.am | 15 +- NEWS | 12 +- patches/disable-cc-incompatible-sanity-checks.patch | 54 +- patches/freetypeversion.patch | 23 +- patches/openjdk/6563752-ss12_support.patch | 173 +++ patches/openjdk/6729772-opt_cleanup.patch | 847 ++++++++++++++++++ patches/openjdk/6799141-split_out_versions.patch | 915 ++++++++++++++++++++ patches/openjdk/6816311-compiler_name.patch | 417 +++++++++ patches/openjdk/6974017-minorver_for_solaris.patch | 24 + patches/openjdk/6980281-majorver_for_solaris.patch | 66 + patches/openjdk/7000225-bad_tabs.patch | 48 + patches/openjdk/7038711-fix_no-clobber_usage.patch | 125 ++ 13 files changed, 2682 insertions(+), 58 deletions(-) diffs (truncated from 2878 to 500 lines): diff -r de0023a3d26d -r 782a87f782f3 ChangeLog --- a/ChangeLog Sat Aug 31 17:42:12 2013 +0100 +++ b/ChangeLog Mon Sep 02 20:59:15 2013 +0100 @@ -1,3 +1,24 @@ +2013-09-02 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backports. Move + disable-cc-incompatible-sanity-checks and freetypeversion + to the end. + * patches/disable-cc-incompatible-sanity-checks.patch, + * patches/freetypeversion.patch: + Regenerated to work after new backports. + * patches/openjdk/6563752-ss12_support.patch, + * patches/openjdk/6729772-opt_cleanup.patch, + * patches/openjdk/6799141-split_out_versions.patch, + * patches/openjdk/6816311-compiler_name.patch, + * patches/openjdk/6974017-minorver_for_solaris.patch, + * patches/openjdk/6980281-majorver_for_solaris.patch, + * patches/openjdk/7000225-bad_tabs.patch, + * patches/openjdk/7038711-fix_no-clobber_usage.patch: + Backports from OpenJDK 7 to bring in latest Makefile + updates. + * NEWS: Update and order backports numerically. + 2013-08-30 Andrew John Hughes * Makefile.am: diff -r de0023a3d26d -r 782a87f782f3 Makefile.am --- a/Makefile.am Sat Aug 31 17:42:12 2013 +0100 +++ b/Makefile.am Mon Sep 02 20:59:15 2013 +0100 @@ -510,7 +510,6 @@ patches/libraries.patch \ $(SPECIAL_SECURITY_PATCH_2) \ patches/uname.patch \ - patches/freetypeversion.patch \ patches/nomotif-6706121.patch \ patches/nomotif.patch \ patches/nomotif-mtoolkit.patch \ @@ -532,7 +531,6 @@ patches/jtreg-jrunscript.patch \ patches/network-unreachable.patch \ patches/dnd-filelists.patch \ - patches/disable-cc-incompatible-sanity-checks.patch \ patches/explicit-target-arch.patch \ patches/parisc.patch \ patches/policy-evaluation.patch \ @@ -752,7 +750,17 @@ patches/openjdk/8014469-tzdata2013c.patch \ patches/openjdk/8020054-tzdata2013d.patch \ patches/imageiojpeg_sync.patch \ - patches/openjdk/8005194-scale_memory_leak.patch + patches/openjdk/8005194-scale_memory_leak.patch \ + patches/openjdk/6563752-ss12_support.patch \ + patches/openjdk/6729772-opt_cleanup.patch \ + patches/openjdk/6799141-split_out_versions.patch \ + patches/freetypeversion.patch \ + patches/openjdk/6816311-compiler_name.patch \ + patches/openjdk/6974017-minorver_for_solaris.patch \ + patches/openjdk/6980281-majorver_for_solaris.patch \ + patches/openjdk/7000225-bad_tabs.patch \ + patches/openjdk/7038711-fix_no-clobber_usage.patch \ + patches/disable-cc-incompatible-sanity-checks.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -899,7 +907,6 @@ patches/ecj/spp.patch \ patches/ecj/jopt.patch \ patches/ecj/jaxp-dependency.patch \ - patches/ecj/bootver.patch \ patches/ecj/getannotation-cast.patch \ patches/ecj/override.patch \ patches/ecj/xsltproc.patch \ diff -r de0023a3d26d -r 782a87f782f3 NEWS --- a/NEWS Sat Aug 31 17:42:12 2013 +0100 +++ b/NEWS Mon Sep 02 20:59:15 2013 +0100 @@ -18,19 +18,27 @@ - PR1458: Make use of bootstrap tools & -Xbootclasspath patches optional - PR718: Backport LCMS2 support from IcedTea7 * Backports - - S8009641: OpenJDK 6 build broken via 8007675 fix - OJ4: Backport the new version of copyMemory from OpenJDK 7 to allow Snappy to build - - S7022999: Can't build with FORCE_TIERED=0 (bundled HotSpot only) - S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY + - S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) - S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll + - S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 - S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 - S6793818: JpegImageReader is too greedy creating color profiles + - S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 + - S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 - S6888215: memory leak in jpeg plugin + - S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) + - S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build - S6989760: cmm native compiler warnings - S6989774: imageio compiler warnings in native code + - S7000225: Sanity check on sane-alsa-headers is broken - S7013519: [parfait] Integer overflows in 2D code - S7018912: [parfait] potential buffer overruns in imageio jpeg + - S7022999: Can't build with FORCE_TIERED=0 (bundled HotSpot only) + - S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8009641: OpenJDK 6 build broken via 8007675 fix - S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances * Bug fixes - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. diff -r de0023a3d26d -r 782a87f782f3 patches/disable-cc-incompatible-sanity-checks.patch --- a/patches/disable-cc-incompatible-sanity-checks.patch Sat Aug 31 17:42:12 2013 +0100 +++ b/patches/disable-cc-incompatible-sanity-checks.patch Mon Sep 02 20:59:15 2013 +0100 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/jdk/make/common/Sanity.gmk openjdk/jdk/make/common/Sanity.gmk ---- openjdk.orig/jdk/make/common/Sanity.gmk 2009-10-01 18:31:50.000000000 +0100 -+++ openjdk/jdk/make/common/Sanity.gmk 2009-10-02 17:51:35.000000000 +0100 -@@ -92,8 +92,11 @@ +--- openjdk.orig/jdk/make/common/Sanity.gmk 2012-10-26 19:25:40.000000000 +0100 ++++ openjdk/jdk/make/common/Sanity.gmk 2013-09-02 17:26:52.257169562 +0100 +@@ -91,8 +91,11 @@ sane-ld_options \ sane-ld_run_path \ sane-alt_bootdir \ @@ -15,7 +15,7 @@ ifdef OPENJDK sanity-all:: sane-freetype -@@ -109,17 +112,21 @@ +@@ -108,17 +111,21 @@ # (Which only happens with a full control build. The control makefiles are # the files that set BUILD_MOTIF). # We cannot sanity check something that has not been built yet. @@ -42,64 +42,36 @@ # Always check hotspot binary paths even if we are building them from scratch diff -Nru openjdk.orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk ---- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2009-10-02 17:36:09.000000000 +0100 -+++ openjdk/jdk/make/common/shared/Sanity.gmk 2009-10-02 17:52:37.000000000 +0100 -@@ -75,9 +75,14 @@ - fi ) - endif - ifneq ($(ARCH), ia64) -- # dummy program that outputs ALSA's version (created in target sane-alsa-versioncheck) -- ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck -- ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi` -+ ifdef CROSS_COMPILATION -+ # assume alsa version is correct and do not check it -+ ALSA_VERSION = 1.0.0 -+ else -+ # dummy program that outputs ALSA's version (created in target sane-alsa-versioncheck) -+ ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck -+ ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi` -+ endif - endif - endif - -@@ -120,6 +125,15 @@ +--- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2013-09-02 17:03:28.039330395 +0100 ++++ openjdk/jdk/make/common/shared/Sanity.gmk 2013-09-02 17:32:35.854512833 +0100 +@@ -159,6 +159,11 @@ # Get ALL_SETTINGS defined include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk +ifndef CROSS_COMPILATION +MORE_PHONY_RULES = \ -+ sane-freetype \ -+ sane-cups \ -+ sane-motif \ -+ sane-alsa-versioncheck \ -+ sane-alsa-headers ++ sane-freetype +endif + .PHONY: \ sane-copyrightyear\ sane-settings \ -@@ -149,8 +163,6 @@ +@@ -187,8 +192,7 @@ sane-outputdir \ sane-alt_bootdir \ sane-bootdir \ - sane-motif \ - sane-cups \ ++ sane-cups \ sane-devtools_path \ sane-compiler_path \ sane-unixcommand_path \ -@@ -168,13 +180,11 @@ - sane-compiler \ - sane-link \ - sane-cacerts \ -- sane-alsa-versioncheck \ -- sane-alsa-headers \ - sane-ant_version \ +@@ -211,7 +215,7 @@ sane-zip_version \ sane-unzip_version \ -- sane-msvcrt_path \ + sane-msvcrt_path \ - sane-freetype -+ sane-msvcrt_path \ -+ $(MORE_PHONY_RULES) ++ $(MORE_PHONY_RULES) ###################################################### # check for COPYRIGHT_YEAR variable diff -r de0023a3d26d -r 782a87f782f3 patches/freetypeversion.patch --- a/patches/freetypeversion.patch Sat Aug 31 17:42:12 2013 +0100 +++ b/patches/freetypeversion.patch Mon Sep 02 20:59:15 2013 +0100 @@ -1,11 +1,12 @@ ---- openjdk/jdk/make/common/shared/Platform.gmk.orig -+++ openjdk/jdk/make/common/shared/Platform.gmk -@@ -94,7 +94,7 @@ - REQUIRED_BOOT_VER = 1.5 - - # If we are using freetype, this is the required version --REQUIRED_FREETYPE_VERSION=2.3.0 -+REQUIRED_FREETYPE_VERSION=2.2.1 - - # - # Prune out all known SCM (Source Code Management) directories +diff -Nru openjdk.orig/jdk/make/common/shared/Defs-versions.gmk openjdk/jdk/make/common/shared/Defs-versions.gmk +--- openjdk.orig/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 15:32:33.490472903 +0100 ++++ openjdk/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 15:33:00.154887749 +0100 +@@ -176,7 +176,7 @@ + # Generic + REQUIRED_ANT_VER = 1.6.3 + REQUIRED_BOOT_VER = 1.5 +-REQUIRED_FREETYPE_VERSION = 2.3.0 ++REQUIRED_FREETYPE_VERSION = 2.2.1 + REQUIRED_MAKE_VER = 3.78 + REQUIRED_UNZIP_VER = 5.12 + REQUIRED_ZIP_VER = 2.2 diff -r de0023a3d26d -r 782a87f782f3 patches/openjdk/6563752-ss12_support.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6563752-ss12_support.patch Mon Sep 02 20:59:15 2013 +0100 @@ -0,0 +1,173 @@ +# HG changeset patch +# User ohair +# Date 1212597498 25200 +# Wed Jun 04 09:38:18 2008 -0700 +# Node ID f9467b4496dc3731d73dbc5a42fd84cc9b1faaab +# Parent b6601ba7f6dfe0d93e40b2891c581c30fdd92289 +6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) +Summary: Changes to support building with SS12. +Reviewed-by: tbell + +diff --git a/make/common/Defs-solaris.gmk b/make/common/Defs-solaris.gmk +--- openjdk/jdk/make/common/Defs-solaris.gmk ++++ openjdk/jdk/make/common/Defs-solaris.gmk +@@ -197,7 +197,6 @@ + + # Lint Flags: + # -Xa ANSI C plus K&R, favor ANSI rules +-# -Xarch=XXX Same as 'cc -xarch=XXX' + # -fd report on old style func defs + # -errchk=structarg report on 64bit struct args by value + # -errchk=longptr64 report on 64bit to 32bit issues (ignores casts) +@@ -206,6 +205,7 @@ + # -x suppress unused externs + # -u suppress extern func/vars used/defined + # -errfmt=simple use one line errors with position info ++# $(LINT_XARCH_OPTION) See Compiler-sun.gwk + + LINTFLAGS_COMMON = -Xa + LINTFLAGS_COMMON += -fd +@@ -224,42 +224,12 @@ + # Tell the compilers to never generate globalized names, all the time. + CFLAGS_COMMON += -W0,-noglobal + +-# Arch specific settings (determines type of .o files and instruction set) +-ifeq ($(ARCH_FAMILY), sparc) +- ifdef VIS_NEEDED +- XARCH_VALUE/32=v8plusa +- XARCH_VALUE/64=v9a +- else +- # Someday this should change to improve optimization on UltraSPARC +- # and abandon the old v8-only machines like the SPARCstation 10. +- # Indications with Mustang is that alacrity runs do not show a +- # big improvement using v8plus over v8, but other benchmarks might. +- XARCH_VALUE/32=v8 +- XARCH_VALUE/64=v9 +- endif +-endif +-ifeq ($(ARCH_FAMILY), i586) +- XARCH_VALUE/64=amd64 +- XARCH_VALUE/32= +-endif +- +-# Arch value based on current data model being built +-XARCH_VALUE=$(XARCH_VALUE/$(ARCH_DATA_MODEL)) +-ifneq ($(XARCH_VALUE), ) +- # The actual compiler -xarch options to use +- XARCH_OPTION/32 = -xarch=$(XARCH_VALUE/32) +- XARCH_OPTION/64 = -xarch=$(XARCH_VALUE/64) +- XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL)) +-endif +- +-# If we have a specific -xarch value to use, add it +-ifdef XARCH_OPTION +- CFLAGS_COMMON += $(XARCH_OPTION) +- CXXFLAGS_COMMON += $(XARCH_OPTION) +- ASFLAGS_COMMON += $(XARCH_OPTION) +- EXTRA_LIBS += $(XARCH_OPTION) +- LINTFLAGS_COMMON += -Xarch=$(XARCH_VALUE) +-endif ++# If we have a specific arch value to use, add it ++CFLAGS_COMMON += $(XARCH_OPTION) ++CXXFLAGS_COMMON += $(XARCH_OPTION) ++ASFLAGS_COMMON += $(AS_XARCH_OPTION) ++EXTRA_LIBS += $(XARCH_OPTION) ++LINTFLAGS_COMMON += $(LINT_XARCH_OPTION) + + # + # uncomment the following to build with PERTURBALOT set +diff --git a/make/common/shared/Compiler-sun.gmk b/make/common/shared/Compiler-sun.gmk +--- openjdk/jdk/make/common/shared/Compiler-sun.gmk ++++ openjdk/jdk/make/common/shared/Compiler-sun.gmk +@@ -31,6 +31,9 @@ + + # Sun Studio Compiler settings specific to Solaris + ifeq ($(PLATFORM), solaris) ++ # FIXUP: Change to SS12 when validated ++ #COMPILER_VERSION=SS12 ++ #REQUIRED_CC_VER=5.9 + COMPILER_VERSION=SS11 + REQUIRED_CC_VER=5.8 + CC = $(COMPILER_PATH)cc +@@ -51,8 +54,8 @@ + # Sun Studio Compiler settings specific to Linux + ifeq ($(PLATFORM), linux) + # This has not been tested +- COMPILER_VERSION=SS11 +- REQUIRED_CC_VER=5.8 ++ COMPILER_VERSION=SS12 ++ REQUIRED_CC_VER=5.9 + CC = $(COMPILER_PATH)cc + CPP = $(COMPILER_PATH)cc -E + CXX = $(COMPILER_PATH)CC +@@ -74,3 +77,58 @@ + _CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1) + CC_VER :=$(call GetVersion,"$(_CC_VER)") + ++# Arch specific settings (determines type of .o files and instruction set) ++# Starting in SS12 (5.9), the arch options changed. ++# The assembler /usr/ccs/bin/as wants older SS11 (5.8) style options. ++# Note: We need to have both 32 and 64 values at all times for awt Makefiles. ++# ++XARCH_OPTION_OLD/32 = ++XARCH_OPTION_OLD/64 = ++XARCH_OPTION_NEW/32 = -m32 ++XARCH_OPTION_NEW/64 = -m64 ++# Lint options are slightly different ++LINT_XARCH_OPTION_OLD/32 = ++LINT_XARCH_OPTION_OLD/64 = ++LINT_XARCH_OPTION_NEW/32 = -m32 ++LINT_XARCH_OPTION_NEW/64 = -m64 ++ifeq ($(ARCH_FAMILY), sparc) ++ ifdef VIS_NEEDED ++ XARCH_OPTION_OLD/32 += -xarch=v8plusa ++ XARCH_OPTION_OLD/64 += -xarch=v9a ++ XARCH_OPTION_NEW/32 += -xarch=sparcvis ++ XARCH_OPTION_NEW/64 += -xarch=sparcvis ++ else ++ # Someday this should change to improve optimization on UltraSPARC ++ # and abandon v8, even change to sparcvis or sparcvis2, this ++ # abandons machines like the SPARCstation 10. ++ # Indications with jdk6 is that alacrity runs do not show a ++ # big improvement using v8plus over v8, but other benchmarks might. ++ XARCH_OPTION_OLD/32 += -xarch=v8 ++ XARCH_OPTION_OLD/64 += -xarch=v9 ++ # Note that this new option (SS12+) effectively means v8plus ++ XARCH_OPTION_NEW/32 += -xarch=sparc ++ XARCH_OPTION_NEW/64 += -xarch=sparc ++ endif ++ LINT_XARCH_OPTION_OLD/64 += -Xarch=v9 ++endif ++ifeq ($(ARCH_FAMILY), i586) ++ XARCH_OPTION_OLD/64 += -xarch=amd64 ++ LINT_XARCH_OPTION_OLD/64 += -Xarch=amd64 ++endif ++# Pick the options we want based on the compiler being used. ++ifeq ($(shell expr $(CC_VER) \>= 5.9), 1) ++ XARCH_OPTION/32 = $(XARCH_OPTION_NEW/32) ++ XARCH_OPTION/64 = $(XARCH_OPTION_NEW/64) ++ LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_NEW/32) ++ LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_NEW/64) ++else ++ XARCH_OPTION/32 = $(XARCH_OPTION_OLD/32) ++ XARCH_OPTION/64 = $(XARCH_OPTION_OLD/64) ++ LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_OLD/32) ++ LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_OLD/64) ++endif ++XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL)) ++LINT_XARCH_OPTION = $(LINT_XARCH_OPTION/$(ARCH_DATA_MODEL)) ++# The /usr/ccs/bin/as assembler always wants the older SS11 (5.8) options. ++AS_XARCH_OPTION = $(XARCH_OPTION_OLD/$(ARCH_DATA_MODEL)) ++ +diff --git a/make/jdk_generic_profile.sh b/make/jdk_generic_profile.sh +--- openjdk/jdk/make/jdk_generic_profile.sh ++++ openjdk/jdk/make/jdk_generic_profile.sh +@@ -119,7 +119,7 @@ + # System place where JDK installed images are stored? + jdk_instances=/usr/jdk/instances + +- # Get the SS11 compilers (and latest patches for them too) ++ # Get the Sun Studio compilers (and latest patches for them too) + if [ "${ALT_COMPILER_PATH}" = "" ] ; then + ALT_COMPILER_PATH=/opt/SUNWspro/bin + export ALT_COMPILER_PATH diff -r de0023a3d26d -r 782a87f782f3 patches/openjdk/6729772-opt_cleanup.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6729772-opt_cleanup.patch Mon Sep 02 20:59:15 2013 +0100 @@ -0,0 +1,847 @@ +# HG changeset patch +# User ohair +# Date 1217472057 25200 +# Wed Jul 30 19:40:57 2008 -0700 +# Node ID b374f6174534071d4305a91fbc2b913e7bc64396 +# Parent b7474b739d13bacd9972f88ac91f6350b7b0be12 +6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 +Reviewed-by: tbell + +diff --git a/make/common/Defs-linux.gmk b/make/common/Defs-linux.gmk +--- openjdk/jdk/make/common/Defs-linux.gmk ++++ openjdk/jdk/make/common/Defs-linux.gmk +@@ -86,18 +86,22 @@ + # + # Default optimization + # +-CC_HIGHEST_OPT = -O3 +-CC_HIGHER_OPT = -O3 +-CC_LOWER_OPT = -O2 +-CC_NO_OPT = + +-ifeq ($(PRODUCT), java) +- _OPT = $(CC_HIGHER_OPT) +-else +- _OPT = $(CC_LOWER_OPT) +- CPPFLAGS_DBG += -DLOGGING ++ifndef OPTIMIZATION_LEVEL ++ ifeq ($(PRODUCT), java) ++ OPTIMIZATION_LEVEL = HIGHER ++ else ++ OPTIMIZATION_LEVEL = LOWER ++ endif + endif + ++CC_OPT/NONE = ++CC_OPT/LOWER = -O2 ++CC_OPT/HIGHER = -O3 ++CC_OPT/HIGHEST = -O3 ++ ++CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL)) ++ + # For all platforms, do not omit the frame pointer register usage. + # We need this frame pointer to make it easy to walk the stacks. + # This should be the default on X86, but ia64 and amd64 may not have this +@@ -112,18 +116,6 @@ + CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH)) + LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH)) + +-# Add in platform specific optimizations for all opt levels +-CC_HIGHEST_OPT += $(_OPT_$(ARCH)) +-CC_HIGHER_OPT += $(_OPT_$(ARCH)) +-CC_LOWER_OPT += $(_OPT_$(ARCH)) +- +-# If NO_OPTIMIZATIONS is defined in the environment, turn all optimzations off +-ifdef NO_OPTIMIZATIONS +- CC_HIGHEST_OPT = $(CC_NO_OPT) +- CC_HIGHER_OPT = $(CC_NO_OPT) +- CC_LOWER_OPT = $(CC_NO_OPT) +-endif +- + # + # Selection of warning messages + # +@@ -163,19 +155,19 @@ + endif + endif + +-CFLAGS_OPT = $(POPT) ++CFLAGS_OPT = $(CC_OPT) + CFLAGS_DBG = $(DEBUG_FLAG) + CFLAGS_COMMON += $(CFLAGS_REQUIRED) + + CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS) +-CXXFLAGS_OPT = $(POPT) ++CXXFLAGS_OPT = $(CC_OPT) + CXXFLAGS_DBG = $(DEBUG_FLAG) + CXXFLAGS_COMMON += $(CFLAGS_REQUIRED) + + # FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java + ifeq ($(FASTDEBUG), true) +- CFLAGS_DBG += $(CC_LOWER_OPT) +- CXXFLAGS_DBG += $(CC_LOWER_OPT) ++ CFLAGS_DBG += $(CC_OPT/LOWER) ++ CXXFLAGS_DBG += $(CC_OPT/LOWER) + endif + + CPPFLAGS_COMMON = -D$(ARCH) -DARCH='"$(ARCH)"' -DLINUX $(VERSION_DEFINES) \ +@@ -187,6 +179,9 @@ From ptisnovs at icedtea.classpath.org Tue Sep 3 01:09:56 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 03 Sep 2013 08:09:56 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset 242771777388 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=242771777388 author: Pavel Tisnovsky date: Tue Sep 03 10:13:38 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite SimpleBindingsClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/SimpleBindingsClassTest.java | 198 ++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 0 deletions(-) diffs (221 lines): diff -r e5840a2853aa -r 242771777388 ChangeLog --- a/ChangeLog Mon Sep 02 11:55:15 2013 +0200 +++ b/ChangeLog Tue Sep 03 10:13:38 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-03 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite SimpleBindingsClassTest. + 2013-09-02 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r e5840a2853aa -r 242771777388 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Mon Sep 02 11:55:15 2013 +0200 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Tue Sep 03 10:13:38 2013 +0200 @@ -1288,6 +1288,204 @@ } /** + * Test for method javax.script.SimpleBindings.getClass().cast() + */ + protected void testCast() { + try { + this.simpleBindingsClass.cast(new javax.script.SimpleBindings()); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.simpleBindingsClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleBindings */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Tue Sep 3 04:09:57 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 03 Sep 2013 11:09:57 +0000 Subject: /hg/gfx-test: Another six new tests added into BitBltAffineIdent... Message-ID: changeset e28aa6bfbc2e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=e28aa6bfbc2e author: Pavel Tisnovsky date: Tue Sep 03 12:06:01 2013 +0200 Another six new tests added into BitBltAffineIdentityTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 96 +++++++++- 2 files changed, 95 insertions(+), 6 deletions(-) diffs (160 lines): diff -r c91a2ba5cd29 -r e28aa6bfbc2e ChangeLog --- a/ChangeLog Mon Sep 02 11:37:29 2013 +0200 +++ b/ChangeLog Tue Sep 03 12:06:01 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-03 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Another six new tests added into BitBltAffineIdentityTransformOp. + 2013-09-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r c91a2ba5cd29 -r e28aa6bfbc2e src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Mon Sep 02 11:37:29 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Sep 03 12:06:01 2013 +0200 @@ -268,7 +268,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -282,7 +282,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -296,7 +296,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -310,7 +310,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -324,7 +324,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -338,7 +338,7 @@ } /** - * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image * image used as a destination for BitBlt-type operations @@ -604,6 +604,90 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeCustomIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp6); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From jvanek at redhat.com Tue Sep 3 05:00:32 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Sep 2013 14:00:32 +0200 Subject: [icedtea-web] Regression after refactoring for XDG specification In-Reply-To: <201307301614.r6UGErq1009615@mail-web01.excite.co.jp> References: <201307301614.r6UGErq1009615@mail-web01.excite.co.jp> Message-ID: <5225CF60.7030902@redhat.com> On 07/30/2013 06:14 PM, Jacob Wisor wrote: > "Jiri Vanek" wrote: >> On 07/29/2013 03:00 PM, Jacob Wisor wrote: >>> "Jiri Vanek" wrote: >>>> On 07/27/2013 02:43 PM, Jiri Vanek wrote: >>>>> On 07/27/2013 01:49 AM, Jacob Wisor wrote: >>>>>> Hello, >>>>>> >>>>>> I get the following regression since the code has been refactored to conform to the XDG specification, at least on Windows, but it should apply to Un*x systems too. >>>>>> >>>>>> Exception occurred during event dispatching: >>>>>> java.lang.NullPointerException >>>>>> at net.sourceforge.jnlp.cache.CacheDirectory.getDirStructure(CacheDirect >>>>>> ory.java:56) >>>>>> at net.sourceforge.jnlp.controlpanel.CachePane.generateData(CachePane.ja >>>>>> va:360) >>>>>> at net.sourceforge.jnlp.controlpanel.CachePane.populateTable(CachePane.j >>>>>> ava:343) >>>>>> at net.sourceforge.jnlp.controlpanel.CachePane.access$500(CachePane.java >>>>>> :66) >>>>>> at net.sourceforge.jnlp.controlpanel.CachePane$8.run(CachePane.java:312) >>>>>> >>>>>> at java.awt.event.InvocationEvent.dispatch(Unknown Source) >>>>>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.EventQueue.access$400(Unknown Source) >>>>>> at java.awt.EventQueue$2.run(Unknown Source) >>>>>> at java.awt.EventQueue$2.run(Unknown Source) >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>>>> at java.awt.Dialog$1.run(Unknown Source) >>>>>> at java.awt.Dialog$3.run(Unknown Source) >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> at java.awt.Dialog.show(Unknown Source) >>>>>> at java.awt.Component.show(Unknown Source) >>>>>> at java.awt.Component.setVisible(Unknown Source) >>>>>> at java.awt.Window.setVisible(Unknown Source) >>>>>> at java.awt.Dialog.setVisible(Unknown Source) >>>>>> at net.sourceforge.jnlp.controlpanel.CacheViewer.showCacheDialog(CacheVi >>>>>> ewer.java:149) >>>>>> at net.sourceforge.jnlp.controlpanel.TemporaryInternetFilesPanel$4.actio >>>>>> nPerformed(TemporaryInternetFilesPanel.java:206) >>>>>> at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) >>>>>> at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) >>>>>> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) >>>>>> at javax.swing.DefaultButtonModel.setPressed(Unknown Source) >>>>>> at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour >>>>>> ce) >>>>>> at java.awt.Component.processMouseEvent(Unknown Source) >>>>>> at javax.swing.JComponent.processMouseEvent(Unknown Source) >>>>>> at java.awt.Component.processEvent(Unknown Source) >>>>>> at java.awt.Container.processEvent(Unknown Source) >>>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>>> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) >>>>>> at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) >>>>>> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) >>>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>>>> at java.awt.EventQueue.access$400(Unknown Source) >>>>>> at java.awt.EventQueue$2.run(Unknown Source) >>>>>> at java.awt.EventQueue$2.run(Unknown Source) >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>>>> >>>>>> The cause of this NullPointerException is a missing %USERPROFILE%.cacheicedtea-webcache or ~/.cache/icedtea-web/cache folder. There should be check for existance before trying to list files in this folder, if non-existent it should be created. Btw. since net.sourceforge.jnlp.cache.CacheDirectory.getDirStructure(DirectoryNode) is public, it should check the root parameter for null. >>>>>> I would have fixed this myself, but because I have not refactored the code to conform to the XDG specification, I did not want to touch it, while not knowing what to possibly touch as well and hence add perhaps even more damage. >>>>>> >>>>>> To reproduce: Delete %USERPROFILE%.cacheicedtea-webcache or ~/.cache/icedtea-web/cache and then open the cache viewer (perhaps refresh). >>>>> >>>>> Thenx for report. Gave sense. I think I will "force" the creation of ~/.cache/icedtea-web and ~/.config/icedtea-web at startup. >>>>> >>>> >>>> Ok. There was simple usecase when the directories were not esured. Fixed by this patch. >>>>> >>>>> J. >>> >>> It's almost working. Only %USERPROFILE%.cacheicedtea-web or ~/.cache/icedtea-web gets created. It is neccessary to create all parent folders too. Please note that currently IcedTea-Web's default cache folder is %USERPROFILE%.cacheicedtea-webcache ~/.cache/icedtea-web/cache. I do not know whether this is desired, since it is a kind of tautology. >>> The problem is that when NetX is run for the first time the default cache folder is already setup although it may not exist. It should get created either when setting up the cache folder on the cache tab is done or at least when the OK button is pressed, perhaps even earlier when the cache tab is selected so that opening the cache viewer does not break anything. >>> >>> + File f1 = new File(Defaults.USER_CONFIG_HOME); >>> + File f2 = new File(Defaults.USER_CACHE_HOME); >>> >>> Another nit: Please give those local variables some meaningful names like cacheDirectory and configDirectory for better readability. >> >> ook O:) >>> >>> Jacob >>> >> >> Looks like issue is a bit more widespread. What do you think now? > > Looks good. Just one other thing: > > + File f = new File(value); > + if (f.exists()) { > + if (JNLPRuntime.isDebug()) { > + System.out.println("OK: key " + key + " value: " + value + " exists"); > + } > + continue; > + } > + if (!f.mkdirs()) { > + if (JNLPRuntime.isDebug()) { > + System.out.println("ERROR: key " + key + " value: " + value + " not existed, and was NOT created"); > > This text should probably be written to stderr. > > + } > + } else { > + if (JNLPRuntime.isDebug()) { > + System.out.println("OK: key " + key + " value: " + value + " not existed, and was created"); > + } > + } > > If the folder is a file that already exists, the folder in which the folder is created is write protected or the current user has no permission to write to it, or the path is for some reason not available (e.g. failed network connectivity) this circumstance is not handled gracefully and the user is not notified that his/her configuration cannot be saved. All that a user will get is a possibly cryptic exception on stderr that some value or property cannot be saved when clicking OK. The exact same exception pops up when the .cache folder could not have been silently created and then the cache viewer is opend. This is similar to the backup problem. > Ok.Here it is. I think it is working pretty fine. The only thing I'm afraid is behaviour of some reproducers. But with some luck this check will remain silent (== passed) and so no dialogue will be raised - not even under most terrific testcases;) > This may seem as nit picking, but it actually adds greatly to the usability of the application in case of an error or unusual system configuration. > > Nevertheless, thank you for addressing this issue, so please keep up the good work. > > Regards, > Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: xdgForcingDirs3.patch Type: text/x-patch Size: 11170 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130903/93255ba4/xdgForcingDirs3.patch From jvanek at redhat.com Tue Sep 3 07:11:11 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Sep 2013 16:11:11 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <201308011514.r71FE1Mr024623@mail-web02.excite.co.jp> References: <201308011514.r71FE1Mr024623@mail-web02.excite.co.jp> Message-ID: <5225EDFF.8040707@redhat.com> On 08/01/2013 05:14 PM, Jacob Wisor wrote: > Hello, > > * Made temporary files location JFileChooser open at the currently specified location > * Made temporary files location JFileChooser display a helpful title > * Removed misleading "All Files" file filter from JFileChooser > * Added new message to resources for JFileChooser's choose button > * Fixed a few inconsistent messages in resource files Thank you, such an "make it looks better" contributions are more then welcomed! > > @Jiri > Please add a cs translation for the new "TIFPFileChooserChooseButton" message. It will be "Vybrat", but I prefer to sync the translations in longer time periods in bulk. > > Regards, > Jacob > > > Temporary files FileChooser cleanup.patch > > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > @@ -109,10 +109,12 @@ > bLocation.addActionListener(new ActionListener() { > @Override > public void actionPerformed(ActionEvent e) { > - JFileChooser fileChooser = new JFileChooser(); > + JFileChooser fileChooser = new JFileChooser(location.getText()); Tehre maybe should be some check if the location give sense. But The jefilechooser is probably handling this. > fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); > fileChooser.setFileHidingEnabled(false); > - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { > + fileChooser.setAcceptAllFileFilterUsed(false); Why this? Isn't selection restricted enough by JFileChooser.DIRECTORIES_ONLY ? > + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); > + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { > // Check if we have permission to write to that location. > String result = fileChooser.getSelectedFile().getAbsolutePath(); > File dirLocation = new File(result); > @@ -242,4 +244,4 @@ > > config.setProperty(properties[2], spCacheSize.getValue().toString()); > } > -} > +} > \ No newline at end of file > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > @@ -291,7 +292,7 @@ > CVUser=User > CVSystem=System > > -#KeyStores: see KeyStores.java > +# KeyStores: see KeyStores.java > KS=KeyStore > KSCerts=Trusted Certificates > KSJsseCerts=Trusted JSSE Certificates > @@ -461,6 +462,7 @@ > TIFPCacheSize=Set the amount of disk space for storing temporary files > TIFPDeleteFiles=Delete files > TIFPViewFiles=View files... > +TIFPFileChooserChooseButton=Choose It will be "Vybrat" > > # Control Panel - Cache Viewer > CVCPDialogTitle=Cache Viewer > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_cs.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > @@ -278,6 +278,7 @@ > CVUser=U\u017eivatel > CVSystem=Syst\u00e9m > > +# KeyStores: see KeyStores.java > KS=\u00dalo\u017ei\u0161t\u011b kl\u00ed\u010d\u016f > KSCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty > KSJsseCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty JSSE > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_de.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties > @@ -193,9 +194,10 @@ > BOAbout=Zeigt eine Beispielanwendung. > BONosecurity=Deaktiviert die sichere Laufzeitumgebung. > BONoupdate=Deaktiviert die Pr\u00fcfung nach Aktualisierungen. > -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberfl\u00e4chen. > +BOHeadless=Deaktiviert Herunterladefenster und andere\n Benutzeroberfl\u00e4chen. hmhmh, this.. "andere\n Benutzeroberfl" loong space is caused by reason? Was it intentional split by "\n" or unwilling action? I would rather prefer single lines, as it is already an custom in itw properties. > BOStrict=Aktiviert die strikte Pr\u00fcfung des JNLP-Dateiformats. > BOViewer=Zeigt die Ansicht der vertrauensw\u00fcrdigen Zertifikate. > +BOXml=Verwendet einen strikten XML-Parser f\u00fcr die JNLP-Datei. > BXnofork=Keine weitere JVM erstellen. > BXclearcache=Den JNLP-Anwendungszwischenspeicher s\u00e4ubern. > BXignoreheaders=Die Pr\u00fcfung der Metadaten von Jar-Dateien auslassen. > @@ -285,6 +287,7 @@ > CVUser=Benutzer > CVSystem=System > > +# KeyStores: see KeyStores.java > KS=Schl\u00fcsselspeicher > KSCerts=Vertrauensw\u00fcrdige Zertifikate > KSJsseCerts=Vertrauensw\u00fcrdige JSSE Zertifikate > @@ -454,6 +457,7 @@ > TIFPCacheSize=Menge des Plattenplatzes zur Speicherung tempor\u00e4rer Dateien > TIFPDeleteFiles=Dateien l\u00f6schen > TIFPViewFiles=Dateien anzeigen... > +TIFPFileChooserChooseButton=Ausw\u00e4hlen > > # Control Panel - Cache Viewer > CVCPDialogTitle=Zwischenspeicheranzeige > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_pl.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties > @@ -196,6 +197,7 @@ > BOHeadless=Wy\u0142\u0105cza okno pobierania i inne interfejsy graficzne > BOStrict=W\u0142\u0105cza \u015bcis\u0142e sprawdzanie format pliku JNLP > BOViewer=Pokazuje podgl\u0105d zaufanych certyfikat\u00f3w > +BOXml=Stosuje \u015bcis\u0142y analizator sk\u0142adniowy XML do analizy\n pliku JNLP > BXnofork=Nie tw\u00f3rz nast\u0119pnej JVM > BXclearcache=Wyczy\u015b\u0107 pami\u0119\u0107 podr\u0119czn\u0105 aplikacji JNLP > BXignoreheaders=Pomijaj weryfikacj\u0119 nag\u0142\u00f3wk\u00f3w plik\u00f3w jar > @@ -285,6 +287,7 @@ > CVUser=U\u017cytkownik > CVSystem=System > > +# KeyStores: see KeyStores.java > KS=Baza kluczy > KSCerts=Zaufane certyfikaty > KSJsseCerts=Zaufane certyfikaty JSSE > @@ -454,6 +457,7 @@ > TIFPCacheSize=Nastaw wielko\u015b\u0107 miejsca na dysku do sk\u0142adowania plik\u00f3w tymczasowych > TIFPDeleteFiles=Usu\u0144 pliki > TIFPViewFiles=Przegl\u0105daj pliki... > +TIFPFileChooserChooseButton=Wybierz > > # Control Panel - Cache Viewer > CVCPDialogTitle=Podgl\u0105d pami\u0119ci podr\u0119cznej Thank you very much to stitch with it and sorry for nits! J. From jvanek at redhat.com Tue Sep 3 07:33:12 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Sep 2013 16:33:12 +0200 Subject: [rfc][icedtea-web] Fix NPE on Applet launch due to missing AppletStub In-Reply-To: <52025B5E.7040704@redhat.com> References: <201308062112.r76LC1ae023806@mail-web01.excite.co.jp> <52025B5E.7040704@redhat.com> Message-ID: <5225F328.2030406@redhat.com> On 08/07/2013 04:36 PM, Adam Domurad wrote: > On 08/06/2013 05:12 PM, Jacob Wisor wrote: >> Hello there! >> >>> @@ -716,6 +717,7 @@ public class Launcher { >>> String appletName = file.getApplet().getMainClass(); >>> Class appletClass = loader.loadClass(appletName); >>> Applet applet = (Applet) appletClass.newInstance(); >>> + applet.setStub((AppletStub)cont); >> >> You may want to catch a possible SecurityException in case the AppletStub has already been set. Malicious code may attach to the JVM process executing the Launcher and try either to replace the AppletStub or render the Launcher effectively inoperable by intentionally causing an unhandled SecurityException every time a specific applet or any applet is run and hence terminate the attacked JVM. >> > > I don't think so. setAppletStub is a public final method that we can always make use of, since we will have necessary permissions here. > There is nothing malicious about trying to set your own AppletStub before we do. > > Regards, > -Adam > >> Regards, >> Jacob >> >>> // Finish setting up appletInstance. >>> appletInstance.setApplet(applet); >>> appletInstance.getAppletEnvironment().setApplet(applet); >> >> "Adam Domurad" wrote: >>> Hi all. There is a problem that sometimes a showStatus() on an applet >>> results in an NPE on applet load, due to a missing AppletStub. This >>> patch sets it to NetxPanel (the container) as soon as possible. >>> >>> This helps stabilize a test case I'm working on. >>> >>> Cheers, >>> -Adam > I'm o with it as it is. I'm not sure if Adam is able of push anymore, if not, I will push at the end of the week. J. From gitne at excite.co.jp Tue Sep 3 07:38:50 2013 From: gitne at excite.co.jp (=?ISO-2022-JP?B?SmFjb2IgV2lzb3I=?=) Date: Tue, 3 Sep 2013 23:38:50 +0900 Subject: =?ISO-2022-JP?B?UmU6IFtyZmNdW2ljZWR0ZWEtd2ViXSBUZW1wb3JhcnkgZmlsZXMgbG9jYXRpb24gY2hvb3NlciBjbGVhbnVw?= Message-ID: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> "Jiri Vanek" wrote: > On 08/01/2013 05:14 PM, Jacob Wisor wrote: > > Hello, > > > > * Made temporary files location JFileChooser open at the currently specified location > > * Made temporary files location JFileChooser display a helpful title > > * Removed misleading "All Files" file filter from JFileChooser > > * Added new message to resources for JFileChooser's choose button > > * Fixed a few inconsistent messages in resource files > > Thank you, such an "make it looks better" contributions are more then welcomed! > > > > @Jiri > > Please add a cs translation for the new "TIFPFileChooserChooseButton" message. > > It will be "Vybrat", but I prefer to sync the translations in longer time periods in bulk. I understand. Please see further down. > > > > > > Temporary files FileChooser cleanup.patch > > > > > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > > --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > > +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java > > @@ -109,10 +109,12 @@ > > bLocation.addActionListener(new ActionListener() { > > @Override > > public void actionPerformed(ActionEvent e) { > > - JFileChooser fileChooser = new JFileChooser(); > > + JFileChooser fileChooser = new JFileChooser(location.getText()); > > Tehre maybe should be some check if the location give sense. But The jefilechooser is probably handling this. This UI code should not check the location.getText()'s value. If anyone were to blame, it should be the job of the configuration loader/saver. And, as you have mentioned correctly JFileChooser will either not get constructed when its parameter value is not a correct path or it is going to be constructed with JFileChooser's default path (e.g. "My documents" on Windows or "~" on Un*x systems). > > > fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); > > fileChooser.setFileHidingEnabled(false); > > - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { > > + fileChooser.setAcceptAllFileFilterUsed(false); > > Why this? Isn't selection restricted enough by JFileChooser.DIRECTORIES_ONLY ? Because JFileChooser does not actually present a pure directory-chooser (like in Win32 API for example) when JFileChooser.DIRECTORIES_ONLY is set. The usual (swing) JFileChooser for files is being displayed. And, although AllFilesFilter does not present files even when selected it is simply misleading in this case. As always, the rule of thumb is to display as little UI elements as possible but enough as necessary only. > > + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); > > + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { > > // Check if we have permission to write to that location. > > String result = fileChooser.getSelectedFile().getAbsolutePath(); > > File dirLocation = new File(result); > > @@ -242,4 +244,4 @@ > > > > config.setProperty(properties[2], spCacheSize.getValue().toString()); > > } > > -} > > +} > > No newline at end of file > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages.properties > > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > > @@ -291,7 +292,7 @@ > > CVUser=User > > CVSystem=System > > > > -#KeyStores: see KeyStores.java > > +# KeyStores: see KeyStores.java > > KS=KeyStore > > KSCerts=Trusted Certificates > > KSJsseCerts=Trusted JSSE Certificates > > @@ -461,6 +462,7 @@ > > TIFPCacheSize=Set the amount of disk space for storing temporary files > > TIFPDeleteFiles=Delete files > > TIFPViewFiles=View files... > > +TIFPFileChooserChooseButton=Choose > > > It will be "Vybrat" Thank you, I am going to add this since it is no big issue. > > # Control Panel - Cache Viewer > > CVCPDialogTitle=Cache Viewer > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_cs.properties > > --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > > +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > > @@ -278,6 +278,7 @@ > > CVUser=Uu017eivatel > > CVSystem=Systu00e9m > > > > +# KeyStores: see KeyStores.java > > KS=u00dalou017eiu0161tu011b klu00edu010du016f > > KSCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty > > KSJsseCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty JSSE > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_de.properties > > --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties > > +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties > > @@ -193,9 +194,10 @@ > > BOAbout=Zeigt eine Beispielanwendung. > > BONosecurity=Deaktiviert die sichere Laufzeitumgebung. > > BONoupdate=Deaktiviert die Pru00fcfung nach Aktualisierungen. > > -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberflu00e4chen. > > +BOHeadless=Deaktiviert Herunterladefenster und anderen Benutzeroberflu00e4chen. > > > hmhmh, this.. "anderen Benutzeroberfl" loong space is caused by reason? Was it intentional split by "n" or unwilling action? > I would rather prefer single lines, as it is already an custom in itw properties. The reason for adding those spaces is because these messages are meant or supposed to be limited to 72 or 80 (don't recall the exact number while writing this email anymore) chars, but some do not fit this limit and have to be extended nicely. It simply looks cleaner when long messages are wrapped manually on that boundry instead of bluntly continuing without perhaps proper hyphenation. > > BOStrict=Aktiviert die strikte Pru00fcfung des JNLP-Dateiformats. > > BOViewer=Zeigt die Ansicht der vertrauenswu00fcrdigen Zertifikate. > > +BOXml=Verwendet einen strikten XML-Parser fu00fcr die JNLP-Datei. > > BXnofork=Keine weitere JVM erstellen. > > BXclearcache=Den JNLP-Anwendungszwischenspeicher su00e4ubern. > > BXignoreheaders=Die Pru00fcfung der Metadaten von Jar-Dateien auslassen. > > @@ -285,6 +287,7 @@ > > CVUser=Benutzer > > CVSystem=System > > > > +# KeyStores: see KeyStores.java > > KS=Schlu00fcsselspeicher > > KSCerts=Vertrauenswu00fcrdige Zertifikate > > KSJsseCerts=Vertrauenswu00fcrdige JSSE Zertifikate > > @@ -454,6 +457,7 @@ > > TIFPCacheSize=Menge des Plattenplatzes zur Speicherung temporu00e4rer Dateien > > TIFPDeleteFiles=Dateien lu00f6schen > > TIFPViewFiles=Dateien anzeigen... > > +TIFPFileChooserChooseButton=Auswu00e4hlen > > > > # Control Panel - Cache Viewer > > CVCPDialogTitle=Zwischenspeicheranzeige > > diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_pl.properties > > --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties > > +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties > > @@ -196,6 +197,7 @@ > > BOHeadless=Wyu0142u0105cza okno pobierania i inne interfejsy graficzne > > BOStrict=Wu0142u0105cza u015bcisu0142e sprawdzanie format pliku JNLP > > BOViewer=Pokazuje podglu0105d zaufanych certyfikatu00f3w > > +BOXml=Stosuje u015bcisu0142y analizator sku0142adniowy XML do analizyn pliku JNLP > > BXnofork=Nie twu00f3rz nastu0119pnej JVM > > BXclearcache=Wyczyu015bu0107 pamiu0119u0107 podru0119cznu0105 aplikacji JNLP > > BXignoreheaders=Pomijaj weryfikacju0119 nagu0142u00f3wku00f3w pliku00f3w jar > > @@ -285,6 +287,7 @@ > > CVUser=Uu017cytkownik > > CVSystem=System > > > > +# KeyStores: see KeyStores.java > > KS=Baza kluczy > > KSCerts=Zaufane certyfikaty > > KSJsseCerts=Zaufane certyfikaty JSSE > > @@ -454,6 +457,7 @@ > > TIFPCacheSize=Nastaw wielkou015bu0107 miejsca na dysku do sku0142adowania pliku00f3w tymczasowych > > TIFPDeleteFiles=Usuu0144 pliki > > TIFPViewFiles=Przeglu0105daj pliki... > > +TIFPFileChooserChooseButton=Wybierz > > > > # Control Panel - Cache Viewer > > CVCPDialogTitle=Podglu0105d pamiu0119ci podru0119cznej > > Thank you very much to stitch with it and sorry for nits! No problem and thank you for reviewing. After all, I will take this as a "yes to push". Regards, Jacob From jvanek at redhat.com Tue Sep 3 07:53:53 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Sep 2013 16:53:53 +0200 Subject: [rfc][icedtea-web] PR1271, Handle 'javascript:' urls, with tests In-Reply-To: <520153AC.1010000@redhat.com> References: <520153AC.1010000@redhat.com> Message-ID: <5225F801.4070001@redhat.com> Moreover ok, except one improvement. On 08/06/2013 09:51 PM, Adam Domurad wrote: > This fixes this bug http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1271 > > Note the test case sometimes fails if the fix from '[rfc][icedtea-web] Fix NPE on Applet launch due to missing AppletStub' is not applied. > > ChangeLog: > > 2013-XX-XX Adam Domurad > * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Evaluate > javascript when it shows up in a 'showDocument' call. > * plugin/icedteanp/java/sun/applet/PluginMain.java: Install arbitrary > 'javascript:' protocol handler. > * tests/rproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html: > Tests if javascript is run from a test applet using showDocument. > * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js: > Same. > * tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java: > Same. > * tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java: > Same. > > Cheers, > -Adam > > > JavascriptURLProtocol.patch > > > diff --git a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > @@ -115,6 +115,7 @@ import net.sourceforge.jnlp.security.app > import net.sourceforge.jnlp.splashscreen.SplashController; > import net.sourceforge.jnlp.splashscreen.SplashPanel; > import net.sourceforge.jnlp.splashscreen.SplashUtils; > +import netscape.javascript.JSObject; > import sun.awt.AppContext; > import sun.awt.SunToolkit; > import sun.awt.X11.XEmbeddedFrame; > @@ -903,18 +904,19 @@ public class PluginAppletViewer extends > return v.elements(); > } > > - /** > - * Ignore. > - */ > public void showDocument(URL url) { > PluginDebug.debug("Showing document..."); > showDocument(url, "_self"); > } > > - /** > - * Ignore. > - */ > public void showDocument(URL url, String target) { > + // If it is a javascript document, eval on current page. > + if ("javascript".equals(url.getProtocol())) { > + // Snip protocol off string > + String evalString = url.toString().substring("javascript:".length()); > + eval(getWindow(), evalString); > + return; > + } This seems to me a bit redundant. I would rather see this in handler. See below > try { > Long reference = getRequestIdentifier(); > write("reference " + reference + " LoadURL " + UrlUtil.encode(url.toString(), "UTF-8") + " " + target); > diff --git a/plugin/icedteanp/java/sun/applet/PluginMain.java b/plugin/icedteanp/java/sun/applet/PluginMain.java > --- a/plugin/icedteanp/java/sun/applet/PluginMain.java > +++ b/plugin/icedteanp/java/sun/applet/PluginMain.java > @@ -66,11 +66,15 @@ import java.io.File; > import java.io.FileInputStream; > import java.io.FileOutputStream; > import java.io.IOException; > +import java.lang.reflect.Field; > import java.net.Authenticator; > import java.net.CookieHandler; > import java.net.CookieManager; > import java.net.ProxySelector; > +import java.net.URL; > +import java.net.URLStreamHandler; > import java.util.Enumeration; > +import java.util.Hashtable; > import java.util.Properties; > import sun.awt.AppContext; > import sun.awt.SunToolkit; > @@ -91,6 +95,24 @@ public class PluginMain { > // on whether the property that uses it is necessary/standard. > private static final String theVersion = System.getProperty("java.version"); > > + /* Install a handler directly using reflection. This ensures that java doesn't error-out > + * when javascript is used in a URL. We can then handle these URLs correctly in eg PluginAppletViewer.showDocument(). > + */ > + static private void installDummyJavascriptProtocolHandler() { > + try { > + Field handlersField = URL.class.getDeclaredField("handlers"); > + handlersField.setAccessible(true); > + > + @SuppressWarnings("unchecked") > + Hashtable handlers = (Hashtable)handlersField.get(null); > + > + // Place an arbitrary handler, we only need the URL construction to not error-out > + handlers.put("javascript", new sun.net.www.protocol.http.Handler()); As we are installing handler here, maybe we can install not-so-dummy one, but extend sun.net.www.protocol.http.Handler to handle the String evalString = url.toString().substring("javascript:".length()); more "inside" But maybe it is not (easily) possible. > + } catch (Exception e) { > + PluginDebug.debug("Unable to install 'javascript:' URL protocol handler!"); > + } > + } > + > /** > * The main entry point into AppletViewer. > */ > @@ -99,6 +121,8 @@ public class PluginMain { > if (AppContext.getAppContext() == null) { > SunToolkit.createNewAppContext(); > } > + installDummyJavascriptProtocolHandler(); > + > if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) { > System.err.println("Invalid pipe names provided. Refusing to proceed."); > System.exit(1); > diff --git a/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html > @@ -0,0 +1,50 @@ > + > + > + > + > + + id = "applet" > + code = "JavascriptProtocol.class" > + archive = "JavascriptURLProtocol.jar"> > + > + > + > + > diff --git a/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js > @@ -0,0 +1,6 @@ > +var applet = document.getElementById('applet') > + > +function runSomeJS() { > + applet.print("Javascript URL string was evaluated.") > + applet.state = "HasRun"; > +} > diff --git a/tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java b/tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java > @@ -0,0 +1,22 @@ > +import java.applet.Applet; > +import java.net.URL; > +import netscape.javascript.JSObject; > + > +public class JavascriptProtocol extends Applet { > + public String state = "HasntRun"; > + @Override > + public void start() { > + try { > + getAppletContext().showDocument(new URL("javascript:runSomeJS()")); > + System.out.println("State after showDocument was " + state); > + } catch (Exception e) { > + e.printStackTrace(); > + } > + System.out.println("*** APPLET FINISHED ***"); > + } > + // Utility for JS side > + public void print(String s) { > + System.out.println(s); > + } > +} > + > diff --git a/tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java b/tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java > @@ -0,0 +1,78 @@ > +/* > +Copyright (C) 2012 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. > + */ > + > +import static org.junit.Assert.assertFalse; > +import static org.junit.Assert.assertTrue; > + > +import net.sourceforge.jnlp.ProcessResult; > +import net.sourceforge.jnlp.ServerAccess.AutoClose; > +import net.sourceforge.jnlp.annotations.Bug; > +import net.sourceforge.jnlp.annotations.NeedsDisplay; > +import net.sourceforge.jnlp.annotations.TestInBrowsers; > +import net.sourceforge.jnlp.browsertesting.BrowserTest; > +import net.sourceforge.jnlp.browsertesting.Browsers; > +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > + > +import org.junit.Test; > + > +public class JavascriptProtocolTest extends BrowserTest { > + > + private static final String END_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; > + > + private static void assertContains(String source, String message, String substring) { > + assertTrue(source + " should contain '" + substring + "' but did not!", > + message.contains(substring)); > + } > + private static void assertNotContains(String source, String message, String substring) { > + assertFalse(source + " should not contain '" + substring + "' but did!", > + message.contains(substring)); > + } > + > + @Test > + @TestInBrowsers(testIn = { Browsers.all }) > + @NeedsDisplay > + @Bug(id = { "PR1271" }) > + public void testJavascriptProtocolFollowed() throws Exception { > + ProcessResult pr = server.executeBrowser("/JavascriptProtocol.html", > + AutoClose.CLOSE_ON_BOTH); > + assertNotContains("stdout", pr.stdout, "HasntRun"); > + assertContains("stdout", pr.stdout, "Javascript URL string was evaluated."); > + assertContains("stdout", pr.stdout, "HasRun"); > + assertContains("stdout", pr.stdout, END_STRING); > + } > + > +} From jvanek at redhat.com Tue Sep 3 08:06:50 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Sep 2013 17:06:50 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> References: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> Message-ID: <5225FB0A.4080504@redhat.com> On 09/03/2013 04:38 PM, Jacob Wisor wrote: > "Jiri Vanek" wrote: >> On 08/01/2013 05:14 PM, Jacob Wisor wrote: >>> Hello, >>> >>> * Made temporary files location JFileChooser open at the currently specified location >>> * Made temporary files location JFileChooser display a helpful title >>> * Removed misleading "All Files" file filter from JFileChooser >>> * Added new message to resources for JFileChooser's choose button >>> * Fixed a few inconsistent messages in resource files >> >> Thank you, such an "make it looks better" contributions are more then welcomed! >>> >>> @Jiri >>> Please add a cs translation for the new "TIFPFileChooserChooseButton" message. >> >> It will be "Vybrat", but I prefer to sync the translations in longer time periods in bulk. > > I understand. Please see further down. > >>> >>> >>> Temporary files FileChooser cleanup.patch >>> >>> >>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>> --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>> +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>> @@ -109,10 +109,12 @@ >>> bLocation.addActionListener(new ActionListener() { >>> @Override >>> public void actionPerformed(ActionEvent e) { >>> - JFileChooser fileChooser = new JFileChooser(); >>> + JFileChooser fileChooser = new JFileChooser(location.getText()); >> >> Tehre maybe should be some check if the location give sense. But The jefilechooser is probably handling this. > > This UI code should not check the location.getText()'s value. If anyone were to blame, it should be the job of the configuration loader/saver. And, as you have mentioned correctly JFileChooser will either not get constructed when its parameter value is not a correct path or it is going to be constructed with JFileChooser's default path (e.g. "My documents" on Windows or "~" on Un*x systems). > >> >>> fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); >>> fileChooser.setFileHidingEnabled(false); >>> - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { >>> + fileChooser.setAcceptAllFileFilterUsed(false); >> >> Why this? Isn't selection restricted enough by JFileChooser.DIRECTORIES_ONLY ? > > Because JFileChooser does not actually present a pure directory-chooser (like in Win32 API for example) when JFileChooser.DIRECTORIES_ONLY is set. The usual (swing) JFileChooser for files is being displayed. And, although AllFilesFilter does not present files even when selected it is simply misleading in this case. As always, the rule of thumb is to display as little UI elements as possible but enough as necessary only. > >>> + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); >>> + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { >>> // Check if we have permission to write to that location. >>> String result = fileChooser.getSelectedFile().getAbsolutePath(); >>> File dirLocation = new File(result); >>> @@ -242,4 +244,4 @@ >>> >>> config.setProperty(properties[2], spCacheSize.getValue().toString()); >>> } >>> -} >>> +} >>> No newline at end of file >>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >>> @@ -291,7 +292,7 @@ >>> CVUser=User >>> CVSystem=System >>> >>> -#KeyStores: see KeyStores.java >>> +# KeyStores: see KeyStores.java >>> KS=KeyStore >>> KSCerts=Trusted Certificates >>> KSJsseCerts=Trusted JSSE Certificates >>> @@ -461,6 +462,7 @@ >>> TIFPCacheSize=Set the amount of disk space for storing temporary files >>> TIFPDeleteFiles=Delete files >>> TIFPViewFiles=View files... >>> +TIFPFileChooserChooseButton=Choose >> >> >> It will be "Vybrat" > > Thank you, I am going to add this since it is no big issue. > >>> # Control Panel - Cache Viewer >>> CVCPDialogTitle=Cache Viewer >>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>> @@ -278,6 +278,7 @@ >>> CVUser=Uu017eivatel >>> CVSystem=Systu00e9m >>> >>> +# KeyStores: see KeyStores.java >>> KS=u00dalou017eiu0161tu011b klu00edu010du016f >>> KSCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty >>> KSJsseCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty JSSE >>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_de.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>> @@ -193,9 +194,10 @@ >>> BOAbout=Zeigt eine Beispielanwendung. >>> BONosecurity=Deaktiviert die sichere Laufzeitumgebung. >>> BONoupdate=Deaktiviert die Pru00fcfung nach Aktualisierungen. >>> -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberflu00e4chen. >>> +BOHeadless=Deaktiviert Herunterladefenster und anderen Benutzeroberflu00e4chen. >> >> >> hmhmh, this.. "anderen Benutzeroberfl" loong space is caused by reason? Was it intentional split by "n" or unwilling action? >> I would rather prefer single lines, as it is already an custom in itw properties. > > The reason for adding those spaces is because these messages are meant or supposed to be limited to 72 or 80 (don't recall the exact number while writing this email anymore) chars, but some do not fit this limit and have to be extended nicely. It simply looks cleaner when long messages are wrapped manually on that boundry instead of bluntly continuing without perhaps proper hyphenation. > >>> BOStrict=Aktiviert die strikte Pru00fcfung des JNLP-Dateiformats. >>> BOViewer=Zeigt die Ansicht der vertrauenswu00fcrdigen Zertifikate. >>> +BOXml=Verwendet einen strikten XML-Parser fu00fcr die JNLP-Datei. >>> BXnofork=Keine weitere JVM erstellen. >>> BXclearcache=Den JNLP-Anwendungszwischenspeicher su00e4ubern. >>> BXignoreheaders=Die Pru00fcfung der Metadaten von Jar-Dateien auslassen. >>> @@ -285,6 +287,7 @@ >>> CVUser=Benutzer >>> CVSystem=System >>> >>> +# KeyStores: see KeyStores.java >>> KS=Schlu00fcsselspeicher >>> KSCerts=Vertrauenswu00fcrdige Zertifikate >>> KSJsseCerts=Vertrauenswu00fcrdige JSSE Zertifikate >>> @@ -454,6 +457,7 @@ >>> TIFPCacheSize=Menge des Plattenplatzes zur Speicherung temporu00e4rer Dateien >>> TIFPDeleteFiles=Dateien lu00f6schen >>> TIFPViewFiles=Dateien anzeigen... >>> +TIFPFileChooserChooseButton=Auswu00e4hlen >>> >>> # Control Panel - Cache Viewer >>> CVCPDialogTitle=Zwischenspeicheranzeige >>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>> @@ -196,6 +197,7 @@ >>> BOHeadless=Wyu0142u0105cza okno pobierania i inne interfejsy graficzne >>> BOStrict=Wu0142u0105cza u015bcisu0142e sprawdzanie format pliku JNLP >>> BOViewer=Pokazuje podglu0105d zaufanych certyfikatu00f3w >>> +BOXml=Stosuje u015bcisu0142y analizator sku0142adniowy XML do analizyn pliku JNLP >>> BXnofork=Nie twu00f3rz nastu0119pnej JVM >>> BXclearcache=Wyczyu015bu0107 pamiu0119u0107 podru0119cznu0105 aplikacji JNLP >>> BXignoreheaders=Pomijaj weryfikacju0119 nagu0142u00f3wku00f3w pliku00f3w jar >>> @@ -285,6 +287,7 @@ >>> CVUser=Uu017cytkownik >>> CVSystem=System >>> >>> +# KeyStores: see KeyStores.java >>> KS=Baza kluczy >>> KSCerts=Zaufane certyfikaty >>> KSJsseCerts=Zaufane certyfikaty JSSE >>> @@ -454,6 +457,7 @@ >>> TIFPCacheSize=Nastaw wielkou015bu0107 miejsca na dysku do sku0142adowania pliku00f3w tymczasowych >>> TIFPDeleteFiles=Usuu0144 pliki >>> TIFPViewFiles=Przeglu0105daj pliki... >>> +TIFPFileChooserChooseButton=Wybierz >>> >>> # Control Panel - Cache Viewer >>> CVCPDialogTitle=Podglu0105d pamiu0119ci podru0119cznej >> >> Thank you very much to stitch with it and sorry for nits! > > No problem and thank you for reviewing. After all, I will take this as a "yes to push". Please post final version of patch to this list. (with "Vvybrat") and with not-splitted lines. Unless you heavily insists. But I would rather stay with "as is properties style" Otherwise I'm happy with patch. J. From andrew at icedtea.classpath.org Tue Sep 3 16:13:37 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Sep 2013 23:13:37 +0000 Subject: /hg/release/icedtea6-1.11: 10 new changesets Message-ID: changeset 2ef554b75510 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=2ef554b75510 author: Andrew John Hughes date: Tue Sep 03 15:27:53 2013 +0100 Fix .hgignore not to hide patches and add missing ones. 2013-02-17 Andrew John Hughes * .hgignore: Fix so the cacao patches directory isn't hidden. changeset c8b86d52aabc in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=c8b86d52aabc author: Andrew John Hughes date: Tue Sep 03 15:52:04 2013 +0100 Add backport for HotSpot suggested by Xerxes. 2013-03-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch: Backport suggested by Xerxes for hs20. changeset ec88ef4eca25 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=ec88ef4eca25 author: Andrew John Hughes date: Tue Sep 03 17:10:47 2013 +0100 S7022999: Can't build with FORCE_TIERED=0. 2013-04-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * NEWS: Updated. * patches/hotspot/original/7022999-fastlocking_compiler1_only.patch: Backport fix to make Zero build work following 6840152. changeset 1efdc95c9ae0 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=1efdc95c9ae0 author: Xerxes Ranby date: Tue Sep 03 18:10:04 2013 +0100 PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. 2013-05-28 Xerxes Ranby PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S (POPF1): The POPF1 macro used wrong destination register r0 instead of r1 on ARM armel causing issues with the frem bytecode. The frem bytecode was the only bytecode using the defect macro. * NEWS: Updated. changeset c93101925a2e in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=c93101925a2e author: Andrew John Hughes date: Tue Sep 03 18:35:49 2013 +0100 Add dependencies of 8013196 and remove SharedSecrets fragment of 8013196 which causes a TCK regression. 2013-08-05 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patches. * patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch, * patches/openjdk/6636370-appcontext_simplification.patch, * patches/openjdk/7196533-timezone_bottleneck.patch: Backport additional patches which relate to changes in 8013196. * patches/openjdk/8013196-TimeZone_getDefault_throws_exception.patch: Drop SharedSecrets changes which cause a TCK regression. changeset 44c41a07b14d in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=44c41a07b14d author: Andrew John Hughes date: Tue Sep 03 18:37:53 2013 +0100 Fix naming of patch. 2013-08-06 Andrew John Hughes * 8013196-TimeZone_getDefault_throws_exception.patch: Renamed to... * 8013196-timezone_getdefault_throws_exception.patch: ...this. * Makefile.am: (ICEDTEA_PATCHES): Fix name of patch. changeset ab73a2646f3c in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=ab73a2646f3c author: Andrew John Hughes date: Tue Sep 03 18:39:49 2013 +0100 Fix TCK regression caused by backport of 7162902. 2013-08-28 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Fixes TCK regression caused by 7162902. changeset 3c193afea5f3 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=3c193afea5f3 author: Andrew John Hughes date: Tue Sep 03 18:43:01 2013 +0100 Add latest tzdata updates. 2013-08-29 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new timezone data patches. * patches/openjdk/8014469-tzdata2013c.patch, * patches/openjdk/8020054-tzdata2013d.patch: Latest tzdata updates. changeset 222321136c48 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=222321136c48 author: Andrew John Hughes date: Tue Sep 03 20:08:26 2013 +0100 Backport a number of JPEG fixes from 7u. S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 S6793818: JpegImageReader is too greedy creating color profiles S6888215: memory leak in jpeg plugin S6989760: cmm native compiler warnings S6989774: imageio compiler warnings in native code S7013519: [parfait] Integer overflows in 2D code S7018912: [parfait] potential buffer overruns in imageio jpeg S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances 2013-08-30 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patches. * NEWS: Updated with new patches. * patches/imageiojpeg_sync.patch: Bring in changes to imageioJPEG.c made between the start of OpenJDK 6 and the start of OpenJDK 7's hg repositories. * patches/libraries.patch: Updated against patches below. * patches/openjdk/4893408-jpegreader_byte_gray.patch, * patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch, * patches/openjdk/6791502-invalid_icc_profile.patch, * patches/openjdk/6793818-jpegimagereader_too_greedy.patch, * patches/openjdk/6888215-jpeg_memory_leak.patch, * patches/openjdk/6989760-native_warnings.patch, * patches/openjdk/6989774-imageio_compiler_warnings.patch, * patches/openjdk/7013519-integer_overflows.patch, * patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch, * patches/openjdk/8005194-scale_memory_leak.patch, * patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch: New backports from OpenJDK 7u. changeset 88ad9f715193 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=88ad9f715193 author: Andrew John Hughes date: Wed Sep 04 00:13:08 2013 +0100 Backport various Makefile changes so -Wno-clobbered is only used with GCC >= 4.3. S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build S7000225: Sanity check on sane-alsa-headers is broken S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber 2013-09-02 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backports. Move disable-cc-incompatible-sanity-checks and freetypeversion to the end. * patches/disable-cc-incompatible-sanity-checks.patch, * patches/freetypeversion.patch: Regenerated to work after new backports. * patches/openjdk/6563752-ss12_support.patch, * patches/openjdk/6729772-opt_cleanup.patch, * patches/openjdk/6799141-split_out_versions.patch, * patches/openjdk/6816311-compiler_name.patch, * patches/openjdk/6974017-minorver_for_solaris.patch, * patches/openjdk/6980281-majorver_for_solaris.patch, * patches/openjdk/7000225-bad_tabs.patch, * patches/openjdk/7038711-fix_no-clobber_usage.patch: Backports from OpenJDK 7 to bring in latest Makefile updates. * NEWS: Update and order backports numerically. diffstat: .hgignore | 7 +- ChangeLog | 110 + Makefile.am | 38 +- NEWS | 25 + arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 2 +- patches/disable-cc-incompatible-sanity-checks.patch | 54 +- patches/freetypeversion.patch | 23 +- patches/imageiojpeg_sync.patch | 217 ++ patches/libraries.patch | 176 +- patches/openjdk/4893408-jpegreader_byte_gray.patch | 747 ++++++++ patches/openjdk/6563752-ss12_support.patch | 173 + patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch | 562 ++++++ patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch | 24 + patches/openjdk/6636370-appcontext_simplification.patch | 178 + patches/openjdk/6729772-opt_cleanup.patch | 847 +++++++++ patches/openjdk/6791502-invalid_icc_profile.patch | 269 ++ patches/openjdk/6793818-jpegimagereader_too_greedy.patch | 228 ++ patches/openjdk/6799141-split_out_versions.patch | 915 ++++++++++ patches/openjdk/6816311-compiler_name.patch | 417 ++++ patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch | 32 + patches/openjdk/6888215-jpeg_memory_leak.patch | 56 + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 ++ patches/openjdk/6974017-minorver_for_solaris.patch | 24 + patches/openjdk/6980281-majorver_for_solaris.patch | 66 + patches/openjdk/6989760-native_warnings.patch | 42 + patches/openjdk/6989774-imageio_compiler_warnings.patch | 649 +++++++ patches/openjdk/7000225-bad_tabs.patch | 48 + patches/openjdk/7013519-integer_overflows.patch | 17 + patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch | 21 + patches/openjdk/7022999-fastlocking_compiler1_only.patch | 25 + patches/openjdk/7038711-fix_no-clobber_usage.patch | 125 + patches/openjdk/7196533-timezone_bottleneck.patch | 66 + patches/openjdk/8005194-scale_memory_leak.patch | 25 + patches/openjdk/8013196-TimeZone_getDefault_throws_exception.patch | 58 - patches/openjdk/8013196-timezone_getdefault_throws_exception.patch | 39 + patches/openjdk/8014469-tzdata2013c.patch | 276 +++ patches/openjdk/8020054-tzdata2013d.patch | 314 +++ patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch | 320 +++ 38 files changed, 7241 insertions(+), 208 deletions(-) diffs (truncated from 8181 to 500 lines): diff -r 898aa9174be7 -r 88ad9f715193 .hgignore --- a/.hgignore Wed Jul 10 21:24:54 2013 +0100 +++ b/.hgignore Wed Sep 04 00:13:08 2013 +0100 @@ -4,10 +4,6 @@ missing aclocal.m4 autom4te.cache -cacao -netbeans -visualvm -bootstrap build debian lib @@ -52,3 +48,6 @@ syntax: regexp ^openjdk +^cacao +^bootstrap +^jamvm diff -r 898aa9174be7 -r 88ad9f715193 ChangeLog --- a/ChangeLog Wed Jul 10 21:24:54 2013 +0100 +++ b/ChangeLog Wed Sep 04 00:13:08 2013 +0100 @@ -1,3 +1,113 @@ +2013-09-02 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backports. Move + disable-cc-incompatible-sanity-checks and freetypeversion + to the end. + * patches/disable-cc-incompatible-sanity-checks.patch, + * patches/freetypeversion.patch: + Regenerated to work after new backports. + * patches/openjdk/6563752-ss12_support.patch, + * patches/openjdk/6729772-opt_cleanup.patch, + * patches/openjdk/6799141-split_out_versions.patch, + * patches/openjdk/6816311-compiler_name.patch, + * patches/openjdk/6974017-minorver_for_solaris.patch, + * patches/openjdk/6980281-majorver_for_solaris.patch, + * patches/openjdk/7000225-bad_tabs.patch, + * patches/openjdk/7038711-fix_no-clobber_usage.patch: + Backports from OpenJDK 7 to bring in latest Makefile + updates. + * NEWS: Update and order backports numerically. + +2013-08-30 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patches. + * NEWS: Updated with new patches. + * patches/imageiojpeg_sync.patch: + Bring in changes to imageioJPEG.c made between + the start of OpenJDK 6 and the start of OpenJDK 7's + hg repositories. + * patches/libraries.patch: Updated against patches below. + * patches/openjdk/4893408-jpegreader_byte_gray.patch, + * patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch, + * patches/openjdk/6791502-invalid_icc_profile.patch, + * patches/openjdk/6793818-jpegimagereader_too_greedy.patch, + * patches/openjdk/6888215-jpeg_memory_leak.patch, + * patches/openjdk/6989760-native_warnings.patch, + * patches/openjdk/6989774-imageio_compiler_warnings.patch, + * patches/openjdk/7013519-integer_overflows.patch, + * patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch, + * patches/openjdk/8005194-scale_memory_leak.patch, + * patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch: + New backports from OpenJDK 7u. + +2013-08-29 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new timezone data patches. + * patches/openjdk/8014469-tzdata2013c.patch, + * patches/openjdk/8020054-tzdata2013d.patch: + Latest tzdata updates. + +2013-08-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backport. + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: + Fixes TCK regression caused by 7162902. + +2013-08-06 Andrew John Hughes + + * 8013196-TimeZone_getDefault_throws_exception.patch: + Renamed to... + * 8013196-timezone_getdefault_throws_exception.patch: + ...this. + * Makefile.am: + (ICEDTEA_PATCHES): Fix name of patch. + +2013-08-05 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patches. + * patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch, + * patches/openjdk/6636370-appcontext_simplification.patch, + * patches/openjdk/7196533-timezone_bottleneck.patch: + Backport additional patches which relate to changes in 8013196. + * patches/openjdk/8013196-TimeZone_getDefault_throws_exception.patch: + Drop SharedSecrets changes which cause a TCK regression. + +2013-05-28 Xerxes R??nby + + PR1188: ASM Interpreter and Thumb2 JIT javac miscompile + modulo reminder on armel. + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + (POPF1): The POPF1 macro used wrong destination register + r0 instead of r1 on ARM armel causing issues with the frem bytecode. + The frem bytecode was the only bytecode using the defect macro. + * NEWS: Updated. + +2013-04-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backport. + * NEWS: Updated. + * patches/hotspot/original/7022999-fastlocking_compiler1_only.patch: + Backport fix to make Zero build work following + 6840152. + +2013-03-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backport. + * patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch: + Backport suggested by Xerxes for hs20. + +2013-02-17 Andrew John Hughes + + * .hgignore: Fix so the cacao patches directory + isn't hidden. + 2013-07-10 Andrew John Hughes * configure.ac: Set to 1.11.13pre. diff -r 898aa9174be7 -r 88ad9f715193 Makefile.am --- a/Makefile.am Wed Jul 10 21:24:54 2013 +0100 +++ b/Makefile.am Wed Sep 04 00:13:08 2013 +0100 @@ -424,6 +424,16 @@ patches/openjdk/6693253-security_warning.patch \ patches/openjdk/6444769-windowwithwarningtest.patch \ patches/openjdk/6656651-windows_lcd_glyphs.patch \ + patches/openjdk/6791502-invalid_icc_profile.patch \ + patches/openjdk/6793818-jpegimagereader_too_greedy.patch \ + patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch \ + patches/openjdk/4893408-jpegreader_byte_gray.patch \ + patches/openjdk/6888215-jpeg_memory_leak.patch \ + patches/openjdk/6989774-imageio_compiler_warnings.patch \ + patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch \ + patches/openjdk/6989760-native_warnings.patch \ + patches/openjdk/7013519-integer_overflows.patch \ + patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch \ patches/notice-safepoints.patch \ patches/parisc-opt.patch \ patches/lucene-crash.patch \ @@ -441,7 +451,6 @@ patches/lcms.patch \ patches/print_lsb_release.patch \ patches/uname.patch \ - patches/freetypeversion.patch \ patches/nomotif-6706121.patch \ patches/nomotif.patch \ patches/nomotif-mtoolkit.patch \ @@ -468,7 +477,6 @@ patches/jtreg-jrunscript.patch \ patches/network-unreachable.patch \ patches/dnd-filelists.patch \ - patches/disable-cc-incompatible-sanity-checks.patch \ patches/explicit-target-arch.patch \ patches/openjdk/7019808-stack_noexec.patch \ patches/parisc.patch \ @@ -630,7 +638,7 @@ patches/openjdk/8012112-MlibOpsTest_fails.patch \ patches/openjdk/8012617-arrayindexoutofbounds_linebreakmeasurer.patch \ patches/openjdk/8012933-appcontext_disposed_too_early.patch \ - patches/openjdk/8013196-TimeZone_getDefault_throws_exception.patch \ + patches/openjdk/8013196-timezone_getdefault_throws_exception.patch \ patches/openjdk/8014427-raster_regression.patch \ patches/openjdk/8010727-empty_logger_name.patch \ patches/openjdk/8010939-logmanager_deadlock.patch \ @@ -651,8 +659,27 @@ patches/openjdk/7158483-tzdata2012c.patch \ patches/openjdk/7198570-tzdata2012f.patch \ patches/openjdk/8002225-tzdata2012i.patch \ - patches/openjdk/8009987-tzdata2013b.patch - + patches/openjdk/8009987-tzdata2013b.patch \ + patches/openjdk/8014469-tzdata2013c.patch \ + patches/openjdk/8020054-tzdata2013d.patch \ + patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch \ + patches/openjdk/7022999-fastlocking_compiler1_only.patch \ + patches/openjdk/7196533-timezone_bottleneck.patch \ + patches/openjdk/6636370-appcontext_simplification.patch \ + patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch \ + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ + patches/imageiojpeg_sync.patch \ + patches/openjdk/8005194-scale_memory_leak.patch \ + patches/openjdk/6563752-ss12_support.patch \ + patches/openjdk/6729772-opt_cleanup.patch \ + patches/openjdk/6799141-split_out_versions.patch \ + patches/freetypeversion.patch \ + patches/openjdk/6816311-compiler_name.patch \ + patches/openjdk/6974017-minorver_for_solaris.patch \ + patches/openjdk/6980281-majorver_for_solaris.patch \ + patches/openjdk/7000225-bad_tabs.patch \ + patches/openjdk/7038711-fix_no-clobber_usage.patch \ + patches/disable-cc-incompatible-sanity-checks.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -708,7 +735,6 @@ patches/ecj/spp.patch \ patches/ecj/jopt.patch \ patches/ecj/jaxp-dependency.patch \ - patches/ecj/bootver.patch \ patches/ecj/getannotation-cast.patch \ patches/ecj/override.patch \ patches/ecj/xsltproc.patch \ diff -r 898aa9174be7 -r 88ad9f715193 NEWS --- a/NEWS Wed Jul 10 21:24:54 2013 +0100 +++ b/NEWS Wed Sep 04 00:13:08 2013 +0100 @@ -13,6 +13,31 @@ New in release 1.11.13 (2013-XX-XX): +* Backports + - S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY + - S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) + - S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll + - S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 + - S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 + - S6793818: JpegImageReader is too greedy creating color profiles + - S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 + - S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 + - S6840152: JVM crashes when heavyweight monitors are used + - S6888215: memory leak in jpeg plugin + - S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) + - S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build + - S6989760: cmm native compiler warnings + - S6989774: imageio compiler warnings in native code + - S7000225: Sanity check on sane-alsa-headers is broken + - S7013519: [parfait] Integer overflows in 2D code + - S7018912: [parfait] potential buffer overruns in imageio jpeg + - S7022999: Can't build with FORCE_TIERED=0 + - S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances +* Bug fixes + - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. + New in release 1.11.12 (2013-07-10): * Security fixes diff -r 898aa9174be7 -r 88ad9f715193 arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- a/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Wed Jul 10 21:24:54 2013 +0100 +++ b/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S Wed Sep 04 00:13:08 2013 +0100 @@ -345,7 +345,7 @@ flds s1, [stack, #4] add stack, #4 #else - POP r0 + POP r1 #endif .endm diff -r 898aa9174be7 -r 88ad9f715193 patches/disable-cc-incompatible-sanity-checks.patch --- a/patches/disable-cc-incompatible-sanity-checks.patch Wed Jul 10 21:24:54 2013 +0100 +++ b/patches/disable-cc-incompatible-sanity-checks.patch Wed Sep 04 00:13:08 2013 +0100 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/jdk/make/common/Sanity.gmk openjdk/jdk/make/common/Sanity.gmk ---- openjdk.orig/jdk/make/common/Sanity.gmk 2009-10-01 18:31:50.000000000 +0100 -+++ openjdk/jdk/make/common/Sanity.gmk 2009-10-02 17:51:35.000000000 +0100 -@@ -92,8 +92,11 @@ +--- openjdk.orig/jdk/make/common/Sanity.gmk 2012-10-26 19:25:40.000000000 +0100 ++++ openjdk/jdk/make/common/Sanity.gmk 2013-09-02 17:26:52.257169562 +0100 +@@ -91,8 +91,11 @@ sane-ld_options \ sane-ld_run_path \ sane-alt_bootdir \ @@ -15,7 +15,7 @@ ifdef OPENJDK sanity-all:: sane-freetype -@@ -109,17 +112,21 @@ +@@ -108,17 +111,21 @@ # (Which only happens with a full control build. The control makefiles are # the files that set BUILD_MOTIF). # We cannot sanity check something that has not been built yet. @@ -42,64 +42,36 @@ # Always check hotspot binary paths even if we are building them from scratch diff -Nru openjdk.orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk ---- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2009-10-02 17:36:09.000000000 +0100 -+++ openjdk/jdk/make/common/shared/Sanity.gmk 2009-10-02 17:52:37.000000000 +0100 -@@ -75,9 +75,14 @@ - fi ) - endif - ifneq ($(ARCH), ia64) -- # dummy program that outputs ALSA's version (created in target sane-alsa-versioncheck) -- ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck -- ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi` -+ ifdef CROSS_COMPILATION -+ # assume alsa version is correct and do not check it -+ ALSA_VERSION = 1.0.0 -+ else -+ # dummy program that outputs ALSA's version (created in target sane-alsa-versioncheck) -+ ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck -+ ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi` -+ endif - endif - endif - -@@ -120,6 +125,15 @@ +--- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2013-09-02 17:03:28.039330395 +0100 ++++ openjdk/jdk/make/common/shared/Sanity.gmk 2013-09-02 17:32:35.854512833 +0100 +@@ -159,6 +159,11 @@ # Get ALL_SETTINGS defined include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk +ifndef CROSS_COMPILATION +MORE_PHONY_RULES = \ -+ sane-freetype \ -+ sane-cups \ -+ sane-motif \ -+ sane-alsa-versioncheck \ -+ sane-alsa-headers ++ sane-freetype +endif + .PHONY: \ sane-copyrightyear\ sane-settings \ -@@ -149,8 +163,6 @@ +@@ -187,8 +192,7 @@ sane-outputdir \ sane-alt_bootdir \ sane-bootdir \ - sane-motif \ - sane-cups \ ++ sane-cups \ sane-devtools_path \ sane-compiler_path \ sane-unixcommand_path \ -@@ -168,13 +180,11 @@ - sane-compiler \ - sane-link \ - sane-cacerts \ -- sane-alsa-versioncheck \ -- sane-alsa-headers \ - sane-ant_version \ +@@ -211,7 +215,7 @@ sane-zip_version \ sane-unzip_version \ -- sane-msvcrt_path \ + sane-msvcrt_path \ - sane-freetype -+ sane-msvcrt_path \ -+ $(MORE_PHONY_RULES) ++ $(MORE_PHONY_RULES) ###################################################### # check for COPYRIGHT_YEAR variable diff -r 898aa9174be7 -r 88ad9f715193 patches/freetypeversion.patch --- a/patches/freetypeversion.patch Wed Jul 10 21:24:54 2013 +0100 +++ b/patches/freetypeversion.patch Wed Sep 04 00:13:08 2013 +0100 @@ -1,11 +1,12 @@ ---- openjdk/jdk/make/common/shared/Platform.gmk.orig -+++ openjdk/jdk/make/common/shared/Platform.gmk -@@ -94,7 +94,7 @@ - REQUIRED_BOOT_VER = 1.5 - - # If we are using freetype, this is the required version --REQUIRED_FREETYPE_VERSION=2.3.0 -+REQUIRED_FREETYPE_VERSION=2.2.1 - - # - # Prune out all known SCM (Source Code Management) directories +diff -Nru openjdk.orig/jdk/make/common/shared/Defs-versions.gmk openjdk/jdk/make/common/shared/Defs-versions.gmk +--- openjdk.orig/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 15:32:33.490472903 +0100 ++++ openjdk/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 15:33:00.154887749 +0100 +@@ -176,7 +176,7 @@ + # Generic + REQUIRED_ANT_VER = 1.6.3 + REQUIRED_BOOT_VER = 1.5 +-REQUIRED_FREETYPE_VERSION = 2.3.0 ++REQUIRED_FREETYPE_VERSION = 2.2.1 + REQUIRED_MAKE_VER = 3.78 + REQUIRED_UNZIP_VER = 5.12 + REQUIRED_ZIP_VER = 2.2 diff -r 898aa9174be7 -r 88ad9f715193 patches/imageiojpeg_sync.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/imageiojpeg_sync.patch Wed Sep 04 00:13:08 2013 +0100 @@ -0,0 +1,217 @@ +diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c +--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2013-08-30 18:50:38.238272213 +0100 ++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2013-08-30 18:57:43.240892673 +0100 +@@ -447,9 +447,6 @@ + pixelBuffer pixelBuf; // Buffer for pixels + + jboolean abortFlag; // Passed down from Java abort method +- +- UINT8 scale[MAX_BANDS][NUM_INPUT_VALUES]; +- int bandSizes[MAX_BANDS]; // For scaling to-from non-8-bit images + } imageIOData, *imageIODataPtr; + + /* +@@ -487,12 +484,6 @@ + + data->abortFlag = JNI_FALSE; + +- for (i = 0; i < MAX_BANDS; i ++) { +- data->bandSizes[i] = 0; +- for (j = 0; j < NUM_INPUT_VALUES; j++) { +- data->scale[i][j] = 0; +- } +- } + return data; + } + +@@ -1978,34 +1969,6 @@ + + (*env)->ReleaseIntArrayElements(env, srcBands, body, JNI_ABORT); + +- bandSize = (*env)->GetIntArrayElements(env, bandSizes, NULL); +- +- for (i = 0; i < numBands; i++) { +- if (bandSize[i] != JPEG_BAND_SIZE) { +- mustScale = TRUE; +- break; +- } +- } +- +- if (mustScale) { +- // Build any scale tables that aren't already OK +- for (i = 0; i < numBands; i++) { +- if (data->bandSizes[i] != bandSize[i]) { +- data->bandSizes[i] = bandSize[i]; +- maxBandValue = (1 << bandSize[i]) - 1; +- halfMaxBandValue = maxBandValue >> 1; +- for (j = 0; j <= maxBandValue; j++) { +- data->scale[i][j] = +- (UINT8)((j*MAX_JPEG_BAND_VALUE +- + halfMaxBandValue)/maxBandValue); +- } +- } +- } +- } +- +- (*env)->ReleaseIntArrayElements(env, bandSizes, +- bandSize, JNI_ABORT); +- + #ifdef DEBUG_IIO_JPEG + printf("---- in reader.read ----\n"); + printf("numBands is %d\n", numBands); +@@ -2028,15 +1991,6 @@ + return data->abortFlag; // We already threw an out of memory exception + } + +- // Allocate a 1-scanline buffer +- if (cinfo->num_components <= 0 || +- cinfo->image_width > (UINT_MAX / (unsigned int)cinfo->num_components)) +- { +- RELEASE_ARRAYS(env, data, src->next_input_byte); +- JNU_ThrowByName(env, "javax/imageio/IIOException", +- "Invalid number of color components"); +- return data->abortFlag; +- } + /* Establish the setjmp return context for sun_jpeg_error_exit to use. */ + jerr = (sun_jpeg_error_ptr) cinfo->err; + +@@ -2154,15 +2108,8 @@ + + // Now mangle it into our buffer + out = data->pixelBuf.buf.bp; +- if (mustScale) { +- for (in = scanLinePtr+sourceXStart*cinfo->num_components; +- in < pixelLimit; +- in += pixelStride) { +- for (i = 0; i < numBands; i++) { +- *out++ = data->scale[i][*(in+bands[i])]; +- } +- } +- } else if (orderedBands && (pixelStride == numBands)) { ++ ++ if (orderedBands && (pixelStride == numBands)) { + // Optimization: The component bands are ordered sequentially, + // so we can simply use memcpy() to copy the intermediate + // scanline buffer into the raster. +@@ -2177,7 +2124,7 @@ + } else { + numBytes = numBands; + for (in = scanLinePtr+sourceXStart*cinfo->output_components; +- in < pixelLimit && ++ in < pixelLimit && + numBytes <= data->pixelBuf.byteBufferLength; + in += pixelStride) { + for (i = 0; i < numBands; i++) { From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:39:11 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:39:11 +0000 Subject: [Bug 1539] New: [METABUG] [IcedTea6] Support /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1539 Bug ID: 1539 Summary: [METABUG] [IcedTea6] Support /etc/os-release Classification: Unclassified Product: IcedTea Version: 6-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://www.freedesktop.org/software/systemd/man/os-release.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/d4c134a2/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:39:36 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:39:36 +0000 Subject: [Bug 1539] [METABUG] [IcedTea6] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1539 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1272 Target Milestone|--- |6-1.13.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/a1e99602/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:39:36 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:39:36 +0000 Subject: [Bug 1272] [TRACKER] IcedTea6 1.13 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1272 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1539 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/d5963c69/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:42:25 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:42:25 +0000 Subject: [Bug 1540] New: [IcedTea6] Font configuration should check /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1540 Bug ID: 1540 Summary: [IcedTea6] Font configuration should check /etc/os-release Classification: Unclassified Product: IcedTea Version: 6-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org setOsNameAndVersion in jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java checks various distro-dependent version files. It should check the new standard os-release first. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/a747ed3f/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:42:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:42:50 +0000 Subject: [Bug 1540] [IcedTea6] Font configuration should check /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1540 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1539 Target Milestone|--- |6-1.13.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/63e5d89a/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:42:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:42:50 +0000 Subject: [Bug 1539] [METABUG] [IcedTea6] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1539 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1540 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/1c7d8b49/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:45:19 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:45:19 +0000 Subject: [Bug 1541] New: [IcedTea6] Sanity check should read /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1541 Bug ID: 1541 Summary: [IcedTea6] Sanity check should read /etc/os-release Classification: Unclassified Product: IcedTea Version: 6-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org jdk/make/common/shared/Sanity.gmk should check /etc/os-release before distro-specific sources. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/374a65d9/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:45:43 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:45:43 +0000 Subject: [Bug 1541] [IcedTea6] Sanity check should read /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1541 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1539 Target Milestone|--- |6-1.13.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/24b6ab74/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:45:43 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:45:43 +0000 Subject: [Bug 1539] [METABUG] [IcedTea6] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1539 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1541 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/b6eeeea6/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:48:05 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:48:05 +0000 Subject: [Bug 1542] New: [IcedTea6] autoconf checks should use /etc/os-release in preference to lsb_release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1542 Bug ID: 1542 Summary: [IcedTea6] autoconf checks should use /etc/os-release in preference to lsb_release Classification: Unclassified Product: IcedTea Version: 6-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://0pointer.de/blog/projects/os-release -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/6119e0c9/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:48:24 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:48:24 +0000 Subject: [Bug 1542] [IcedTea6] autoconf checks should use /etc/os-release in preference to lsb_release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1542 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1539 Target Milestone|--- |6-1.13.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/c036b31c/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:48:24 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:48:24 +0000 Subject: [Bug 1539] [METABUG] [IcedTea6] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1539 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1542 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/0e1f591d/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:52:30 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:52:30 +0000 Subject: [Bug 1543] New: [METABUG] [IcedTea7] Support /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1543 Bug ID: 1543 Summary: [METABUG] [IcedTea7] Support /etc/os-release Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://www.freedesktop.org/software/systemd/man/os-release.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/ba1d389f/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:53:02 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:53:02 +0000 Subject: [Bug 1543] [METABUG] [IcedTea7] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1543 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/6e71ba8c/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:53:02 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:53:02 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1543 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/710a5c31/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:55:12 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:55:12 +0000 Subject: [Bug 1544] New: [IcedTea7] autoconf checks should use /etc/os-release in preference to lsb_release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1544 Bug ID: 1544 Summary: [IcedTea7] autoconf checks should use /etc/os-release in preference to lsb_release Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://0pointer.de/blog/projects/os-release -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/b2fa2f20/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:55:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:55:50 +0000 Subject: [Bug 1544] [IcedTea7] autoconf checks should use /etc/os-release in preference to lsb_release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1544 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1543 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/01683c81/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:55:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:55:50 +0000 Subject: [Bug 1543] [METABUG] [IcedTea7] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1543 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1544 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/d457d3c3/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:58:05 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:58:05 +0000 Subject: [Bug 1545] New: [IcedTea7] Font configuration should check /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1545 Bug ID: 1545 Summary: [IcedTea7] Font configuration should check /etc/os-release Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org setOsNameAndVersion in jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java and jdk/src/solaris/classes/sun/font/FcFontConfiguration.java checks various distro-dependent version files. It should check the new standard os-release first. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/d03123eb/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:58:25 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:58:25 +0000 Subject: [Bug 1545] [IcedTea7] Font configuration should check /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1545 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1543 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/eac96650/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:58:25 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:58:25 +0000 Subject: [Bug 1543] [METABUG] [IcedTea7] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1543 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1545 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/1163fdcb/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:59:05 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:59:05 +0000 Subject: [Bug 1546] New: [IcedTea7] Sanity check should read /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1546 Bug ID: 1546 Summary: [IcedTea7] Sanity check should read /etc/os-release Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org jdk/make/common/shared/Sanity.gmk should check /etc/os-release before distro-specific sources. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/caf12273/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:59:18 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:59:18 +0000 Subject: [Bug 1546] [IcedTea7] Sanity check should read /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1546 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1543 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/8ab6b81a/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 17:59:18 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 00:59:18 +0000 Subject: [Bug 1543] [METABUG] [IcedTea7] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1543 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1546 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/2b469ce1/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:19:49 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:19:49 +0000 Subject: [Bug 1547] New: [METABUG] [IcedTea8] Support /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1547 Bug ID: 1547 Summary: [METABUG] [IcedTea8] Support /etc/os-release Classification: Unclassified Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://www.freedesktop.org/software/systemd/man/os-release.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/c897df71/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:20:15 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:20:15 +0000 Subject: [Bug 1547] [METABUG] [IcedTea8] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1547 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Target Milestone|--- |3.0.0pre1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/49e55b99/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:20:15 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:20:15 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0pre1 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1547 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/922d0ba4/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:20:58 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:20:58 +0000 Subject: [Bug 1548] New: [IcedTea8] autoconf checks should use /etc/os-release in preference to lsb_release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1548 Bug ID: 1548 Summary: [IcedTea8] autoconf checks should use /etc/os-release in preference to lsb_release Classification: Unclassified Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://0pointer.de/blog/projects/os-release -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/ae54f30a/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:21:13 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:21:13 +0000 Subject: [Bug 1548] [IcedTea8] autoconf checks should use /etc/os-release in preference to lsb_release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1548 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1547 Target Milestone|--- |3.0.0pre1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/69dfeed4/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:21:13 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:21:13 +0000 Subject: [Bug 1547] [METABUG] [IcedTea8] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1547 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1548 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/7a865f8a/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:23:02 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:23:02 +0000 Subject: [Bug 1549] New: [IcedTea8] Font configuration should check /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1549 Bug ID: 1549 Summary: [IcedTea8] Font configuration should check /etc/os-release Classification: Unclassified Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org setOsNameAndVersion in jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java and jdk/src/solaris/classes/sun/font/FcFontConfiguration.java checks various distro-dependent version files. It should check the new standard os-release first. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/0a8286a2/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:23:23 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:23:23 +0000 Subject: [Bug 1549] [IcedTea8] Font configuration should check /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1549 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1547 Target Milestone|--- |3.0.0pre1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/5025c651/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:23:23 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:23:23 +0000 Subject: [Bug 1547] [METABUG] [IcedTea8] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1547 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1549 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/48cf9c18/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:23:48 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:23:48 +0000 Subject: [Bug 1550] New: [IcedTea8] Sanity check should read /etc/os-release Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1550 Bug ID: 1550 Summary: [IcedTea8] Sanity check should read /etc/os-release Classification: Unclassified Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org jdk/make/common/shared/Sanity.gmk should check /etc/os-release before distro-specific sources. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/2137f808/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:24:13 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:24:13 +0000 Subject: [Bug 1550] [IcedTea8] Sanity check should read /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1550 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1547 Target Milestone|--- |3.0.0pre1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/46346d57/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 3 18:24:13 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 01:24:13 +0000 Subject: [Bug 1547] [METABUG] [IcedTea8] Support /etc/os-release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1547 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1550 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/58d71266/attachment.html From jvanek at redhat.com Wed Sep 4 01:13:49 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Sep 2013 10:13:49 +0200 Subject: [rfc][icedtea-web] Fix NPE on Applet launch due to missing AppletStub In-Reply-To: <5225F328.2030406@redhat.com> References: <201308062112.r76LC1ae023806@mail-web01.excite.co.jp> <52025B5E.7040704@redhat.com> <5225F328.2030406@redhat.com> Message-ID: <5226EBBD.6000903@redhat.com> On 09/03/2013 04:33 PM, Jiri Vanek wrote: > On 08/07/2013 04:36 PM, Adam Domurad wrote: >> On 08/06/2013 05:12 PM, Jacob Wisor wrote: >>> Hello there! >>> >>>> @@ -716,6 +717,7 @@ public class Launcher { >>>> String appletName = file.getApplet().getMainClass(); >>>> Class appletClass = loader.loadClass(appletName); >>>> Applet applet = (Applet) appletClass.newInstance(); >>>> + applet.setStub((AppletStub)cont); >>> >>> You may want to catch a possible SecurityException in case the AppletStub has already been set. >>> Malicious code may attach to the JVM process executing the Launcher and try either to replace the >>> AppletStub or render the Launcher effectively inoperable by intentionally causing an unhandled >>> SecurityException every time a specific applet or any applet is run and hence terminate the >>> attacked JVM. >>> >> >> I don't think so. setAppletStub is a public final method that we can always make use of, since we >> will have necessary permissions here. >> There is nothing malicious about trying to set your own AppletStub before we do. >> >> Regards, >> -Adam >> >>> Regards, >>> Jacob >>> >>>> // Finish setting up appletInstance. >>>> appletInstance.setApplet(applet); >>>> appletInstance.getAppletEnvironment().setApplet(applet); >>> >>> "Adam Domurad" wrote: >>>> Hi all. There is a problem that sometimes a showStatus() on an applet >>>> results in an NPE on applet load, due to a missing AppletStub. This >>>> patch sets it to NetxPanel (the container) as soon as possible. >>>> >>>> This helps stabilize a test case I'm working on. >>>> >>>> Cheers, >>>> -Adam >> > > > I'm o with it as it is. I'm not sure if Adam is able of push anymore, if not, I will push at the > end of the week. Confirmed :( I'm going to push this.; From jvanek at icedtea.classpath.org Wed Sep 4 01:36:05 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 04 Sep 2013 08:36:05 +0000 Subject: /hg/icedtea-web: netx/net/sourceforge/jnlp/Launcher.java - Fix a... Message-ID: changeset 1ecf2f7928ac in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1ecf2f7928ac author: Jiri Vanek date: Wed Sep 04 10:35:39 2013 +0200 netx/net/sourceforge/jnlp/Launcher.java - Fix applet context being null during applet init & start, by Adam Domurad diffstat: ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/Launcher.java | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (31 lines): diff -r 79bdc074df81 -r 1ecf2f7928ac ChangeLog --- a/ChangeLog Fri Aug 30 11:02:08 2013 -0400 +++ b/ChangeLog Wed Sep 04 10:35:39 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-04 Adam Domurad + + * netx/net/sourceforge/jnlp/Launcher.java: + Fix applet context being null during applet init & start. + 2013-08-29 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java diff -r 79bdc074df81 -r 1ecf2f7928ac netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Fri Aug 30 11:02:08 2013 -0400 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 04 10:35:39 2013 +0200 @@ -19,6 +19,7 @@ import static net.sourceforge.jnlp.runtime.Translator.R; import java.applet.Applet; +import java.applet.AppletStub; import java.awt.Container; import java.awt.SplashScreen; import java.io.File; @@ -716,6 +717,7 @@ String appletName = file.getApplet().getMainClass(); Class appletClass = loader.loadClass(appletName); Applet applet = (Applet) appletClass.newInstance(); + applet.setStub((AppletStub)cont); // Finish setting up appletInstance. appletInstance.setApplet(applet); appletInstance.getAppletEnvironment().setApplet(applet); From ptisnovs at icedtea.classpath.org Wed Sep 4 02:47:38 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 04 Sep 2013 09:47:38 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset 8f9079b8db87 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=8f9079b8db87 author: Pavel Tisnovsky date: Wed Sep 04 11:51:21 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite BindingsClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/BindingsClassTest.java | 190 ++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) diffs (213 lines): diff -r 242771777388 -r 8f9079b8db87 ChangeLog --- a/ChangeLog Tue Sep 03 10:13:38 2013 +0200 +++ b/ChangeLog Wed Sep 04 11:51:21 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-04 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite BindingsClassTest. + 2013-09-03 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r 242771777388 -r 8f9079b8db87 src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Tue Sep 03 10:13:38 2013 +0200 +++ b/src/org/RhinoTests/BindingsClassTest.java Wed Sep 04 11:51:21 2013 +0200 @@ -1303,6 +1303,196 @@ } /** + * Test for method javax.script.Bindings.getClass().cast() + */ + protected void testCast() { + try { + this.bindingsClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Bindings */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Wed Sep 4 02:49:47 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 04 Sep 2013 09:49:47 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltBasicTests test suite. Message-ID: changeset 3939316ef6dd in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=3939316ef6dd author: Pavel Tisnovsky date: Wed Sep 04 11:53:33 2013 +0200 Ten new tests added into BitBltBasicTests test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 150 +++++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r e28aa6bfbc2e -r 3939316ef6dd ChangeLog --- a/ChangeLog Tue Sep 03 12:06:01 2013 +0200 +++ b/ChangeLog Wed Sep 04 11:53:33 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-04 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Ten new tests added into BitBltBasicTests test suite. + 2013-09-03 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r e28aa6bfbc2e -r 3939316ef6dd src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Tue Sep 03 12:06:01 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Wed Sep 04 11:53:33 2013 +0200 @@ -5672,6 +5672,156 @@ } /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture2BufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture2Image(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** * Entry point to the test suite. * * @param args not used in this case From gnu.andrew at redhat.com Wed Sep 4 04:45:40 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 4 Sep 2013 07:45:40 -0400 (EDT) Subject: [rfc][icedtea7] Handle alternative Kerberos credential cache locations In-Reply-To: <520AAE1F.5000601@redhat.com> References: <520AAE1F.5000601@redhat.com> Message-ID: <1290038735.6807328.1378295140428.JavaMail.root@redhat.com> ----- Original Message ----- > Hi, > > Kerberos 1.11 introduced a new configuration variable to override the > default location of the credential cache at build time. Fedora 18 and up > have used this new configuration variable to define an alternate default > cache location (/run/user/$UID/krb5cc/tkt). This bug was initially > reported against Fedora [1]. > > On Linux and Solaris systems, FileCredentialsCache.getDefaultCacheName() > defaults to the previously hard-coded location (/tmp/krb5cc_$UID). This > location will be incorrect if Kerberos was built with an alternative > credential cache location set. Since this credential cache location can > be arbitrary, we need to query the Kerberos API for the correct > location. This patch implements this query using a new JNI call, which > adds a dependency on libkrb5 for Linux and Solaris systems. > > This patch was prepared against icedtea7-forest/jdk, changeset afaedb56b499. > > 2013-08-12 Elliott Baron > * make/sun/security/Makefile: Build krb5/internal/ccache on Linux > and Solaris. > * > src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java: > Replace > hard-coded cache location with native call to Kerberos API. > * make/sun/security/krb5/internal/ccache/Makefile: New file; builds > JNI wrapper for > needed Kerberos API. > * > src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c: New > file; JNI function > to query default cache location from Kerberos API. > > Thanks, > Elliott > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=991170 > > I had to make some further changes. I didn't realise that it was introducing a new library dependency and, indeed, hardcoding -lkrb5. I'd assumed that was already present. http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/fd4289593675 -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From aazores at redhat.com Wed Sep 4 07:40:51 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 04 Sep 2013 10:40:51 -0400 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <522458C7.3070505@redhat.com> References: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> <522458C7.3070505@redhat.com> Message-ID: <52274673.3000107@redhat.com> On 09/02/2013 05:22 AM, Jiri Vanek wrote: > Nope, rather make it public. Anyaway, as others suggested, Can you > tray to use DeploymentConfiguration singleton to get real location of > cache. If you think it is good idea, then go with it. I've just gone and put it back to using the value out of the Defaults class. Maybe the DeploymentConfiguration idea can be put into a different test, but for now I'll just leave it with the "safe" Defaults value. Also fixed some indentation and changed ServerAccess.ProcessResult to the non-deprecated ProcessResult - figured I might as well clear out the deprecation warnings while I was tinkering in there. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: CacheReproducerTest.patch Type: text/x-patch Size: 8791 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/1aa5ce3a/CacheReproducerTest.patch From jvanek at redhat.com Wed Sep 4 07:49:18 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Sep 2013 16:49:18 +0200 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <52274673.3000107@redhat.com> References: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> <522458C7.3070505@redhat.com> <52274673.3000107@redhat.com> Message-ID: <5227486E.9030109@redhat.com> On 09/04/2013 04:40 PM, Andrew Azores wrote: > On 09/02/2013 05:22 AM, Jiri Vanek wrote: >> >Nope, rather make it public. Anyaway, as others suggested, Can you >> >tray to use DeploymentConfiguration singleton to get real location of >> >cache. If you think it is good idea, then go with it. > I've just gone and put it back to using the value out of the Defaults > class. Maybe the DeploymentConfiguration idea can be put into a > different test, but for now I'll just leave it with the "safe" Defaults Why so? > value. Also fixed some indentation and changed > ServerAccess.ProcessResult to the non-deprecated ProcessResult - figured > I might as well clear out the deprecation warnings while I was tinkering Sure :) > in there. > > Thanks, > > -- Andrew A > > > CacheReproducerTest.patch > > ... > } > @@ -269,7 +271,7 @@ > t.start(); > Thread.sleep(1000); > pr = tryToClearcache(); > - String q = "Can not clear cache at this time"; > + String q = "Can not clear the cache at this time"; To aovid this in future I would suggest to load properties file and search by key. (yes you can directly load messages.properties to local Properties variable) You can find inspiration in Localisation tests. ...snip... Otehrwise looks good. From aazores at redhat.com Wed Sep 4 07:58:47 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 04 Sep 2013 10:58:47 -0400 Subject: [rfc][icedtea-web] Very small SecurityDialog refactor In-Reply-To: <521F26AB.5030800@redhat.com> References: <521BB140.80203@redhat.com> <521F26AB.5030800@redhat.com> Message-ID: <52274AA7.9000100@redhat.com> On 08/29/2013 06:47 AM, Jiri Vanek wrote: > On 08/26/2013 09:49 PM, Andrew Azores wrote: >> Changelog: >> * /netx/net/sourceforge/jnlp/security/SecurityDialogs.java: >> refactored return statements following >> getUserResponse(message) calls >> >> Not much to explain here really. Some of the if-else going on was a >> bit unnecessary since the return >> value is boolean as well, and checking if the reference is null >> before using the instanceof operator >> is also not needed as "null instanceof Foo" is defined as false anyway. >> >> Thanks, >> > hmhmh. You have compressed three blocks of copy pasted code into three > small blocks of copy pasted code :) > > I would like to move the verbose/compressed code to separate method > like getIntegerResponseAsBoolean (with javadoc in case of compressed > one - for us dummies from east ;), and with unittest ) and then use > this method. As I'm looking into code around, more such an copypasted > code is spread here... > The last hunk looks less readable after the change, but as you wish. > > Otherwise nice cleanup. > > J. Alright, made that new method along with tests, and de-compressed the code a little bit. Maybe it's a little more readable/obvious now than it was as my one-liner :) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: SecurityDialog_refactor.patch Type: text/x-patch Size: 7101 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/8eec7f7e/SecurityDialog_refactor.patch From jvanek at redhat.com Wed Sep 4 08:11:09 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Sep 2013 17:11:09 +0200 Subject: [rfc][icedtea-web] Very small SecurityDialog refactor In-Reply-To: <52274AA7.9000100@redhat.com> References: <521BB140.80203@redhat.com> <521F26AB.5030800@redhat.com> <52274AA7.9000100@redhat.com> Message-ID: <52274D8D.5070805@redhat.com> On 09/04/2013 04:58 PM, Andrew Azores wrote: > On 08/29/2013 06:47 AM, Jiri Vanek wrote: >> On 08/26/2013 09:49 PM, Andrew Azores wrote: >>> Changelog: >>> * /netx/net/sourceforge/jnlp/security/SecurityDialogs.java: refactored return statements following >>> getUserResponse(message) calls >>> >>> Not much to explain here really. Some of the if-else going on was a bit unnecessary since the return >>> value is boolean as well, and checking if the reference is null before using the instanceof operator >>> is also not needed as "null instanceof Foo" is defined as false anyway. >>> >>> Thanks, >>> >> hmhmh. You have compressed three blocks of copy pasted code into three small blocks of copy pasted >> code :) >> >> I would like to move the verbose/compressed code to separate method like >> getIntegerResponseAsBoolean (with javadoc in case of compressed one - for us dummies from east ;), >> and with unittest ) and then use this method. As I'm looking into code around, more such an >> copypasted code is spread here... >> The last hunk looks less readable after the change, but as you wish. >> >> Otherwise nice cleanup. >> >> J. > > Alright, made that new method along with tests, and de-compressed the code a little bit. Maybe it's > a little more readable/obvious now than it was as my one-liner :) > Thank you. Ok for head. From aazores at redhat.com Wed Sep 4 09:15:05 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 04 Sep 2013 12:15:05 -0400 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <5227486E.9030109@redhat.com> References: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> <522458C7.3070505@redhat.com> <52274673.3000107@redhat.com> <5227486E.9030109@redhat.com> Message-ID: <52275C89.400@redhat.com> On 09/04/2013 10:49 AM, Jiri Vanek wrote: > On 09/04/2013 04:40 PM, Andrew Azores wrote: >> On 09/02/2013 05:22 AM, Jiri Vanek wrote: >>>> Nope, rather make it public. Anyaway, as others suggested, Can you >>>> tray to use DeploymentConfiguration singleton to get real location of >>>> cache. If you think it is good idea, then go with it. >> I've just gone and put it back to using the value out of the Defaults >> class. Maybe the DeploymentConfiguration idea can be put into a >> different test, but for now I'll just leave it with the "safe" Defaults > Why so? That way these existing tests should be testing whether or not the caching mechanism in general is working properly, since the path specified in Defaults is very likely to be a workable cache location (read/write allowed for example). I'd like there to be a test using the DeploymentConfiguration values just to ensure that caching truly is working on a system, not just "in theory", but the more I think about it the more it seems like this is an additional responsibility that this test shouldn't necessarily be taking on. > > >> value. Also fixed some indentation and changed >> ServerAccess.ProcessResult to the non-deprecated ProcessResult - figured >> I might as well clear out the deprecation warnings while I was tinkering > Sure :) > >> in there. >> >> Thanks, >> >> -- Andrew A >> >> >> CacheReproducerTest.patch >> >> > ... >> } >> @@ -269,7 +271,7 @@ >> t.start(); >> Thread.sleep(1000); >> pr = tryToClearcache(); >> - String q = "Can not clear cache at this time"; >> + String q = "Can not clear the cache at this time"; > To aovid this in future I would suggest to load properties file and search by key. (yes you can > directly load messages.properties to local Properties variable) You can find inspiration in > Localisation tests. > > ...snip... > > > Otehrwise looks good. > Ah yes, of course. Thanks, added that. -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: CacheReproducerTest.patch Type: text/x-patch Size: 9562 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/64bf16c4/CacheReproducerTest.patch From jvanek at redhat.com Wed Sep 4 09:21:48 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Sep 2013 18:21:48 +0200 Subject: [rfc][icedtea-web] Fix CacheReproducerTest In-Reply-To: <52275C89.400@redhat.com> References: <201308301106.r7UB6LlE032185@mail-web03.excite.co.jp> <522458C7.3070505@redhat.com> <52274673.3000107@redhat.com> <5227486E.9030109@redhat.com> <52275C89.400@redhat.com> Message-ID: <52275E1C.8030903@redhat.com> On 09/04/2013 06:15 PM, Andrew Azores wrote: > On 09/04/2013 10:49 AM, Jiri Vanek wrote: >> On 09/04/2013 04:40 PM, Andrew Azores wrote: >>> On 09/02/2013 05:22 AM, Jiri Vanek wrote: >>>>> Nope, rather make it public. Anyaway, as others suggested, Can you >>>>> tray to use DeploymentConfiguration singleton to get real location of >>>>> cache. If you think it is good idea, then go with it. >>> I've just gone and put it back to using the value out of the Defaults >>> class. Maybe the DeploymentConfiguration idea can be put into a >>> different test, but for now I'll just leave it with the "safe" Defaults >> Why so? > > That way these existing tests should be testing whether or not the > caching mechanism in general is working properly, since the path > specified in Defaults is very likely to be a workable cache location > (read/write allowed for example). I'd like there to be a test using the > DeploymentConfiguration values just to ensure that caching truly is > working on a system, not just "in theory", but the more I think about it > the more it seems like this is an additional responsibility that this > test shouldn't necessarily be taking on. > More and more I think about it I think the usage of DeploymentConfiguration is the right way even there. But nvm, ok for head. Also I would place the + String messageResourcePath = "net/sourceforge/jnlp/resources/Messages.properties"; + PropertyResourceBundle messageBundle = new PropertyResourceBundle(this.getClass().getClassLoader().getResourceAsStream(messageResourcePath)); as public static (final) (at lease the messageResourcePath made no harm) and messageBundle would be loaded in constructor or in static{} block. But do as you wish. For this test case I do not insist. J. >> >> >>> value. Also fixed some indentation and changed >>> ServerAccess.ProcessResult to the non-deprecated ProcessResult - figured >>> I might as well clear out the deprecation warnings while I was tinkering >> Sure :) >> >>> in there. >>> >>> Thanks, >>> >>> -- Andrew A >>> >>> >>> CacheReproducerTest.patch >>> >>> >> ... >>> } >>> @@ -269,7 +271,7 @@ >>> t.start(); >>> Thread.sleep(1000); >>> pr = tryToClearcache(); >>> - String q = "Can not clear cache at this time"; >>> + String q = "Can not clear the cache at this time"; >> To aovid this in future I would suggest to load properties file and search by key. (yes you can >> directly load messages.properties to local Properties variable) You can find inspiration in >> Localisation tests. >> >> ...snip... >> >> >> Otehrwise looks good. >> > > Ah yes, of course. Thanks, added that. > From aazores at icedtea.classpath.org Wed Sep 4 09:22:28 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:22:28 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset d5eab1484308 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d5eab1484308 author: Andrew Azores date: Wed Sep 04 12:18:40 2013 -0400 Extracted integer response casting/handling logic in SecurityDialogs to new method, added test for this method changeset 6c0e37585a5e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6c0e37585a5e author: Andrew Azores date: Wed Sep 04 12:22:16 2013 -0400 merging diffstat: ChangeLog | 41 + netx/net/sourceforge/jnlp/Launcher.java | 2 + netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 61 +- netx/net/sourceforge/jnlp/services/XFileOpenService.java | 11 +- plugin/icedteanp/IcedTeaNPPlugin.cc | 36 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 134 ++++- plugin/icedteanp/IcedTeaPluginUtils.h | 67 ++- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 220 +++++++-- plugin/icedteanp/IcedTeaScriptablePluginObject.h | 28 +- tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc | 15 +- tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java | 60 ++ tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java | 70 +++ 12 files changed, 542 insertions(+), 203 deletions(-) diffs (truncated from 1174 to 500 lines): diff -r 94ebabfba6ab -r 6c0e37585a5e ChangeLog --- a/ChangeLog Fri Aug 23 16:35:37 2013 -0400 +++ b/ChangeLog Wed Sep 04 12:22:16 2013 -0400 @@ -1,3 +1,44 @@ +2013-09-04 Andrew Azores + + * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: + (getIntegerResponseAsBoolean) extracted integer response casting/handling + logic into new method + * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: + new unit test for SecurityDialogs#getIntegerReponseAsBoolean() + +2013-09-04 Adam Domurad + + * netx/net/sourceforge/jnlp/Launcher.java: + Fix applet context being null during applet init & start. + +2013-08-29 Omair Majid + + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java + (testPropertyRestrictions): New method. Check that properties in + resources are are combined and filtered as appropriate. + +2013-08-29 Omair Majid + + PR1058 + * netx/net/sourceforge/jnlp/services/XFileOpenService.java + (openMultiFileDialog): Create a privileged proxy for each FileContents + instance and return an array of them. + +2013-08-27 Adam Domurad + + Do not wait for applet initialization when binding Java applets for NPAPI. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Refactor to use + lazy-initialized javascript applet binding. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Make use of new helper + class, introduce (stringPrintf), introduce NPObjectRef. + * plugin/icedteanp/IcedTeaPluginUtils.h: Same. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Allow + IcedTeaScriptableJavaObject to be lazy-initialized, introduce + lazy-initializing (get_scriptable_applet_object). + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. + * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Adapt + test to new helper class. + 2013-08-23 Adam Domurad Spawn Java side during C++ unit tests. Many new tests. diff -r 94ebabfba6ab -r 6c0e37585a5e netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Fri Aug 23 16:35:37 2013 -0400 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 04 12:22:16 2013 -0400 @@ -19,6 +19,7 @@ import static net.sourceforge.jnlp.runtime.Translator.R; import java.applet.Applet; +import java.applet.AppletStub; import java.awt.Container; import java.awt.SplashScreen; import java.io.File; @@ -716,6 +717,7 @@ String appletName = file.getApplet().getMainClass(); Class appletClass = loader.loadClass(appletName); Applet applet = (Applet) appletClass.newInstance(); + applet.setStub((AppletStub)cont); // Finish setting up appletInstance. appletInstance.setApplet(applet); appletInstance.getAppletEnvironment().setApplet(applet); diff -r 94ebabfba6ab -r 6c0e37585a5e netx/net/sourceforge/jnlp/security/SecurityDialogs.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Fri Aug 23 16:35:37 2013 -0400 +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Wed Sep 04 12:22:16 2013 -0400 @@ -132,16 +132,7 @@ Object selectedValue = getUserResponse(message); - if (selectedValue == null) { - return false; - } else if (selectedValue instanceof Integer) { - if (((Integer) selectedValue).intValue() == 0) - return true; - else - return false; - } else { - return false; - } + return getIntegerResponseAsBoolean(selectedValue); } /** @@ -164,17 +155,7 @@ Object selectedValue = getUserResponse(message); - if (selectedValue == null) { - return false; - } else if (selectedValue instanceof Integer) { - if (((Integer) selectedValue).intValue() == 0) { - return true; - } else { - return false; - } - } else { - return false; - } + return getIntegerResponseAsBoolean(selectedValue); } /** @@ -224,16 +205,7 @@ Object selectedValue = getUserResponse(message); - if (selectedValue == null) { - return false; - } else if (selectedValue instanceof Integer) { - if (((Integer) selectedValue).intValue() == 0) - return true; - else - return false; - } else { - return false; - } + return getIntegerResponseAsBoolean(selectedValue); } /** @@ -263,11 +235,7 @@ message.extras = new Object[] { host, port, prompt, type }; Object response = getUserResponse(message); - if (response == null) { - return null; - } else { - return (Object[]) response; - } + return (Object[]) response; } /** @@ -286,11 +254,11 @@ Object selectedValue = getUserResponse(message); // result 0 = Yes, 1 = No, 2 = Cancel - if (selectedValue == null) { - return 2; - } else if (selectedValue instanceof Integer) { + if (selectedValue instanceof Integer) { + // If the selected value can be cast to Integer, use that value return ((Integer) selectedValue).intValue(); } else { + // Otherwise default to "cancel" return 2; } } @@ -376,6 +344,21 @@ } /** + * Returns true iff the given Object reference can be cast to Integer and that Integer's + * intValue is 0. + * @param ref the Integer (hopefully) reference + * @return whether the given reference is both an Integer type and has intValue of 0 + */ + public static boolean getIntegerResponseAsBoolean(Object ref) { + boolean isInteger = ref instanceof Integer; + if (isInteger) { + Integer i = (Integer) ref; + return i.intValue() == 0; + } + return false; + } + + /** * Returns whether the current runtime configuration allows prompting user * for security warnings. * diff -r 94ebabfba6ab -r 6c0e37585a5e netx/net/sourceforge/jnlp/services/XFileOpenService.java --- a/netx/net/sourceforge/jnlp/services/XFileOpenService.java Fri Aug 23 16:35:37 2013 -0400 +++ b/netx/net/sourceforge/jnlp/services/XFileOpenService.java Wed Sep 04 12:22:16 2013 -0400 @@ -91,11 +91,12 @@ if (chosen == JFileChooser.APPROVE_OPTION) { File[] files = chooser.getSelectedFiles(); int length = files.length; - XFileContents[] xfiles = new XFileContents[length]; - for (int i = 0; i < length; i++) - xfiles[i] = new XFileContents(files[i]); - return (FileContents[]) ServiceUtil.createPrivilegedProxy( - FileContents.class, xfiles); + FileContents[] result = new FileContents[length]; + for (int i = 0; i < length; i++) { + XFileContents xfile = new XFileContents(files[i]); + result[i] = (FileContents) ServiceUtil.createPrivilegedProxy(FileContents.class, xfile); + } + return result; } else { return null; } diff -r 94ebabfba6ab -r 6c0e37585a5e plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Aug 23 16:35:37 2013 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Sep 04 12:22:16 2013 -0400 @@ -2101,14 +2101,6 @@ if (data->is_applet_instance) // dummy instance/package? { - JavaRequestProcessor java_request = JavaRequestProcessor(); - JavaResultData* java_result; - std::string instance_id = std::string(); - std::string applet_class_id = std::string(); - - int id = get_id_from_instance(instance); - gchar* id_str = g_strdup_printf ("%d", id); - // Some browsers.. (e.g. chromium) don't call NPP_SetWindow // for 0x0 plugins and therefore require initialization with // a 0 handle @@ -2117,30 +2109,10 @@ plugin_send_initialization_message(data->instance_id, 0, 0, 0, data->parameters_string); } - java_result = java_request.getAppletObjectInstance(id_str); - - g_free(id_str); - - if (java_result->error_occurred) - { - printf("Error: Unable to fetch applet instance id from Java side.\n"); - return NULL; - } - - instance_id.append(*(java_result->return_string)); - - java_result = java_request.getClassID(instance_id); - - if (java_result->error_occurred) - { - printf("Error: Unable to fetch applet instance id from Java side.\n"); - return NULL; - } - - applet_class_id.append(*(java_result->return_string)); - - obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, applet_class_id, instance_id, false); - + NPObjectRef applet_object = IcedTeaScriptableJavaObject::get_scriptable_applet_object(instance); + /* Retain because we are returning an NPObject* */ + applet_object.raw_retain(); + obj = applet_object.get(); } else { obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_package_object(instance, ""); diff -r 94ebabfba6ab -r 6c0e37585a5e plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Fri Aug 23 16:35:37 2013 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Sep 04 12:22:16 2013 -0400 @@ -53,7 +53,7 @@ int IcedTeaPluginUtilities::reference = -1; pthread_mutex_t IcedTeaPluginUtilities::reference_mutex = PTHREAD_MUTEX_INITIALIZER; std::map* IcedTeaPluginUtilities::instance_map = new std::map(); -std::map* IcedTeaPluginUtilities::object_map = new std::map(); +std::map IcedTeaPluginUtilities::object_map; /* Plugin async call queue */ static std::vector< PluginThreadCall* >* pendingPluginThreadRequests = new std::vector< PluginThreadCall* >(); @@ -433,9 +433,9 @@ IcedTeaPluginUtilities::printStringVector(const char* prefix, std::vector* str_vector) { - // This is a CPU intensive function. Run only if debugging - if (!plugin_debug) - return; + // This is a CPU intensive function. Run only if debugging + if (!plugin_debug) + return; std::string* str = new std::string(); *str += "{ "; @@ -561,27 +561,25 @@ * @return The associated active NPObject, NULL otherwise */ -NPObject* +NPObjectRef IcedTeaPluginUtilities::getNPObjectFromJavaKey(std::string key) { - - NPObject* object = NULL; PLUGIN_DEBUG("getNPObjectFromJavaKey looking for %s\n", key.c_str()); - std::map::iterator iterator = object_map->find(key); + std::map::iterator iterator = object_map.find(key); - if (iterator != object_map->end()) + if (iterator != object_map.end()) { - NPObject* mapped_object = object_map->find(key)->second; + NPObjectRef object = object_map.find(key)->second; - if (getInstanceFromMemberPtr(mapped_object) != NULL) + if (getInstanceFromMemberPtr(object.get()) != NULL) { - object = mapped_object; - PLUGIN_DEBUG("getNPObjectFromJavaKey found %s. NPObject = %p\n", key.c_str(), object); + PLUGIN_DEBUG("getNPObjectFromJavaKey found %s. NPObject = %p\n", key.c_str(), object.get()); + return object; } } - return object; + return NPObjectRef(NULL); } /** @@ -592,10 +590,10 @@ */ void -IcedTeaPluginUtilities::storeObjectMapping(std::string key, NPObject* object) +IcedTeaPluginUtilities::storeObjectMapping(std::string key, NPObjectRef object) { - PLUGIN_DEBUG("Storing object %p with key %s\n", object, key.c_str()); - object_map->insert(std::make_pair(key, object)); + PLUGIN_DEBUG("Storing object %p with key %s\n", object.get(), key.c_str()); + object_map.insert(std::make_pair(key, object)); } /** @@ -608,19 +606,14 @@ IcedTeaPluginUtilities::removeObjectMapping(std::string key) { PLUGIN_DEBUG("Removing key %s from object map\n", key.c_str()); - object_map->erase(key); + object_map.erase(key); } /* Clear object_map. Useful for tests. */ void IcedTeaPluginUtilities::clearObjectMapping() { - std::map::iterator iter = object_map->begin(); - for (; iter != object_map->end(); ++iter) { - browser_functions.releaseobject(iter->second); - } - delete object_map; - object_map = new std::map(); + object_map = std::map(); } /* @@ -633,9 +626,9 @@ void IcedTeaPluginUtilities::printStringPtrVector(const char* prefix, std::vector* str_ptr_vector) { - // This is a CPU intensive function. Run only if debugging - if (!plugin_debug) - return; + // This is a CPU intensive function. Run only if debugging + if (!plugin_debug) + return; std::string* str = new std::string(); *str += "{ "; @@ -819,18 +812,13 @@ std::string jclass_id = *jclass_result->return_string; - NPObject* obj; - if (jclass_id.at(0) == '[') // array - { - obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, jclass_id, - jobject_id, true); - } else - { - obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, jclass_id, - jobject_id, false); - } + bool is_array = (jclass_id.at(0) == '['); + NPObjectRef object = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, jclass_id, + jobject_id, is_array); - OBJECT_TO_NPVARIANT(obj, *variant); + OBJECT_TO_NPVARIANT(object.get(), *variant); + /* Retain because we are returning an NPObject* */ + object.raw_retain(); return true; } @@ -874,12 +862,12 @@ } bool -IcedTeaPluginUtilities::isObjectJSArray(NPP instance, NPObject* object) +IcedTeaPluginUtilities::isObjectJSArray(NPP instance, NPObjectRef object) { NPVariant constructor_v = NPVariant(); NPIdentifier constructor_id = browser_functions.getstringidentifier("constructor"); - browser_functions.getproperty(instance, object, constructor_id, &constructor_v); + browser_functions.getproperty(instance, object.get(), constructor_id, &constructor_v); IcedTeaPluginUtilities::printNPVariant(constructor_v); // void constructor => not an array @@ -1087,6 +1075,34 @@ str = str.substr(start, end - start + 1); } +std::string +IcedTeaPluginUtilities::stringPrintf(const char* fmt, /*variable arguments*/ ...) +{ + /* Extract the variable arguments */ + va_list args; + va_start(args, fmt); + + gchar* result = NULL; + size_t size; + + /* Format the arguments into a new buffer, held in 'result' */ + size = g_vasprintf (&result, fmt, args); + + if (result == NULL) + { + // We are out of memory + throw std::bad_alloc(); + } + + /* Wrap as string and free buffer */ + std::string str(result, size); + g_free(result); + + va_end(args); /* Finish using variable arguments */ + + return str; +} + std::string IcedTeaPluginUtilities::NPIdentifierAsString(NPIdentifier id) { NPUTF8* cstr = browser_functions.utf8fromidentifier(id); if (cstr == NULL) { @@ -1242,3 +1258,41 @@ PLUGIN_DEBUG("%p unlocked...\n", &msg_queue_mutex); } +void +NPObjectRef::set(NPObject* new_object) +{ + if (new_object != NULL) { + /* Increase the new object's reference count */ + browser_functions.retainobject(new_object); + } + if (current_object != NULL) { + /* Decrease the old object's reference count */ + browser_functions.releaseobject(current_object); + } + + this->current_object = new_object; +} + +NPObjectRef +NPObjectRef::create(NPP instance, NPClass* np_class) +{ + NPObjectRef ref; + /* Don't use set(), otherwise we'd double-retain */ + ref.current_object = browser_functions.createobject(instance, np_class); + return ref; +} + +/* Explicit reference counting operations, use only if needed for interoperating with NPObject* */ +void +NPObjectRef::raw_retain() { + if (current_object != NULL) { + browser_functions.retainobject(current_object); + } +} + +void +NPObjectRef::raw_release() { + if (current_object != NULL) { + browser_functions.releaseobject(current_object); + } +} diff -r 94ebabfba6ab -r 6c0e37585a5e plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Fri Aug 23 16:35:37 2013 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Wed Sep 04 12:22:16 2013 -0400 @@ -153,6 +153,61 @@ /* Function to process all pending async calls */ void processAsyncCallQueue(void*); +/* Reference-counted 'smart pointer' to NPObject */ +class NPObjectRef { +public: + /* Create with browser_functions.createobject. + * This ensures the object is not double-retained. */ + static NPObjectRef create(NPP instance, NPClass* np_class); + + NPObjectRef(NPObject* obj = NULL) { + current_object = NULL; + set(obj); + } + + NPObjectRef(const NPObjectRef& ref) { + current_object = NULL; + set(ref.current_object); + } + From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:27:43 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:27:43 +0000 Subject: [Bug 1551] New: [IcedTea7] Add build support for Zero AArch64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 Bug ID: 1551 Summary: [IcedTea7] Add build support for Zero AArch64 Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: aarch64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/70fe36b7/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:30:53 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:30:53 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.2 --- Comment #1 from Andrew John Hughes --- http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-August/024266.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/44b80980/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:31:36 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:31:36 +0000 Subject: [Bug 1552] New: [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 Bug ID: 1552 Summary: [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: arm OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-August/024266.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/f99b90b7/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:33:12 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:33:12 +0000 Subject: [Bug 1552] [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/57d42e9a/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:37:11 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:37:11 +0000 Subject: [Bug 1516] [IcedTea6] Multiple AWT event queues in 1.12.6 security update broke Java applications (NetBeans, VisualVM, JOSM) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1516 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/f68171e5/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:37:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:37:50 +0000 Subject: [Bug 1531] Idk In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1531 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.1.1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/9e4fbe40/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:50:14 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:50:14 +0000 Subject: [Bug 1553] New: [IcedTea7] Add Debian AArch64 support Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 Bug ID: 1553 Summary: [IcedTea7] Add Debian AArch64 support Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: aarch64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-August/024266.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/5fa36cdc/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 09:50:47 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 16:50:47 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/90922fcc/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:19:06 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:19:06 +0000 Subject: [Bug 1554] New: [IcedTea7] Fix build on Mac OS X Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 Bug ID: 1554 Summary: [IcedTea7] Fix build on Mac OS X Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: x86_64 OS: Mac OS Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-August/024219.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/c66df3d5/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:19:31 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:19:31 +0000 Subject: [Bug 1554] [IcedTea7] Fix build on Mac OS X In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/b2004de4/attachment.html From andrew at icedtea.classpath.org Wed Sep 4 10:22:12 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:22:12 +0000 Subject: /hg/release/icedtea7-forest-2.4: 6 new changesets Message-ID: changeset 8773b39be6ac in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=8773b39be6ac author: asaha date: Mon Aug 19 12:18:12 2013 -0700 Added tag jdk7u40-b40 for changeset c9157eb582a5 changeset 3af81bfe320c in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=3af81bfe320c author: katleman date: Wed Aug 21 12:10:40 2013 -0700 Added tag jdk7u40-b41 for changeset 8773b39be6ac changeset 1d53bd8fd2a6 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=1d53bd8fd2a6 author: katleman date: Mon Aug 26 07:41:15 2013 -0700 Added tag jdk7u40-b42 for changeset 3af81bfe320c changeset dc1e099cd62d in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=dc1e099cd62d author: katleman date: Tue Aug 27 08:42:44 2013 -0700 Added tag jdk7u40-b43 for changeset 1d53bd8fd2a6 changeset 6359fa34199c in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=6359fa34199c author: katleman date: Tue Sep 03 22:34:23 2013 -0700 Added tag jdk7u40-b60 for changeset dc1e099cd62d changeset 6125b83238df in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=6125b83238df author: andrew date: Wed Sep 04 16:45:42 2013 +0100 Merge jdk7u40-b60 diffstat: .hgtags | 15 +++++++++++++++ .jcheck/conf | 2 -- make/Defs-internal.gmk | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diffs (111 lines): diff -r c9157eb582a5 -r 6125b83238df .hgtags --- a/.hgtags Mon Aug 12 12:07:28 2013 -0700 +++ b/.hgtags Wed Sep 04 16:45:42 2013 +0100 @@ -50,6 +50,7 @@ 3ac6dcf7823205546fbbc3d4ea59f37358d0b0d4 jdk7-b73 2c88089b6e1c053597418099a14232182c387edc jdk7-b74 d1516b9f23954b29b8e76e6f4efc467c08c78133 jdk7-b75 +f0bfd9bd1a0e674288a8a4d17dcbb9e632b42e6d icedtea7-1.12 c8b63075403d53a208104a8a6ea5072c1cb66aab jdk7-b76 1f17ca8353babb13f4908c1f87d11508232518c8 jdk7-b77 ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78 @@ -63,6 +64,7 @@ 433a60a9c0bf1b26ee7e65cebaa89c541f497aed jdk7-b86 6b1069f53fbc30663ccef49d78c31bb7d6967bde jdk7-b87 82135c848d5fcddb065e98ae77b81077c858f593 jdk7-b88 +195fcceefddce1963bb26ba32920de67806ed2db icedtea7-1.13 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89 425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90 97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91 @@ -111,6 +113,7 @@ ddc2fcb3682ffd27f44354db666128827be7e3c3 jdk7-b134 783bd02b4ab4596059c74b10a1793d7bd2f1c157 jdk7-b135 2fe76e73adaa5133ac559f0b3c2c0707eca04580 jdk7-b136 +d4aea1a51d625f5601c840714c7c94f1de5bc1af icedtea-1.14 7654afc6a29e43cb0a1343ce7f1287bf690d5e5f jdk7-b137 fc47c97bbbd91b1f774d855c48a7e285eb1a351a jdk7-b138 7ed6d0b9aaa12320832a7ddadb88d6d8d0dda4c1 jdk7-b139 @@ -123,6 +126,7 @@ 2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146 3ac30b3852876ccad6bd61697b5f9efa91ca7bc6 jdk7u1-b01 d91364304d7c4ecd34caffdba2b840aeb0d10b51 jdk7-b147 +3defd24c2671eb2e7796b5dc45b98954341d73a7 icedtea-2.0-branchpoint 34451dc0580d5c95d97b95a564e6198f36545d68 jdk7u1-b02 bf735d852f79bdbb3373c777eec3ff27e035e7ba jdk7u1-b03 f66a2bada589f4157789e6f66472954d2f1c114e jdk7u1-b04 @@ -141,6 +145,7 @@ b2deaf5bde5ec455a06786e8e2aea2e673be13aa jdk7u2-b12 c95558e566ac3605c480a3d070b1102088dab07f jdk7u2-b13 e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u2-b21 +a66b58021165f5a43e3974fe5fb9fead29824098 icedtea-2.1-branchpoint e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u3-b02 becd013ae6072a6633ba015fc4f5862fca589cee jdk7u3-b03 d64361a28584728aa25dca3781cffbaf4199e088 jdk7u3-b04 @@ -157,6 +162,7 @@ 2b07c262a8a9ff78dc908efb9d7b3bb099df9ac4 jdk7u4-b10 1abfee16e8cc7e3950052befa78dbf14a5ca9cfc jdk7u4-b11 e6f915094dccbba16df6ebeb002e6867392eda40 jdk7u4-b12 +e7886f5ad6cc837092386fa513e670d4a770456c icedtea-2.2-branchpoint 9108e3c2f07ffa218641d93893ac9928e95d213a jdk7u4-b13 d9580838fd08872fc0da648ecfc6782704b4aac1 jdk7u4-b14 008753000680a2008175d14b25373356f531aa07 jdk7u4-b15 @@ -191,6 +197,7 @@ 528f1589f5f2adf18d5d21384ba668b9aa79841e jdk7u6-b15 7b77364eb09faac4c37ce9dd2c2308ca5525f18f jdk7u6-b16 b7c1b441d131c70278de299b5d1e59dce0755dc5 jdk7u6-b17 +0e7b94bd450d4270d4e9bd6c040c94fa4be714a6 icedtea-2.3-branchpoint 9c41f7b1460b106d18676899d24b6ea07de5a369 jdk7u6-b18 56291720b5e578046bc02761dcad2a575f99fd8e jdk7u6-b19 e79fa743fe5a801db4acc7a7daa68f581423e5d3 jdk7u6-b20 @@ -258,6 +265,7 @@ c3e42860af1cfd997fe1895594f652f0d1e9984e jdk7u12-b07 1a03ef4794dc8face4de605ae480d4c763e6b494 jdk7u12-b08 87cf81226f2012e5c21131adac7880f7e4da1133 jdk7u12-b09 +8a10a3c51f1cd88009008cf1b82071797b5f516d icedtea-2.4-branchpoint 745a15bb6d94765bb5c68048ff146590df9b8441 jdk7u14-b10 2d8fdaa5bb55b937028e385633ce58de4dcdb69c jdk7u14-b11 594dbbbb84add4aa310d51af7e298470d8cda458 jdk7u14-b12 @@ -317,6 +325,7 @@ d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19 b4b7795ef8047e3d2b2ba48a70c08d9184073100 jdk7u14-b19 f413e7a22c198559af5aca28309356e6d4edd78f jdk7u14-b20 +30065a72715f046e4a4bdec1c0cc7d65153c9d99 icedtea-2.4.0 41686e19d8189a546434a52dd9679e9b6a0a68be jdk7u14-b21 3e3177719b43f732239d6d51e96d26ee18440960 jdk7u14-b22 8c6e2197930c79f6beafd83181714cc817b83229 jdk7u40-b23 @@ -327,6 +336,7 @@ ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28 dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29 1c141e6fde911c4974c87e340eb698754607f422 jdk7u40-b30 +ae86c6974e8ee35ef66121810ea9e748b7e677d9 icedtea-2.4.1 58a2a470aa3bccd3eb3624e68bca9397c8cc26a2 jdk7u40-b31 da376fd5e4d68f8a45003a6e175267dc840711cc jdk7u40-b32 3fdfe7f1b06354e11e8af51b7c653c8a0adb3987 jdk7u40-b33 @@ -336,3 +346,8 @@ 5bfb3aa1655e5364a8c1c17343ff84dad7e13f25 jdk7u40-b37 7d3e6ccad487d84e764932802cd42d2afebccd7a jdk7u40-b38 a2ba8e069718677c267b3894df2a719148c15ac8 jdk7u40-b39 +c9157eb582a5deec5bbac671bf628bc45af447d0 jdk7u40-b40 +8773b39be6ac71c06793035b8c72f5c771eb534f jdk7u40-b41 +3af81bfe320c12758234233da6fa27c3c0ffcdc4 jdk7u40-b42 +1d53bd8fd2a62bcf336727ebec377ef7498dd4a6 jdk7u40-b43 +dc1e099cd62d250b4a997ce694b47fe2f50d2905 jdk7u40-b60 diff -r c9157eb582a5 -r 6125b83238df .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:28 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r c9157eb582a5 -r 6125b83238df make/Defs-internal.gmk --- a/make/Defs-internal.gmk Mon Aug 12 12:07:28 2013 -0700 +++ b/make/Defs-internal.gmk Wed Sep 04 16:45:42 2013 +0100 @@ -322,7 +322,8 @@ JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) \ PREVIOUS_MAJOR_VERSION=$(PREVIOUS_MAJOR_VERSION) \ PREVIOUS_MINOR_VERSION=$(PREVIOUS_MINOR_VERSION) \ - PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) + PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) \ + STATIC_CXX=$(STATIC_CXX) ifdef ARCH_DATA_MODEL COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) From andrew at icedtea.classpath.org Wed Sep 4 10:22:19 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:22:19 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: 8 new changesets Message-ID: changeset acb0571052b8 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=acb0571052b8 author: asaha date: Mon Aug 19 12:18:15 2013 -0700 Added tag jdk7u40-b40 for changeset a91b57bf60bd changeset b4a480a039bc in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=b4a480a039bc author: katleman date: Wed Aug 21 12:10:48 2013 -0700 Added tag jdk7u40-b41 for changeset acb0571052b8 changeset e29ea0b297e5 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=e29ea0b297e5 author: katleman date: Mon Aug 26 07:41:19 2013 -0700 Added tag jdk7u40-b42 for changeset b4a480a039bc changeset 08737d863a7a in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=08737d863a7a author: katleman date: Tue Aug 27 08:42:49 2013 -0700 Added tag jdk7u40-b43 for changeset e29ea0b297e5 changeset 504acad33722 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=504acad33722 author: katleman date: Tue Sep 03 22:34:24 2013 -0700 Added tag jdk7u40-b60 for changeset 08737d863a7a changeset 92504ffbb132 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=92504ffbb132 author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 changeset 7b8261df512f in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=7b8261df512f author: andrew date: Wed Sep 04 17:48:23 2013 +0100 PR1551: Add build support for Zero AArch64 changeset 5ea58899ae9f in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=5ea58899ae9f author: andrew date: Wed Sep 04 17:52:30 2013 +0100 PR1553: Add Debian AArch64 support diffstat: .hgtags | 15 +++++++++++++++ .jcheck/conf | 2 -- make/Makefile | 2 +- make/common/shared/Defs-java.gmk | 2 +- make/common/shared/Platform.gmk | 9 +++++++++ 5 files changed, 26 insertions(+), 4 deletions(-) diffs (155 lines): diff -r a91b57bf60bd -r 5ea58899ae9f .hgtags --- a/.hgtags Mon Aug 12 12:07:29 2013 -0700 +++ b/.hgtags Wed Sep 04 17:52:30 2013 +0100 @@ -50,6 +50,7 @@ b751c528c55560cf2adeaeef24b39ca1f4d1cbf7 jdk7-b73 5d0cf59a3203b9f57aceebc33ae656b884987955 jdk7-b74 0fb137085952c8e47878e240d1cb40f14de463c4 jdk7-b75 +d728db3889da23d9f74e45154b9261a43b4acd8d icedtea7-1.12 937144222e2219939101b0129d26a872a7956b13 jdk7-b76 6881f0383f623394b5ec73f27a5f329ff55d0467 jdk7-b77 a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78 @@ -63,6 +64,7 @@ 6253e28826d16cf1aecc39ce04c8de1f6bf2df5f jdk7-b86 09a41111a401d327f65e453384d976a10154d9ea jdk7-b87 39e14d2da687c7e592142137517aaf689544820f jdk7-b88 +e805b4155d76f76d40ffae36a74546f79218c539 icedtea7-1.13 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89 56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90 bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91 @@ -111,6 +113,7 @@ 918003855fa0dba5acf4bf1fe36526d2fc4c1ba8 jdk7-b134 e0b72ae5dc5e824b342801c8d1d336a55eb54e2c jdk7-b135 48ef0c712e7cbf272f47f9224db92a3c6a9e2612 jdk7-b136 +b62418551e20fa19fbf57c49d4378b7096809e60 icedtea-1.14 a66c01d8bf895261715955df0b95545c000ed6a8 jdk7-b137 78d8cf04697e9df54f7f11e195b7da29b8e345a2 jdk7-b138 60b074ec6fcf5cdf9efce22fdfb02326ed8fa2d3 jdk7-b139 @@ -123,6 +126,7 @@ 770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146 36f0efbc66ef8ace3cca8aa8d0c88f3334080f8a jdk7u1-b01 73323cb3396260d93e0ab731fd2d431096ceed0f jdk7-b147 +d034cc90ecc266d78b87d1429c426669431fcc1f icedtea-2.0-branchpoint 9515a2d034b4727c11aeea36354a549fbc469c4f jdk7u1-b02 dd71cb354c573c1addcda269a7dd9144bfce9587 jdk7u1-b03 eaee830124aa453627591d8f9eccb39d7e040876 jdk7u1-b04 @@ -141,6 +145,7 @@ 56b02f8ef70391a67c9fa71157a8faafbdff4b74 jdk7u2-b12 456ff1f14b14ef8cfe47cef95c8094f8443fa092 jdk7u2-b13 62b846b0c3259cae732e75df50a1b180a2541178 jdk7u2-b21 +ecb9fc90dea4720f5c1ba1354364ed610f463e41 icedtea-2.1-branchpoint 1b648adeeefa9b1fb022459e8e4f590b736c0fdd jdk7u3-b02 730fa05af5a9d10a3a7a1626d248b96d09f8069f jdk7u3-b03 7f7a9b1addb4925f4f6e17f6eb5cce986c3b626d jdk7u3-b04 @@ -157,6 +162,7 @@ 23777178e7eb61859be3f7240561aa1034ff9221 jdk7u4-b10 bdc37f3c09b6008667aff77432bb6d31cbae945e jdk7u4-b11 fddc26b35a31884d64315cf7c296570245e9c481 jdk7u4-b12 +9ffa2340e018131c900e9cc12c9f3a10698aa191 icedtea-2.2-branchpoint f7119745898016a98cddab3e69efb41c5a5aaf78 jdk7u4-b13 6a262c36caebb43972cbae5032cff632ce31d2cc jdk7u4-b14 d9bf21b76f093abfe451880d5db29e4932b1e72e jdk7u4-b15 @@ -191,6 +197,7 @@ 8da4015f405b0fa267cca4780d20cd012d0a9cb4 jdk7u6-b15 7674c7ed99a53a8dcf654ab8a6963199ef562a08 jdk7u6-b16 e4a676826cb3fe2f84e19105a027c15c097f98f1 jdk7u6-b17 +68c35d6e9548bc7be9c3ce73774c6d53b0d72d3b icedtea-2.3-branchpoint b3d767dbd67f518168c561e078be5e860bc60cfc jdk7u6-b18 5c046510b9308bf514f078d48fcf0112a376ad41 jdk7u6-b19 f0c51b691d34b4a06c1e22c7960be71e0d0ee84e jdk7u6-b20 @@ -258,6 +265,7 @@ 7969d5f219248de033c296ef75fff7aae7545bbd jdk7u12-b07 6f4d4c7a254d4aca3a7f2caabb75e6559a290393 jdk7u12-b08 c8c261b2220c5b966c07784682057a915defb0da jdk7u12-b09 +efbe4cef7fe2d46a197c39eb7a94e127e0bb4c5d icedtea-2.4-branchpoint 3877f9ae971eefbfbbcb16f2ff79c72ac10ac4bd jdk7u14-b10 3bd891cd98773cf841ad65f52f25e3e6fa185cef jdk7u14-b11 fbb83600db33de6211fc58ba2a2bbb6b356aa9c2 jdk7u14-b12 @@ -319,6 +327,7 @@ bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19 a921b45a1f9086a7d598a76f920639050386f996 jdk7u14-b19 54320e5d9da60df24f0e2c57c011809911dc06e1 jdk7u14-b20 +47084105fe834aa1c6f2ee2bbea01deaa05059dd icedtea-2.4.0 fb590ca4de9aaf1f6bca945be040dffc55b5e8d2 jdk7u14-b21 e5d89aa2c1a11dba841a646858dda9ea18dc8f57 jdk7u14-b22 d85df1552f877a1cc51f43bc07a42a0c48f18e0b jdk7u40-b23 @@ -329,6 +338,7 @@ c8b9201f88f4ce417df7a40efcb7fef656d94512 jdk7u40-b28 1ad0a5a3f7b1e9d95670d733d7e70714050ba6bf jdk7u40-b29 651dcadbd9774165e017f8b7d1bde7d7d280ae1d jdk7u40-b30 +23ae4e0e0cce13779c531a704bf95fda1764882b icedtea-2.4.1 3d2b811b8a798ff3b619f8330b08f551f7fdfd80 jdk7u40-b31 c5f85903c49aa716ee3cb93361dd60a3e88d866d jdk7u40-b32 1b7fbfdc31b859097d6a365ad0ba0e8ef92b4063 jdk7u40-b33 @@ -338,3 +348,8 @@ dc9a63376b39223bfb612d9e8efd275023de6399 jdk7u40-b37 8391dff270bbf75dc434e53ed68993ab833475e8 jdk7u40-b38 d7c73fd53c84cbb4333559cf788e554a2ef9326c jdk7u40-b39 +a91b57bf60bd982814bc1616ea46a1069416f5e4 jdk7u40-b40 +acb0571052b8dbef036fc50235ef95c0a46cff6b jdk7u40-b41 +b4a480a039bc19b27bfb5fcbbbf75e651d2718b7 jdk7u40-b42 +e29ea0b297e519010e661603a07bb8d48fa904a2 jdk7u40-b43 +08737d863a7aa5eb39374b26c9585e1770affe92 jdk7u40-b60 diff -r a91b57bf60bd -r 5ea58899ae9f .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:29 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r a91b57bf60bd -r 5ea58899ae9f make/Makefile --- a/make/Makefile Mon Aug 12 12:07:29 2013 -0700 +++ b/make/Makefile Wed Sep 04 17:52:30 2013 +0100 @@ -150,7 +150,7 @@ #----- bin.zip -BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl +BIN_ZIP_FILES = $(BUILD_DIR)/lib/orb.idl $(BUILD_DIR)/lib/ir.idl BIN_ZIP = $(LIB_DIR)/bin.zip $(BIN_ZIP): $(BIN_ZIP_FILES) diff -r a91b57bf60bd -r 5ea58899ae9f make/common/shared/Defs-java.gmk --- a/make/common/shared/Defs-java.gmk Mon Aug 12 12:07:29 2013 -0700 +++ b/make/common/shared/Defs-java.gmk Wed Sep 04 17:52:30 2013 +0100 @@ -81,7 +81,7 @@ ifeq ($(ARCH_DATA_MODEL), 32) JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 else - JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1536 + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1664 endif JAVAC_JVM_FLAGS += $(JAVA_TOOLS_FLAGS:%=-J%) diff -r a91b57bf60bd -r 5ea58899ae9f make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Mon Aug 12 12:07:29 2013 -0700 +++ b/make/common/shared/Platform.gmk Wed Sep 04 17:52:30 2013 +0100 @@ -153,6 +153,9 @@ OS_VERSION := $(shell uname -r) # Arch and OS name/version mach := $(shell uname -m) + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) + mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/') + endif archExpr = case "$(mach)" in \ i[3-9]86) \ echo i586 \ @@ -169,6 +172,9 @@ arm*) \ echo arm \ ;; \ + sh*) \ + echo sh \ + ;; \ *) \ echo $(mach) \ ;; \ @@ -196,6 +202,9 @@ else ARCH_DATA_MODEL=64 endif + ifeq ($(ARCH), sh) + ARCH_DATA_MODEL=32 + endif endif endif From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:22:29 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:22:29 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=7b8261df512f author: andrew date: Wed Sep 04 17:48:23 2013 +0100 PR1551: Add build support for Zero AArch64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/305cb428/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:22:37 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:22:37 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=5ea58899ae9f author: andrew date: Wed Sep 04 17:52:30 2013 +0100 PR1553: Add Debian AArch64 support -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/177fbe07/attachment.html From andrew at icedtea.classpath.org Wed Sep 4 10:22:54 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:22:54 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: 6 new changesets Message-ID: changeset 7255fb6c9060 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=7255fb6c9060 author: asaha date: Mon Aug 19 12:18:46 2013 -0700 Added tag jdk7u40-b40 for changeset 6ea57bdf6030 changeset 66363323f14d in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=66363323f14d author: katleman date: Wed Aug 21 12:11:26 2013 -0700 Added tag jdk7u40-b41 for changeset 7255fb6c9060 changeset c0bd71414ea5 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=c0bd71414ea5 author: katleman date: Mon Aug 26 07:41:38 2013 -0700 Added tag jdk7u40-b42 for changeset 66363323f14d changeset 91bc45348512 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=91bc45348512 author: katleman date: Tue Aug 27 08:43:03 2013 -0700 Added tag jdk7u40-b43 for changeset c0bd71414ea5 changeset c500d4ec41ff in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=c500d4ec41ff author: katleman date: Tue Sep 03 22:34:35 2013 -0700 Added tag jdk7u40-b60 for changeset 91bc45348512 changeset 135f46e0e653 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=135f46e0e653 author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 diffstat: .hgtags | 15 +++++++++++++++ .jcheck/conf | 2 -- 2 files changed, 15 insertions(+), 2 deletions(-) diffs (98 lines): diff -r 6ea57bdf6030 -r 135f46e0e653 .hgtags --- a/.hgtags Mon Aug 12 12:07:40 2013 -0700 +++ b/.hgtags Wed Sep 04 16:45:43 2013 +0100 @@ -50,6 +50,7 @@ feb05980f9f2964e6bc2b3a8532f9b3054c2289b jdk7-b73 ea7b88c676dd8b269bc858a4a17c14dc96c8aed1 jdk7-b74 555fb78ee4cebed082ca7ddabff46d2e5b4c9026 jdk7-b75 +fb68fd18eb9f9d94bd7f307097b98a5883018da8 icedtea7-1.12 233a4871d3364ec305efd4a58cfd676620a03a90 jdk7-b76 bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77 7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78 @@ -63,6 +64,7 @@ 81c0f115bbe5d3bcf59864465b5eca5538567c79 jdk7-b86 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88 +826bafcb6c4abbf24887bfc5a78868e13cddd068 icedtea7-1.13 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91 @@ -111,6 +113,7 @@ d56b326ae0544fc16c3e0d0285876f3c82054db2 jdk7-b134 4aa9916693dc1078580c1865e6f2584046851e5a jdk7-b135 1759daa85d33800bd578853f9531f9de73f70fc7 jdk7-b136 +1c2f25bf36b1d43920e94fb82a0afdafd29b1735 icedtea-1.14 1d87f7460cde7f8f30af668490f82b52b879bfd8 jdk7-b137 be3758943770a0a3dd4be6a1cb4063507c4d7062 jdk7-b138 28c7c0ed2444607829ba11ad827f8d52197a2830 jdk7-b139 @@ -123,6 +126,7 @@ bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147 +b8d01501956a0d41f5587ff1bebbfe5a9b8fea5a icedtea-2.0-branchpoint 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04 @@ -141,6 +145,7 @@ 0e61ef309edd2deb71f53f2bdaf6dcff1c80bfb8 jdk7u2-b12 d9ac427e5149d1db12c6f3e4aa4280587c06aed5 jdk7u2-b13 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u2-b21 +7300d2ab9fb2068250a96ca4afc481c4beb6a42b icedtea-2.1-branchpoint 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u3-b02 604dd391203960d0028fc95bc70b0ae161e09d99 jdk7u3-b03 551c076358f6691999f613db9b155c83ec9a648d jdk7u3-b04 @@ -157,6 +162,7 @@ 7a37651d304de62b18b343b3ae675ab1b08fc5fe jdk7u4-b10 3fbd87d50fbf4de3987e36ec5f3e8ce1c383ce3d jdk7u4-b11 b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12 +c51876b27811ba0f6ea3409ba19d357b7400908a icedtea-2.2-branchpoint 7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13 82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14 36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u5-b01 @@ -191,6 +197,7 @@ 94474d6f28284a1ef492984dd6d6f66f8787de80 jdk7u6-b15 0b329a8d325b6a58d89c6042dac62ce5852380ab jdk7u6-b16 5eb867cdd08ca299fe03b31760acd57aac2b5673 jdk7u6-b17 +445dd0b578fc2ed12c539eb6f9a71cbd40bed4f6 icedtea-2.3-branchpoint 1c4b9671de5c7ed5713f55509cb2ada38b36dffe jdk7u6-b18 3ba4c395d2cf973c8c603b2aedc846bd4ae54656 jdk7u6-b19 4f7b77cc3b252098f52a8f30a74f603783a2e0f1 jdk7u6-b20 @@ -258,6 +265,7 @@ 1b914599a6d5560e743b9fecd390924ed0bf7d15 jdk7u12-b07 427a603569db59f61721e709fcb8a73390d468ae jdk7u12-b08 366ebbf581df0134d9039b649abc315e87f23772 jdk7u12-b09 +14adb683be4ebc49ee729f0253d012795a4a2ae4 icedtea-2.4-branchpoint 23191c790e12841f81ac1cf956e7dbc0b45914ee jdk7u14-b10 825eda7553590ce19eb4fa0686c4405d97daafdb jdk7u14-b11 560e5cf5b57fc91e2bc6dd1809badd58c6eb25bd jdk7u14-b12 @@ -319,6 +327,7 @@ 331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19 c3c9f04cf10c2fe576b208f6a8ca3777b1d31145 jdk7u14-b19 5e1fee011646b4a3ff29b7b9cdc208e0a0577cb4 jdk7u14-b20 +7f04ed6cb0c382a16c2ffaad05c6122482e03b2e icedtea-2.4.0 d1c8bb1cbc9183fc994b5fedf26886ceda0d59f9 jdk7u14-b21 d1c6afebdfe28eb07eb2d03a6911a0f33b619165 jdk7u14-b22 0e4c549d3635122145ac88bad7b98716976ca49e jdk7u40-b23 @@ -329,6 +338,7 @@ 9186b6efd2b2eafa7fee5be1b043f59f25db12a6 jdk7u40-b28 740942c76fb668a04bf89feccf069f6958651d54 jdk7u40-b29 09b080236bc1a1a68f8b411196cbfa52475c0755 jdk7u40-b30 +5be6b670d08bb0464e0e259ef77fca6adba24b05 icedtea-2.4.1 5b31380e2e0b6f8386dcf0ca122461154f2d2704 jdk7u40-b31 75bb397c4ae26c384e1fcb75bbf4b70479f2c5f7 jdk7u40-b32 ce771024e07d2bb6521735a14ce68745a2376bd8 jdk7u40-b33 @@ -338,3 +348,8 @@ f40f45bd95d4140f691c03132f2ab2c8a0233a8f jdk7u40-b37 680bf140cdd58e7878318ecafc41c9db47ebfacd jdk7u40-b38 322af0a5cdce6cad8421a73c1b9af345361dfba0 jdk7u40-b39 +6ea57bdf603007be4d25568f7759ca0381aa8382 jdk7u40-b40 +7255fb6c9060b0626aeedb1066e73c4bb46b1a7c jdk7u40-b41 +66363323f14d85d4ab28e883a3323b9d72dea5fd jdk7u40-b42 +c0bd71414ea513f54f23965936a837fca093ac91 jdk7u40-b43 +91bc4534851265291bb3b16452a0968d6909979f jdk7u40-b60 diff -r 6ea57bdf6030 -r 135f46e0e653 .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:40 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup From andrew at icedtea.classpath.org Wed Sep 4 10:23:10 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:10 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: 6 new changesets Message-ID: changeset adc234666397 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=adc234666397 author: asaha date: Mon Aug 19 12:18:50 2013 -0700 Added tag jdk7u40-b40 for changeset cd6971747e7a changeset 89f6c9663d75 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=89f6c9663d75 author: katleman date: Wed Aug 21 12:11:29 2013 -0700 Added tag jdk7u40-b41 for changeset adc234666397 changeset 3ee85b3793de in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=3ee85b3793de author: katleman date: Mon Aug 26 07:41:41 2013 -0700 Added tag jdk7u40-b42 for changeset 89f6c9663d75 changeset cbeef786ce48 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=cbeef786ce48 author: katleman date: Tue Aug 27 08:43:04 2013 -0700 Added tag jdk7u40-b43 for changeset 3ee85b3793de changeset 4ee34d2cf2d8 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=4ee34d2cf2d8 author: katleman date: Tue Sep 03 22:34:36 2013 -0700 Added tag jdk7u40-b60 for changeset cbeef786ce48 changeset a2ff16e5361f in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=a2ff16e5361f author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 diffstat: .hgtags | 15 ++++++++++ .jcheck/conf | 2 - src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java | 8 +++++ 3 files changed, 23 insertions(+), 2 deletions(-) diffs (116 lines): diff -r cd6971747e7a -r a2ff16e5361f .hgtags --- a/.hgtags Mon Aug 12 12:07:42 2013 -0700 +++ b/.hgtags Wed Sep 04 16:45:43 2013 +0100 @@ -50,6 +50,7 @@ 558985e26fe16f5a6ebb2edb9180a42e1c8e8202 jdk7-b73 f4466e1b608088c90e11beaa4b600f102608c6a1 jdk7-b74 fcf2b8b5d606641659419f247fcee4b284c45e6e jdk7-b75 +0dc08d528c998ca993e759b311e7b54c98e0ef28 icedtea7-1.12 765d2077d1e652e234d27fe85ba58a986b488503 jdk7-b76 5b4968c110476085225d3a71c4210fad2c1116c1 jdk7-b77 fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78 @@ -63,6 +64,7 @@ 512b0e924a5ae0c0b7ad326182cae0dc0e4d1aa8 jdk7-b86 3febd6fab2ac8ffddbaf7bed00d11290262af153 jdk7-b87 8c666f8f3565974e301ccb58b7538912551a6e26 jdk7-b88 +1661166c82dc2102f3f0364e28d1e4211f25a4cf icedtea7-1.13 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89 ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90 cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91 @@ -111,6 +113,7 @@ 545de8303fec939db3892f7c324dd7df197e8f09 jdk7-b134 d5fc61f18043765705ef22b57a68c924ab2f1a5b jdk7-b135 c81d289c9a532d6e94af3c09d856a2a20529040f jdk7-b136 +339c2d381d80dbf9b74604e6ba43ead276b8024e icedtea-1.14 ccea3282991ce8b678e188cf32a8239f76ff3bfa jdk7-b137 cc956c8a8255583535597e9a63db23c510e9a063 jdk7-b138 c025078c8362076503bb83b8e4da14ba7b347940 jdk7-b139 @@ -123,6 +126,7 @@ 05469dd4c3662c454f8a019e492543add60795cc jdk7-b146 c01bfd68d0528bc88348813c4d75d7f5c62bc4e2 jdk7u1-b01 d13b1f877bb5ed8dceb2f7ec10365d1db5f70b2d jdk7-b147 +e6cd09c7ef22bbabe31c9f2a32c7e13cfa713fd3 icedtea-2.0-branchpoint 4c24f7019ce939a452154a83151294ad7da66a9d jdk7u1-b02 272778f529d11081f548f37fcd6a7aec0b11a8dd jdk7u1-b03 48b06a6e6f46e5bcd610f4bed57cd5067cf31f8c jdk7u1-b04 @@ -141,6 +145,7 @@ 21131044a61353ac20e360bce52d8f480e08d7a2 jdk7u2-b12 9728fd833e01faa5e51484aeaf3c51d32d1175fb jdk7u2-b13 d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u2-b21 +d26ff33070cb75a0a7349d965ec4f0930ded418d icedtea-2.1-branchpoint d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u3-b02 44e824502fa24440f907205ccdc3959d01bd8109 jdk7u3-b03 6e1cc321aacea944691aa06558f2bbad89baf5b3 jdk7u3-b04 @@ -157,6 +162,7 @@ 3891fe529057431278394c6341cfabaacd5061f5 jdk7u4-b10 2df5cd83fab91f050c4bac54aa06e174ecee38f4 jdk7u4-b11 4d3a9fe44f7531642bc739ec3c8efb2e6d9e08c7 jdk7u4-b12 +1854d8e2547cb18ebcf84db13c22d0987c49c274 icedtea-2.2-branchpoint c3b6659aa169b3f249246497a8d5a87baa1e798a jdk7u4-b13 0f8963feaefda21e72f84b8ea49834a289d537f3 jdk7u4-b14 61516652b59ec411678b38a232a84413652a4172 jdk7u5-b01 @@ -191,6 +197,7 @@ f1dba7ebe6a50c22ffcaf85b14b31462ce008556 jdk7u6-b15 e1d2afbb63d27600dd8c8a021eadff84a901a73c jdk7u6-b16 401bdbbf89c9187b51dc8906c0e2700ef0ffc8a3 jdk7u6-b17 +8888d2790217c31edbf13ea81d9ac06210092ad2 icedtea-2.3-branchpoint a1daf7097c61181216233e4850ef6ec56b0fe6b6 jdk7u6-b18 58c1c6ecf8f1e59db9b575ae57b2894d0152d319 jdk7u6-b19 6d17242f12edc643ecab4263e656003a1ca44c03 jdk7u6-b20 @@ -258,6 +265,7 @@ 42ba62cdc1f3c357b6d192612dd1c4b209df2662 jdk7u12-b07 66f36438f54812e44327d38129d9488e5ea59e73 jdk7u12-b08 c130f21b16a2b2e2b961362bc4baf40fde2be458 jdk7u12-b09 +a653d06d5b50cacf58aebbab8b55e7e00587cd4c icedtea-2.4-branchpoint 9207c72345c9e82d4445764df57706f7b33a7981 jdk7u14-b10 444aa84f38df2607140e9ce35a21fef0965d27a6 jdk7u14-b11 40afea757379cfaaadca13eeb7dcbc0fe195f73d jdk7u14-b12 @@ -319,6 +327,7 @@ 82be38857de3b2f6d8def98034f3e7b0827fd9f0 jdk7u14-b19 d63b21e6c3d29305400dbfc1500090cab89f25d1 jdk7u14-b19 dd695ad6c5ec797fe61db31600a3fd2dbc62247b jdk7u14-b20 +426b7a73ab43aca754c19dc21497ae90c147f91a icedtea-2.4.0 97bbac299eb801709a924fe777b3ee9c96829d8b jdk7u14-b21 6e74b3e1773cfbac99998431a5a54c70baaf1dc5 jdk7u14-b22 e9bbdf789d2b512550e0ca80629980e96f02146d jdk7u40-b23 @@ -329,6 +338,7 @@ 016957700ac905ebf3432ae8ba17d3576a51e585 jdk7u40-b28 15a82c84d9f7f6c99310380d4766fc68a3882671 jdk7u40-b29 2f8f617ecc4f0772b090a3be742780d8375c68f6 jdk7u40-b30 +c0e48fdfb6959d4024f49e99321d368810d2d7ef icedtea-2.4.1 f500fd46c18b783f7b4ab22314f64f131f50c5d5 jdk7u40-b31 83a688927f16b69690f707a6b579edbe55b01e25 jdk7u40-b32 3ceef25a8cdd9a27a7a2dea0efd8721100cfa30f jdk7u40-b33 @@ -338,3 +348,8 @@ 918e6c87b006e32c80a937c7b0f2f9c65edbecdb jdk7u40-b37 7ae2e9ed2c448a683f2df8673df145d20f13d585 jdk7u40-b38 4af46770372d3c433811934e6759f5118e5c7648 jdk7u40-b39 +cd6971747e7a56fef9a3d8b10e39590b349e41c4 jdk7u40-b40 +adc234666397f6bdacd295c87be34c6a1a4d7bf2 jdk7u40-b41 +89f6c9663d75d9e4b672aed16f885b84232e9c93 jdk7u40-b42 +3ee85b3793de16855e20272336a3565af8477b6b jdk7u40-b43 +cbeef786ce489096c39ec5effee4f8f9e770b4af jdk7u40-b60 diff -r cd6971747e7a -r a2ff16e5361f .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:42 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r cd6971747e7a -r a2ff16e5361f src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Mon Aug 12 12:07:42 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Wed Sep 04 16:45:43 2013 +0100 @@ -67,6 +67,14 @@ SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI); sf.setErrorHandler(errorFilter); + try { + // By default the SchemaFactory imposes a limit of 5000 on + // xsd:sequence maxOccurs if a SecurityManager is + // installed. This breaks the specification of xjc, + // causing TCK failures. + sf.setProperty("http://apache.org/xml/properties/security-manager", null); + } catch (SAXException e) { + } if( entityResolver != null ) { sf.setResourceResolver(new LSResourceResolver() { public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { From andrew at icedtea.classpath.org Wed Sep 4 10:23:17 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:17 +0000 Subject: /hg/release/icedtea7-forest-2.4/langtools: 6 new changesets Message-ID: changeset 95cefc18bea4 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=95cefc18bea4 author: asaha date: Mon Aug 19 12:19:28 2013 -0700 Added tag jdk7u40-b40 for changeset 0e83f513af68 changeset 765bea9bfcfc in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=765bea9bfcfc author: katleman date: Wed Aug 21 12:11:48 2013 -0700 Added tag jdk7u40-b41 for changeset 95cefc18bea4 changeset 988ece7b6865 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=988ece7b6865 author: katleman date: Mon Aug 26 07:41:55 2013 -0700 Added tag jdk7u40-b42 for changeset 765bea9bfcfc changeset a67dbf96bf86 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=a67dbf96bf86 author: katleman date: Tue Aug 27 08:43:20 2013 -0700 Added tag jdk7u40-b43 for changeset 988ece7b6865 changeset b2e29b79e54e in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=b2e29b79e54e author: katleman date: Tue Sep 03 22:34:46 2013 -0700 Added tag jdk7u40-b60 for changeset a67dbf96bf86 changeset 06ea051f7ffe in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=06ea051f7ffe author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 diffstat: .hgtags | 15 +++++++++++++++ .jcheck/conf | 2 -- make/Makefile | 4 ++++ make/build.properties | 3 ++- make/build.xml | 2 +- 5 files changed, 22 insertions(+), 4 deletions(-) diffs (137 lines): diff -r 0e83f513af68 -r 06ea051f7ffe .hgtags --- a/.hgtags Mon Aug 12 12:07:51 2013 -0700 +++ b/.hgtags Wed Sep 04 16:45:43 2013 +0100 @@ -50,6 +50,7 @@ 9596dff460935f09684c11d156ce591f92584f0d jdk7-b73 1a66b08deed0459054b5b1bea3dfbead30d258fa jdk7-b74 2485f5641ed0829205aaaeb31ad711c2c2ef0de3 jdk7-b75 +83367f01297bf255f511f5291bbbbaa24a9c8459 icedtea7-1.12 8fb9b4be3cb1574302acde90549a4d333ef51e93 jdk7-b76 0398ae15b90ac76d87ee21844453e95ff8613e43 jdk7-b77 acc1e40a5874ebf32bebcb6ada565b3b40b7461c jdk7-b78 @@ -63,6 +64,7 @@ ef07347428f2198ae6b8144ac0b9086bbe39fd16 jdk7-b86 409db93d19c002333980df5b797c6b965150c7a0 jdk7-b87 f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88 +681f1f51926faf4c73d8905a429ff4ead6e9d622 icedtea7-1.13 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89 71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90 97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91 @@ -111,6 +113,7 @@ 3d7acdbb72cab55deedfd35f60d4732abc9d6ac4 jdk7-b134 9d0a61ac567b983da7cc8f4a7030f2245bb6dbab jdk7-b135 ed0f7f1f9511db4f9615b1426d22f8b961629275 jdk7-b136 +8e26c4aee63c04ee129bf9068f5eea47cc385177 icedtea-1.14 a15c9b058ae007d4ccb7e35ce44e4dfa977f090b jdk7-b137 53f212bed4f4304dce7f0bf0fa01c998c65bacd6 jdk7-b138 853b6bb99f9b58eb7cf8211c67d3b6e4f1228a3e jdk7-b139 @@ -123,6 +126,7 @@ 9425dd4f53d5bfcd992d9aecea0eb7d8b2d4f62b jdk7-b146 d34578643d1c6c752d4a6b5e79c6ab1b60850b4a jdk7u1-b01 58bc532d63418ac3c9b42460d89cdaf595c6f3e1 jdk7-b147 +fb7fb3071b642334520e5b9f4a87ce28717af61c icedtea-2.0-branchpoint cd2cc8b5edb045b950aed46d159b4fb8fc2fd1df jdk7u1-b02 82820a30201dbf4b80f1916f3d0f4a92ad21b61a jdk7u1-b03 baa2c13c70fea3d6e259a34f0903197fdceb64b5 jdk7u1-b04 @@ -141,6 +145,7 @@ f0802d8a0909f66ce19d3d44b33ddf4943aee076 jdk7u2-b12 f474527e77e4797d78bd6c3b31923fddcfd9d5c6 jdk7u2-b13 fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u2-b21 +58f6a950cd726220e81eddb126ca5c57e3b368f2 icedtea-2.1-branchpoint fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u3-b02 0ffc4995457773085f61c39f6d33edc242b41bcf jdk7u3-b03 f6de36b195cd315646213c7affd2cc15702edbfb jdk7u3-b04 @@ -157,6 +162,7 @@ 8919b2b02fcba65f833c68374f3bfdd9bc3ba814 jdk7u4-b10 4672e092f0968d503dc37f860b15ae7e2653f8d7 jdk7u4-b11 a4bf6a1aff54a98e9ff2b3fb53c719f658bec677 jdk7u4-b12 +e3537a4f75c7fcca16c349c3175bb0cdc2fbc29c icedtea-2.2-branchpoint 56eb9150d9ffdb71c47d72871e8ecc98b5f402de jdk7u4-b13 0e55881c2ee2984048c179d1e031cefb56a36bec jdk7u4-b14 0bea057f7ce1577e1b0306f2027c057e35394398 jdk7u5-b01 @@ -191,6 +197,7 @@ 47ae28da508861d77ee6dd408d822acf507b28ec jdk7u6-b15 5c7763489f4d2727c6d9de11f4114fb8ed839042 jdk7u6-b16 66c671f28cb2840ceec5b44c44bac073fc0b4256 jdk7u6-b17 +cee31ee38a190f77b1e21c0515bb28802dcd9678 icedtea-2.3-branchpoint 6aa859ef42876c51bb1b1d7fb4db32a916a7dcaa jdk7u6-b18 474a52eeeafb1feccffda68b96f651e65415c01d jdk7u6-b19 32acb67a79531daf678577c7ef1bde1867da807d jdk7u6-b20 @@ -258,6 +265,7 @@ 382bab6d9682eefa2185a1643dfa32d65b6c20e5 jdk7u12-b07 7c0c3aeb2c603baba2cabba9adc5a0a49afb4f47 jdk7u12-b08 96c4f3ec63552a87a825baabd7f0dfafec299483 jdk7u12-b09 +85fb9d7ce4af53f0a47d2b73d983c96239f9ff33 icedtea-2.4-branchpoint e5b1403fa68abe3ac7174c031f19e6ecf77624a0 jdk7u14-b10 db94066df63468172e074d59e71d82dc874ed7cb jdk7u14-b11 f9a326e92fafc4724f0af550c2cba82fea202a31 jdk7u14-b12 @@ -319,6 +327,7 @@ 5168a2c7af619364ddb342674ff880874c3b7897 jdk7u14-b19 e8c876a77def120b5eeb26535d0777c9b9f842f8 jdk7u14-b19 86ae75a68cc375cfc0559699b5270951aab09eb0 jdk7u14-b20 +cbb9be4fb46d8dfd3a8c32dc693f9501a64b9a47 icedtea-2.4.0 c31648d7a6ac692371f1e9abe95bc2856a7dc51c jdk7u14-b21 eb1c9eacea1f07c07e7e700db624649d3573dae4 jdk7u14-b22 e84535d2c292032669ac75a6a0afc5f23c708064 jdk7u40-b23 @@ -329,6 +338,7 @@ 9f2eea2fae59c5242d1bb4cbca967bb6fbb99865 jdk7u40-b28 bfe3575143fddbf71c2e570b580afef007d171e4 jdk7u40-b29 0586afeb2caa0b4595bf5b306657a5dd1f0d121c jdk7u40-b30 +91c95fd8eea822b47bcebd7eed22fdf3c404dd62 icedtea-2.4.1 9c343668b0a95e5510f715014884e5d45df9dfb0 jdk7u40-b31 056f998e75f87a299808671ecc0d96e270f62dca jdk7u40-b32 e36d8f754801c9d17585a9469f9b33f9799167f8 jdk7u40-b33 @@ -338,3 +348,8 @@ 31908290e4c2241ae9a8000c2a80e0f5fbad2a2c jdk7u40-b37 21672c0e6691cfa1a477e7f0065afecb4148ddff jdk7u40-b38 81925e555c94bb19c44bc21ff3e513ea19efbd10 jdk7u40-b39 +0e83f513af688a0b9fd6c9d9389c247ef6fb1afb jdk7u40-b40 +95cefc18bea41615c6c9b85ccbdf62af899174cb jdk7u40-b41 +765bea9bfcfc8c472df0a2daced5e576095f46ac jdk7u40-b42 +988ece7b686564084770e99ca26746c45ffb933f jdk7u40-b43 +a67dbf96bf86989d0392cc5b66e5d4139cbceec7 jdk7u40-b60 diff -r 0e83f513af68 -r 06ea051f7ffe .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:51 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 0e83f513af68 -r 06ea051f7ffe make/Makefile --- a/make/Makefile Mon Aug 12 12:07:51 2013 -0700 +++ b/make/Makefile Wed Sep 04 16:45:43 2013 +0100 @@ -111,6 +111,10 @@ ANT_OPTIONS += -Ddebug.classfiles=true endif +ifeq ($(JAVAC_WARNINGS_FATAL), false) + ANT_OPTIONS += -Djavac.warnings.fatal= +endif + # Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN) # and the somewhat misnamed CLASS_VERSION (-target NN) ifdef TARGET_CLASS_VERSION diff -r 0e83f513af68 -r 06ea051f7ffe make/build.properties --- a/make/build.properties Mon Aug 12 12:07:51 2013 -0700 +++ b/make/build.properties Wed Sep 04 16:45:43 2013 +0100 @@ -68,7 +68,8 @@ # set the following to -version to verify the versions of javac being used javac.version.opt = # in time, there should be no exceptions to -Xlint:all -javac.lint.opts = -Xlint:all,-deprecation -Werror +javac.warnings.fatal = -Werror +javac.lint.opts = -Xlint:all,-deprecation ${javac.warnings.fatal} # options for the task for javac #javadoc.jls3.url=http://java.sun.com/docs/books/jls/ diff -r 0e83f513af68 -r 06ea051f7ffe make/build.xml --- a/make/build.xml Mon Aug 12 12:07:51 2013 -0700 +++ b/make/build.xml Wed Sep 04 16:45:43 2013 +0100 @@ -877,7 +877,7 @@ + classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/> From andrew at icedtea.classpath.org Wed Sep 4 10:23:25 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:25 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: 12 new changesets Message-ID: changeset 4445f65c4793 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=4445f65c4793 author: asaha date: Mon Aug 19 12:18:27 2013 -0700 Added tag jdk7u40-b40 for changeset 86673506aeb6 changeset 4e779305ed58 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=4e779305ed58 author: katleman date: Wed Aug 21 12:11:02 2013 -0700 Added tag jdk7u40-b41 for changeset 4445f65c4793 changeset 48193a76dc3a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=48193a76dc3a author: katleman date: Mon Aug 26 07:41:23 2013 -0700 Added tag jdk7u40-b42 for changeset 4e779305ed58 changeset b006d79fa741 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=b006d79fa741 author: amurillo date: Fri Jul 26 12:13:19 2013 -0700 8021565: new hotspot build - hs24-b56 Reviewed-by: jcoomes changeset 84c2eb6a682b in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=84c2eb6a682b author: kevinw date: Fri Aug 02 12:26:46 2013 +0100 8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() Reviewed-by: mgerdin, fparain, dcubed changeset 2bf38259b945 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=2bf38259b945 author: amurillo date: Mon Aug 26 11:51:26 2013 -0700 8023751: Need to backout 8020943, was pushed to hs24 without approval Reviewed-by: jcoomes changeset b8d8caf6df74 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=b8d8caf6df74 author: amurillo date: Mon Aug 26 11:56:32 2013 -0700 Merge changeset eceae0478243 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=eceae0478243 author: amurillo date: Mon Aug 26 11:56:33 2013 -0700 Added tag hs24-b56 for changeset b8d8caf6df74 changeset af1fc2868a2b in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=af1fc2868a2b author: katleman date: Tue Aug 27 08:42:54 2013 -0700 Added tag jdk7u40-b43 for changeset eceae0478243 changeset bf3a8b634b75 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=bf3a8b634b75 author: katleman date: Tue Sep 03 22:34:28 2013 -0700 Added tag jdk7u40-b60 for changeset af1fc2868a2b changeset 30b96ab0954c in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=30b96ab0954c author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 changeset f3f4df30a468 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=f3f4df30a468 author: andrew date: Wed Sep 04 18:21:33 2013 +0100 PR1551: Add build support for Zero AArch64 diffstat: .hgtags | 16 + .jcheck/conf | 2 - agent/src/os/linux/Makefile | 11 +- agent/src/os/linux/libproc.h | 29 +- make/hotspot_version | 2 +- make/linux/makefiles/adlc.make | 2 + make/linux/makefiles/buildtree.make | 2 + make/linux/makefiles/defs.make | 52 ++- make/linux/makefiles/gcc.make | 30 +- make/linux/makefiles/jsig.make | 6 +- make/linux/makefiles/rules.make | 10 - make/linux/makefiles/saproc.make | 6 +- make/linux/makefiles/vm.make | 61 ++- make/linux/makefiles/zero.make | 4 + make/linux/platform_zero.in | 2 +- make/solaris/makefiles/adlc.make | 6 +- make/solaris/makefiles/dtrace.make | 16 + make/solaris/makefiles/gcc.make | 4 +- make/solaris/makefiles/jsig.make | 4 + make/solaris/makefiles/rules.make | 10 - make/solaris/makefiles/saproc.make | 4 + make/solaris/makefiles/vm.make | 12 + make/windows/makefiles/vm.make | 8 + src/cpu/x86/vm/c2_globals_x86.hpp | 2 +- src/cpu/zero/vm/sharedRuntime_zero.cpp | 4 +- src/os/linux/vm/os_linux.cpp | 62 +++- src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp | 11 +- src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 2 +- src/share/vm/asm/codeBuffer.hpp | 2 +- src/share/vm/ci/ciTypeFlow.cpp | 2 +- src/share/vm/classfile/systemDictionary.cpp | 1 - src/share/vm/compiler/methodLiveness.cpp | 12 +- src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp | 6 +- src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp | 4 +- src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp | 2 +- src/share/vm/memory/collectorPolicy.cpp | 2 +- src/share/vm/memory/threadLocalAllocBuffer.cpp | 2 +- src/share/vm/prims/jni.cpp | 2 +- src/share/vm/prims/jvmtiEnv.cpp | 3 + src/share/vm/runtime/arguments.cpp | 9 +- src/share/vm/runtime/globals.hpp | 2 +- src/share/vm/runtime/os.cpp | 3 + src/share/vm/shark/sharkCompiler.cpp | 4 +- src/share/vm/trace/trace.dtd | 3 - src/share/vm/trace/traceEventClasses.xsl | 2 +- src/share/vm/trace/traceEventIds.xsl | 2 +- src/share/vm/trace/traceTypes.xsl | 2 +- src/share/vm/utilities/bitMap.hpp | 2 +- src/share/vm/utilities/macros.hpp | 8 + src/share/vm/utilities/ostream.cpp | 2 +- src/share/vm/utilities/vmError.cpp | 10 +- test/runtime/7020373/GenOOMCrashClass.java | 157 ++++++++++ test/runtime/7020373/Test7020373.sh | 4 + test/runtime/7020373/testcase.jar | Bin 54 files changed, 481 insertions(+), 147 deletions(-) diffs (truncated from 1613 to 500 lines): diff -r 86673506aeb6 -r f3f4df30a468 .hgtags --- a/.hgtags Mon Aug 12 12:07:33 2013 -0700 +++ b/.hgtags Wed Sep 04 18:21:33 2013 +0100 @@ -50,6 +50,7 @@ faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75 +b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78 @@ -87,6 +88,7 @@ 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88 +a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90 @@ -160,6 +162,7 @@ b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06 +591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138 @@ -182,6 +185,7 @@ 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17 +7693eb0fce1f6b484cce96c233ea20bdad8a09e0 icedtea-2.0-branchpoint 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02 @@ -210,6 +214,7 @@ 3ba0bb2e7c8ddac172f5b995aae57329cdd2dafa hs22-b10 f17fe2f4b6aacc19cbb8ee39476f2f13a1c4d3cd jdk7u2-b13 0744602f85c6fe62255326df595785eb2b32166d jdk7u2-b21 +f8f4d3f9b16567b91bcef4caaa8417c8de8015f0 icedtea-2.1-branchpoint a40d238623e5b1ab1224ea6b36dc5b23d0a53880 jdk7u3-b02 6986bfb4c82e00b938c140f2202133350e6e73f8 jdk7u3-b03 8e6375b46717d74d4885f839b4e72d03f357a45f jdk7u3-b04 @@ -264,6 +269,7 @@ f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16 +a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13 82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14 e5f7f95411fb9e837800b4152741c962118e5d7a jdk7u5-b01 @@ -311,6 +317,7 @@ cefe884c708aa6dfd63aff45f6c698a6bc346791 jdk7u6-b16 270a40a57b3d05ca64070208dcbb895b5b509d8e hs23.2-b08 7a37cec9d0d44ae6ea3d26a95407e42d99af6843 jdk7u6-b17 +354cfde7db2f1fd46312d883a63c8a76d5381bab icedtea-2.3-branchpoint df0df4ae5af2f40b7f630c53a86e8c3d68ef5b66 jdk7u6-b18 1257f4373a06f788bd656ae1c7a953a026a285b9 jdk7u6-b19 a0c2fa4baeb6aad6f33dc87b676b21345794d61e hs23.2-b09 @@ -440,6 +447,7 @@ 4f7ad6299356bfd2cfb448ea4c11e8ce0fbf69f4 jdk7u12-b07 3bb803664f3d9c831d094cbe22b4ee5757e780c8 jdk7u12-b08 92e382c3cccc0afbc7f72fccea4f996e05b66b3e jdk7u12-b09 +6e4feb17117d21e0e4360f2d0fbc68397ed3ba80 icedtea-2.4-branchpoint 7554f9b2bcc72204ac10ba8b08b8e648459504df hs24-b29 181528fd1e74863a902f171a2ad46270a2fb15e0 jdk7u14-b10 4008cf63c30133f2fac148a39903552fe7a33cea hs24-b30 @@ -492,6 +500,7 @@ c23596bfe3b8a21076f8454a3cd6606ee7e928a5 jdk7u14-b20 d6cf0e0eee29e173b8446455991e22249da0e860 hs24-b39 3295faa5b5cc4f165c0e6798fd40ab4f5c17dd6d hs24-b40 +ed247f9fb4fee475dd6334d20e91779807522bb3 icedtea-2.4.0 3e88170d8be276660cd4f347bd514c446bb65d58 jdk7u14-b21 d90c913b810356d43c8e64f08c0f5e60f9c2ca08 hs24-b41 aa9a5e33e823df5f51e9b5d4e85ae91919424179 jdk7u14-b22 @@ -512,6 +521,7 @@ 88e43f47a8da8093743a1b6ca1ae4b79d994472a hs24-b49 24f785f94d2f5be0f5c48e80f2a6cc7f8815dd8b jdk7u40-b30 41118cf72ace4f0cee56a9ff437226e98e46e9d7 hs24-b50 +5f53e771711627b23e8c9ac53121e1e8ea9f00b4 icedtea-2.4.1 645b68762a367d82c2b55f76cae431b767bee3ac jdk7u40-b31 2417fa1acf2ba8521f480f2baef9af279ec2bf15 hs24-b51 9658c969b7cf0de256691a80f44dcfe73d72a02f jdk7u40-b32 @@ -544,3 +554,9 @@ 295528bfcdd10051f72572a26bfad2317b7de464 jdk7u40-b37 1f3b0ff9649c4be3b08cc829d37eee98d9c6e605 jdk7u40-b38 74de360e341530494c05af1ea1358abea0be93e0 jdk7u40-b39 +86673506aeb60dfa66d90233e6bbbb06e864589e jdk7u40-b40 +4445f65c4793f8421c12423396776f36765433a8 jdk7u40-b41 +4e779305ed58e21b433626ac06b5eb884055183b jdk7u40-b42 +b8d8caf6df744d5342b5d284376a005e86c0b108 hs24-b56 +eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43 +af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60 diff -r 86673506aeb6 -r f3f4df30a468 .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:33 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 86673506aeb6 -r f3f4df30a468 agent/src/os/linux/Makefile --- a/agent/src/os/linux/Makefile Mon Aug 12 12:07:33 2013 -0700 +++ b/agent/src/os/linux/Makefile Wed Sep 04 18:21:33 2013 +0100 @@ -23,7 +23,12 @@ # ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) -GCC = gcc + +ifndef BUILD_GCC +BUILD_GCC = gcc +endif + +GCC = $(BUILD_GCC) JAVAH = ${JAVA_HOME}/bin/javah @@ -40,7 +45,7 @@ LIBS = -lthread_db -CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64 +CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) -D_FILE_OFFSET_BITS=64 LIBSA = $(ARCH)/libsaproc.so @@ -73,7 +78,7 @@ $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) test.o: test.c - $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c + $(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c test: test.o $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS) diff -r 86673506aeb6 -r f3f4df30a468 agent/src/os/linux/libproc.h --- a/agent/src/os/linux/libproc.h Mon Aug 12 12:07:33 2013 -0700 +++ b/agent/src/os/linux/libproc.h Wed Sep 04 18:21:33 2013 +0100 @@ -41,9 +41,34 @@ These two files define pt_regs structure differently */ #ifdef _LP64 -#include "asm-sparc64/ptrace.h" +struct pt_regs { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + + /* We encode a magic number, PT_REGS_MAGIC, along + * with the %tt (trap type) register value at trap + * entry time. The magic number allows us to identify + * accurately a trap stack frame in the stack + * unwinder, and the %tt value allows us to test + * things like "in a system call" etc. for an arbitray + * process. + * + * The PT_REGS_MAGIC is chosen such that it can be + * loaded completely using just a sethi instruction. + */ + unsigned int magic; +}; #else -#include "asm-sparc/ptrace.h" +struct pt_regs { + unsigned long psr; + unsigned long pc; + unsigned long npc; + unsigned long y; + unsigned long u_regs[16]; /* globals and ins */ +}; #endif #endif //sparc or sparcv9 diff -r 86673506aeb6 -r f3f4df30a468 make/hotspot_version --- a/make/hotspot_version Mon Aug 12 12:07:33 2013 -0700 +++ b/make/hotspot_version Wed Sep 04 18:21:33 2013 +0100 @@ -35,7 +35,7 @@ HS_MAJOR_VER=24 HS_MINOR_VER=0 -HS_BUILD_NUMBER=55 +HS_BUILD_NUMBER=56 JDK_MAJOR_VER=1 JDK_MINOR_VER=7 diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/adlc.make --- a/make/linux/makefiles/adlc.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/adlc.make Wed Sep 04 18:21:33 2013 +0100 @@ -68,7 +68,9 @@ # CFLAGS_WARN holds compiler options to suppress/enable warnings. # Compiler warnings are treated as errors +ifneq ($(COMPILER_WARNINGS_FATAL),false) CFLAGS_WARN = -Werror +endif CFLAGS += $(CFLAGS_WARN) OBJECTNAMES = \ diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/buildtree.make Wed Sep 04 18:21:33 2013 +0100 @@ -57,6 +57,7 @@ # having to read the dependency files for the vm. -include $(SPEC) +include $(GAMMADIR)/make/defs.make include $(GAMMADIR)/make/scm.make include $(GAMMADIR)/make/altsrc.make @@ -194,6 +195,7 @@ $(BUILDTREE_COMMENT); \ echo; \ echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \ + echo "JVM_VARIANTS = $(JVM_VARIANTS)"; \ sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \ echo; \ echo "GAMMADIR = $(GAMMADIR)"; \ diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/defs.make --- a/make/linux/makefiles/defs.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/defs.make Wed Sep 04 18:21:33 2013 +0100 @@ -242,10 +242,14 @@ # client and server subdirectories have symbolic links to ../libjsig.so EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz - else - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo + ifneq ($(ZERO_BUILD), true) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz + else + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo + endif + endif endif endif EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server @@ -254,11 +258,13 @@ ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX) - ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz - else - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz + else + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo + endif endif endif endif @@ -266,11 +272,13 @@ ifeq ($(JVM_VARIANT_CLIENT),true) EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) - ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz - else - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz + else + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo + endif endif endif endif @@ -282,12 +290,16 @@ ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ $(EXPORT_LIB_DIR)/sa-jdi.jar ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz - ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz - else - ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo - ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + ifneq ($(ZERO_BUILD), true) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz + else + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + endif + endif endif endif ADD_SA_BINARIES/ppc = diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/gcc.make Wed Sep 04 18:21:33 2013 +0100 @@ -30,22 +30,21 @@ # When cross-compiling the ALT_COMPILER_PATH points # to the cross-compilation toolset ifdef CROSS_COMPILE_ARCH - CXX = $(ALT_COMPILER_PATH)/g++ - CC = $(ALT_COMPILER_PATH)/gcc - HOSTCXX = g++ - HOSTCC = gcc - STRIP = $(ALT_COMPILER_PATH)/strip + CXX ?= $(ALT_COMPILER_PATH)/g++ + CC ?= $(ALT_COMPILER_PATH)/gcc + HOSTCXX ?= g++ + HOSTCC ?= gcc + STRIP ?= $(ALT_COMPILER_PATH)/strip else - CXX = g++ - CC = gcc - HOSTCXX = $(CXX) - HOSTCC = $(CC) - STRIP = strip + CXX ?= g++ + CC ?= gcc + HOSTCXX ?= $(CXX) + HOSTCC ?= $(CC) + STRIP ?= strip endif AS = $(CC) -c endif - # -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only # prints the numbers (e.g. "2.95", "3.2.1") CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1) @@ -66,15 +65,16 @@ # Compiler flags # position-independent code +ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) PICFLAG = -fPIC +else +PICFLAG = -fpic +endif VM_PICFLAG/LIBJVM = $(PICFLAG) VM_PICFLAG/AOUT = VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) -ifeq ($(JVM_VARIANT_ZERO), true) -CFLAGS += $(LIBFFI_CFLAGS) -endif ifeq ($(JVM_VARIANT_ZEROSHARK), true) CFLAGS += $(LIBFFI_CFLAGS) CFLAGS += $(LLVM_CFLAGS) @@ -129,7 +129,9 @@ endif # Compiler warnings are treated as errors +ifneq ($(COMPILER_WARNINGS_FATAL),false) WARNINGS_ARE_ERRORS = -Werror +endif # Except for a few acceptable ones # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/jsig.make --- a/make/linux/makefiles/jsig.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/jsig.make Wed Sep 04 18:21:33 2013 +0100 @@ -62,8 +62,10 @@ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ + endif ifeq ($(STRIP_POLICY),all_strip) $(QUIETLY) $(STRIP) $@ else @@ -73,10 +75,12 @@ endif endif [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } - ifeq ($(ZIP_DEBUGINFO_FILES),1) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); } + endif endif endif diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/rules.make --- a/make/linux/makefiles/rules.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/rules.make Wed Sep 04 18:21:33 2013 +0100 @@ -143,20 +143,10 @@ include $(GAMMADIR)/make/altsrc.make -# The non-PIC object files are only generated for 32 bit platforms. -ifdef LP64 %.o: %.cpp @echo Compiling $< $(QUIETLY) $(REMOVE_TARGET) $(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE) -else -%.o: %.cpp - @echo Compiling $< - $(QUIETLY) $(REMOVE_TARGET) - $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ - $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \ - $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)) -endif %.o: %.s @echo Assembling $< diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/saproc.make --- a/make/linux/makefiles/saproc.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/saproc.make Wed Sep 04 18:21:33 2013 +0100 @@ -101,8 +101,11 @@ -lthread_db $(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ + [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } + endif ifeq ($(STRIP_POLICY),all_strip) $(QUIETLY) $(STRIP) $@ else @@ -111,11 +114,12 @@ # implied else here is no stripping at all endif endif - [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } ifeq ($(ZIP_DEBUGINFO_FILES),1) + ifneq ($(STRIP_POLICY),no_strip) $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } + endif endif endif diff -r 86673506aeb6 -r f3f4df30a468 make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Mon Aug 12 12:07:33 2013 -0700 +++ b/make/linux/makefiles/vm.make Wed Sep 04 18:21:33 2013 +0100 @@ -98,6 +98,10 @@ ${HS_LIB_ARCH} \ ${VM_DISTRO} +ifdef DERIVATIVE_ID +CPPFLAGS += -DDERIVATIVE_ID="\"$(DERIVATIVE_ID)\"" +endif + # This is VERY important! The version define must only be supplied to vm_version.o # If not, ccache will not re-use the cache at all, since the version string might contain # a time and date. @@ -112,6 +116,10 @@ CFLAGS += -DINCLUDE_TRACE=1 endif +ifdef DISTRIBUTION_ID +CPPFLAGS += -DDISTRIBUTION_ID="\"$(DISTRIBUTION_ID)\"" +endif + # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN/BYFILE) @@ -244,13 +252,15 @@ vm.def: $(Res_Files) $(Obj_Files) sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@ -ifeq ($(JVM_VARIANT_ZEROSHARK), true) - STATIC_CXX = false -else - ifeq ($(ZERO_LIBARCH), ppc64) +ifeq ($(STATIC_CXX),) + ifeq ($(JVM_VARIANT_ZEROSHARK), true) STATIC_CXX = false else - STATIC_CXX = true + ifeq ($(ZERO_LIBARCH), ppc64) + STATIC_CXX = false + else + STATIC_CXX = true + endif endif endif @@ -276,9 +286,6 @@ LIBS_VM += $(LIBS) endif -ifeq ($(JVM_VARIANT_ZERO), true) - LIBS_VM += $(LIBFFI_LIBS) From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:23:32 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:32 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=f3f4df30a468 author: andrew date: Wed Sep 04 18:21:33 2013 +0100 PR1551: Add build support for Zero AArch64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/94e1912b/attachment.html From andrew at icedtea.classpath.org Wed Sep 4 10:23:45 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:45 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 14 new changesets Message-ID: changeset ae85cfff71e9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ae85cfff71e9 author: asaha date: Mon Aug 19 12:19:01 2013 -0700 Added tag jdk7u40-b40 for changeset 42b57fb81c39 changeset b479996d5c92 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=b479996d5c92 author: katleman date: Wed Aug 21 12:11:37 2013 -0700 Added tag jdk7u40-b41 for changeset ae85cfff71e9 changeset fb25cdef17e9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=fb25cdef17e9 author: katleman date: Mon Aug 26 07:41:45 2013 -0700 Added tag jdk7u40-b42 for changeset b479996d5c92 changeset ed444a09a5fd in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ed444a09a5fd author: katleman date: Tue Aug 27 08:43:09 2013 -0700 Added tag jdk7u40-b43 for changeset fb25cdef17e9 changeset 168bd87376ea in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=168bd87376ea author: katleman date: Tue Sep 03 22:34:40 2013 -0700 Added tag jdk7u40-b60 for changeset ed444a09a5fd changeset 73dacb7e1e46 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=73dacb7e1e46 author: andrew date: Wed Sep 04 16:45:43 2013 +0100 Merge jdk7u40-b60 changeset 8c32012ed998 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8c32012ed998 author: jgodinez date: Wed Feb 06 14:45:02 2013 -0800 8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com changeset e48d34b7f242 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e48d34b7f242 author: ebaron date: Wed Aug 14 17:42:50 2013 +0100 Handle alternative Kerberos credential cache locations changeset 5d4700b439fc in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5d4700b439fc author: andrew date: Fri Aug 30 01:00:23 2013 +0100 Fix Kerberos cache support to check for null, fallback on old path support and not hardcode the krb5 library. changeset 4b7642bbc8d7 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4b7642bbc8d7 author: andrew date: Tue Sep 03 15:19:59 2013 +0100 Only define _GNU_SOURCE if not already defined. changeset 560c783d93b3 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=560c783d93b3 author: andrew date: Wed Sep 04 17:28:03 2013 +0100 PR1551: Add build support for Zero AArch64 changeset 9c5337739f79 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9c5337739f79 author: andrew date: Wed Sep 04 17:32:38 2013 +0100 PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. changeset abcc5e95d577 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=abcc5e95d577 author: andrew date: Wed Sep 04 17:53:23 2013 +0100 PR1553: Add Debian AArch64 support changeset b2611b1a750c in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=b2611b1a750c author: andrew date: Wed Sep 04 18:20:38 2013 +0100 PR1554: Fix build on Mac OS X Contributed-by: Alex Kasko diffstat: .hgtags | 15 + .jcheck/conf | 2 - make/com/sun/java/pack/Makefile | 7 +- make/com/sun/nio/sctp/Makefile | 2 + make/common/Defs-linux.gmk | 23 +- make/common/Library.gmk | 40 +- make/common/Program.gmk | 80 +- make/common/Release.gmk | 20 +- make/common/shared/Compiler-gcc.gmk | 76 +- make/common/shared/Defs-java.gmk | 11 +- make/common/shared/Defs-versions.gmk | 2 +- make/common/shared/Defs.gmk | 2 +- make/common/shared/Platform.gmk | 9 + make/common/shared/Sanity.gmk | 8 + make/docs/Makefile | 6 +- make/java/net/FILES_c.gmk | 7 + make/java/net/Makefile | 26 +- make/java/nio/Makefile | 226 +- make/java/security/Makefile | 12 +- make/java/sun_nio/Makefile | 2 +- make/java/version/Makefile | 5 + make/javax/sound/SoundDefs.gmk | 52 + make/jdk_generic_profile.sh | 89 +- make/sun/awt/FILES_c_unix.gmk | 10 + make/sun/awt/Makefile | 2 +- make/sun/awt/mawt.gmk | 39 +- make/sun/cmm/lcms/FILES_c_unix.gmk | 7 +- make/sun/cmm/lcms/Makefile | 8 +- make/sun/font/Makefile | 6 +- make/sun/jawt/Makefile | 7 + make/sun/jpeg/FILES_c.gmk | 6 +- make/sun/jpeg/Makefile | 11 +- make/sun/lwawt/FILES_c_macosx.gmk | 6 + make/sun/lwawt/Makefile | 7 +- make/sun/native2ascii/Makefile | 2 +- make/sun/net/FILES_java.gmk | 1 + make/sun/nio/cs/Makefile | 2 +- make/sun/security/Makefile | 11 +- make/sun/security/krb5/internal/ccache/Makefile | 49 + make/sun/security/pkcs11/mapfile-vers | 4 +- make/sun/splashscreen/FILES_c.gmk | 78 +- make/sun/splashscreen/Makefile | 35 +- make/sun/xawt/FILES_c_unix.gmk | 20 + make/sun/xawt/Makefile | 62 +- make/tools/Makefile | 9 + make/tools/freetypecheck/Makefile | 2 +- make/tools/generate_nimbus/Makefile | 1 + make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java | 22 +- make/tools/src/build/tools/compileproperties/CompileProperties.java | 9 +- make/tools/src/build/tools/dirdiff/DirDiff.java | 4 +- make/tools/src/build/tools/dtdbuilder/DTDBuilder.java | 34 +- make/tools/src/build/tools/dtdbuilder/DTDInputStream.java | 6 +- make/tools/src/build/tools/dtdbuilder/DTDParser.java | 44 +- make/tools/src/build/tools/dtdbuilder/PublicMapping.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/CharSet.java | 16 +- make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java | 8 +- make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java | 201 +- make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java | 6 +- make/tools/src/build/tools/generatecharacter/GenerateCharacter.java | 4 +- make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java | 147 +- make/tools/src/build/tools/generatecharacter/UnicodeSpec.java | 22 +- make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java | 4 +- make/tools/src/build/tools/hasher/Hasher.java | 38 +- make/tools/src/build/tools/jarsplit/JarSplit.java | 5 +- make/tools/src/build/tools/javazic/Gen.java | 14 +- make/tools/src/build/tools/javazic/GenDoc.java | 16 +- make/tools/src/build/tools/javazic/Main.java | 3 +- make/tools/src/build/tools/javazic/Simple.java | 23 +- make/tools/src/build/tools/javazic/Time.java | 10 +- make/tools/src/build/tools/javazic/Zoneinfo.java | 18 +- make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java | 14 +- make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java | 26 +- make/tools/src/build/tools/jdwpgen/AltNode.java | 4 +- make/tools/src/build/tools/jdwpgen/CommandSetNode.java | 11 +- make/tools/src/build/tools/jdwpgen/ConstantSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/ErrorSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/Node.java | 25 +- make/tools/src/build/tools/jdwpgen/OutNode.java | 14 +- make/tools/src/build/tools/jdwpgen/RootNode.java | 10 +- make/tools/src/build/tools/jdwpgen/SelectNode.java | 10 +- make/tools/src/build/tools/makeclasslist/MakeClasslist.java | 15 +- make/tools/src/build/tools/stripproperties/StripProperties.java | 4 +- src/share/bin/java.c | 8 +- src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java | 6 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | 2 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | 2 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java | 3 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java | 10 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java | 5 +- src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java | 2 + src/share/classes/com/sun/jndi/dns/DnsContextFactory.java | 2 +- src/share/classes/com/sun/naming/internal/ResourceManager.java | 42 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java | 2 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java | 8 +- src/share/classes/com/sun/script/javascript/RhinoTopLevel.java | 3 +- src/share/classes/java/awt/color/ICC_Profile.java | 4 +- src/share/classes/java/io/InputStream.java | 2 +- src/share/classes/java/net/SocksSocketImpl.java | 4 +- src/share/classes/java/security/Policy.java | 1 - src/share/classes/javax/crypto/Cipher.java | 172 +- src/share/classes/javax/swing/JComponent.java | 13 +- src/share/classes/javax/swing/JDialog.java | 3 +- src/share/classes/javax/swing/JEditorPane.java | 11 +- src/share/classes/javax/swing/JFrame.java | 10 +- src/share/classes/javax/swing/JInternalFrame.java | 6 +- src/share/classes/javax/swing/JPopupMenu.java | 10 +- src/share/classes/javax/swing/MenuSelectionManager.java | 5 +- src/share/classes/javax/swing/PopupFactory.java | 14 +- src/share/classes/javax/swing/SwingUtilities.java | 6 +- src/share/classes/javax/swing/SwingWorker.java | 2 +- src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java | 6 +- src/share/classes/javax/swing/plaf/basic/BasicListUI.java | 5 +- src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java | 16 +- src/share/classes/javax/swing/plaf/basic/BasicTableUI.java | 8 +- src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java | 3 +- src/share/classes/javax/swing/plaf/synth/ImagePainter.java | 5 +- src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java | 3 +- src/share/classes/javax/swing/text/JTextComponent.java | 6 +- src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java | 2 - src/share/classes/sun/applet/AppletPanel.java | 10 +- src/share/classes/sun/applet/AppletViewerPanel.java | 18 +- src/share/classes/sun/awt/image/JPEGImageDecoder.java | 2 +- src/share/classes/sun/java2d/cmm/lcms/LCMS.java | 2 +- src/share/classes/sun/misc/SharedSecrets.java | 7 +- src/share/classes/sun/misc/Version.java.template | 58 +- src/share/classes/sun/rmi/registry/RegistryImpl.java | 14 + src/share/classes/sun/rmi/server/LoaderHandler.java | 2 +- src/share/classes/sun/rmi/server/UnicastServerRef.java | 2 +- src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java | 96 +- src/share/classes/sun/security/pkcs11/Config.java | 3 + src/share/classes/sun/security/pkcs11/P11Digest.java | 185 +- src/share/classes/sun/security/pkcs11/P11KeyAgreement.java | 4 +- src/share/classes/sun/security/pkcs11/P11Signature.java | 7 +- src/share/classes/sun/security/pkcs11/P11Util.java | 16 +- src/share/classes/sun/security/pkcs11/SunPKCS11.java | 23 +- src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java | 377 +- src/share/classes/sun/security/provider/certpath/OCSP.java | 18 +- src/share/classes/sun/security/ssl/SSLEngineImpl.java | 11 + src/share/classes/sun/security/util/KeyUtil.java | 21 +- src/share/classes/sun/security/util/ObjectIdentifier.java | 2 +- src/share/classes/sun/swing/DefaultLookup.java | 3 +- src/share/classes/sun/swing/SwingUtilities2.java | 17 +- src/share/classes/sun/tools/jar/Main.java | 2 +- src/share/classes/sun/tools/native2ascii/Main.java | 9 +- src/share/classes/sun/util/calendar/ZoneInfoFile.java | 41 +- src/share/demo/jvmti/gctest/sample.makefile.txt | 6 +- src/share/demo/jvmti/heapTracker/sample.makefile.txt | 19 +- src/share/demo/jvmti/heapViewer/sample.makefile.txt | 5 +- src/share/demo/jvmti/hprof/sample.makefile.txt | 6 +- src/share/demo/jvmti/minst/sample.makefile.txt | 19 +- src/share/demo/jvmti/mtrace/sample.makefile.txt | 20 +- src/share/demo/jvmti/versionCheck/sample.makefile.txt | 6 +- src/share/demo/jvmti/waiters/sample.makefile.txt | 8 +- src/share/lib/security/java.security-linux | 4 + src/share/lib/security/java.security-macosx | 4 + src/share/lib/security/java.security-solaris | 4 + src/share/lib/security/java.security-windows | 4 + src/share/lib/security/nss.cfg.in | 5 + src/share/lib/security/sunpkcs11-solaris.cfg | 14 +- src/share/native/com/sun/java/util/jar/pack/unpack.cpp | 1 - src/share/native/com/sun/media/sound/SoundDefs.h | 9 + src/share/native/java/util/zip/Deflater.c | 46 +- src/share/native/java/util/zip/Inflater.c | 6 +- src/share/native/sun/awt/image/awt_ImageRep.c | 2 +- src/share/native/sun/awt/image/jpeg/README | 385 -- src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 7 +- src/share/native/sun/awt/image/jpeg/jcapimin.c | 284 - src/share/native/sun/awt/image/jpeg/jcapistd.c | 165 - src/share/native/sun/awt/image/jpeg/jccoefct.c | 453 -- src/share/native/sun/awt/image/jpeg/jccolor.c | 462 -- src/share/native/sun/awt/image/jpeg/jcdctmgr.c | 391 -- src/share/native/sun/awt/image/jpeg/jchuff.c | 913 ----- src/share/native/sun/awt/image/jpeg/jchuff.h | 51 - src/share/native/sun/awt/image/jpeg/jcinit.c | 76 - src/share/native/sun/awt/image/jpeg/jcmainct.c | 297 - src/share/native/sun/awt/image/jpeg/jcmarker.c | 682 --- src/share/native/sun/awt/image/jpeg/jcmaster.c | 594 --- src/share/native/sun/awt/image/jpeg/jcomapi.c | 110 - src/share/native/sun/awt/image/jpeg/jconfig.h | 43 - src/share/native/sun/awt/image/jpeg/jcparam.c | 614 --- src/share/native/sun/awt/image/jpeg/jcphuff.c | 837 ---- src/share/native/sun/awt/image/jpeg/jcprepct.c | 358 -- src/share/native/sun/awt/image/jpeg/jcsample.c | 523 --- src/share/native/sun/awt/image/jpeg/jctrans.c | 392 -- src/share/native/sun/awt/image/jpeg/jdapimin.c | 399 -- src/share/native/sun/awt/image/jpeg/jdapistd.c | 279 - src/share/native/sun/awt/image/jpeg/jdcoefct.c | 740 ---- src/share/native/sun/awt/image/jpeg/jdcolor.c | 398 -- src/share/native/sun/awt/image/jpeg/jdct.h | 180 - src/share/native/sun/awt/image/jpeg/jddctmgr.c | 273 - src/share/native/sun/awt/image/jpeg/jdhuff.c | 655 --- src/share/native/sun/awt/image/jpeg/jdhuff.h | 205 - src/share/native/sun/awt/image/jpeg/jdinput.c | 385 -- src/share/native/sun/awt/image/jpeg/jdmainct.c | 516 -- src/share/native/sun/awt/image/jpeg/jdmarker.c | 1384 -------- src/share/native/sun/awt/image/jpeg/jdmaster.c | 561 --- src/share/native/sun/awt/image/jpeg/jdmerge.c | 404 -- src/share/native/sun/awt/image/jpeg/jdphuff.c | 672 --- src/share/native/sun/awt/image/jpeg/jdpostct.c | 294 - src/share/native/sun/awt/image/jpeg/jdsample.c | 482 -- src/share/native/sun/awt/image/jpeg/jdtrans.c | 147 - src/share/native/sun/awt/image/jpeg/jerror.c | 272 - src/share/native/sun/awt/image/jpeg/jerror.h | 295 - src/share/native/sun/awt/image/jpeg/jfdctflt.c | 172 - src/share/native/sun/awt/image/jpeg/jfdctfst.c | 228 - src/share/native/sun/awt/image/jpeg/jfdctint.c | 287 - src/share/native/sun/awt/image/jpeg/jidctflt.c | 246 - src/share/native/sun/awt/image/jpeg/jidctfst.c | 372 -- src/share/native/sun/awt/image/jpeg/jidctint.c | 393 -- src/share/native/sun/awt/image/jpeg/jidctred.c | 402 -- src/share/native/sun/awt/image/jpeg/jinclude.h | 95 - src/share/native/sun/awt/image/jpeg/jmemmgr.c | 1124 ------ src/share/native/sun/awt/image/jpeg/jmemnobs.c | 113 - src/share/native/sun/awt/image/jpeg/jmemsys.h | 202 - src/share/native/sun/awt/image/jpeg/jmorecfg.h | 378 -- src/share/native/sun/awt/image/jpeg/jpeg-6b/README | 385 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapimin.c | 284 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapistd.c | 165 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jccoefct.c | 453 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jccolor.c | 462 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcdctmgr.c | 391 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.c | 913 +++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.h | 51 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcinit.c | 76 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmainct.c | 297 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmarker.c | 682 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmaster.c | 594 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcomapi.c | 110 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jconfig.h | 43 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcparam.c | 614 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcphuff.c | 837 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcprepct.c | 358 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcsample.c | 523 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jctrans.c | 392 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapimin.c | 399 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapistd.c | 279 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcoefct.c | 740 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcolor.c | 398 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdct.h | 180 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jddctmgr.c | 273 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.c | 655 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.h | 205 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdinput.c | 385 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmainct.c | 516 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmarker.c | 1384 ++++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmaster.c | 561 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmerge.c | 404 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdphuff.c | 672 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdpostct.c | 294 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdsample.c | 482 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdtrans.c | 147 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.c | 272 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.h | 295 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctflt.c | 172 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctfst.c | 228 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctint.c | 287 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctflt.c | 246 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctfst.c | 372 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctint.c | 393 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctred.c | 402 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jinclude.h | 95 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemmgr.c | 1124 ++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemnobs.c | 113 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemsys.h | 202 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmorecfg.h | 378 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jpegint.h | 396 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jpeglib.h | 1100 ++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant1.c | 860 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant2.c | 1314 +++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jutils.c | 183 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jversion.h | 18 + src/share/native/sun/awt/image/jpeg/jpegdecoder.c | 2 +- src/share/native/sun/awt/image/jpeg/jpegint.h | 396 -- src/share/native/sun/awt/image/jpeg/jpeglib.h | 1100 ------ src/share/native/sun/awt/image/jpeg/jquant1.c | 860 ---- src/share/native/sun/awt/image/jpeg/jquant2.c | 1314 ------- src/share/native/sun/awt/image/jpeg/jutils.c | 183 - src/share/native/sun/awt/image/jpeg/jversion.h | 18 - src/share/native/sun/awt/splashscreen/splashscreen_gif.c | 11 +- src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c | 7 +- src/share/native/sun/awt/splashscreen/splashscreen_png.c | 2 +- src/share/native/sun/font/freetypeScaler.c | 7 +- src/share/native/sun/java2d/loops/TransformHelper.c | 11 +- src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h | 6 +- src/solaris/classes/sun/awt/X11/XWM.java | 10 +- src/solaris/classes/sun/awt/X11/XWindowPeer.java | 2 + src/solaris/native/common/deps/cups_fp.c | 104 + src/solaris/native/common/deps/cups_fp.h | 61 + src/solaris/native/common/deps/fontconfig2/fontconfig/fontconfig.h | 302 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.c | 188 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.h | 161 + src/solaris/native/common/deps/gconf2/gconf/gconf-client.h | 41 + src/solaris/native/common/deps/gconf2/gconf_fp.c | 76 + src/solaris/native/common/deps/gconf2/gconf_fp.h | 48 + src/solaris/native/common/deps/glib2/gio/gio_typedefs.h | 65 + src/solaris/native/common/deps/glib2/gio_fp.c | 109 + src/solaris/native/common/deps/glib2/gio_fp.h | 61 + src/solaris/native/common/deps/glib2/glib_fp.h | 41 + src/solaris/native/common/deps/gtk2/gtk/gtk.h | 567 +++ src/solaris/native/common/deps/gtk2/gtk_fp.c | 398 ++ src/solaris/native/common/deps/gtk2/gtk_fp.h | 469 ++ src/solaris/native/common/deps/syscalls_fp.c | 122 + src/solaris/native/common/deps/syscalls_fp.h | 79 + src/solaris/native/java/lang/java_props_md.c | 7 +- src/solaris/native/sun/awt/CUPSfuncs.c | 137 +- src/solaris/native/sun/awt/awt_GraphicsEnv.c | 2 +- src/solaris/native/sun/awt/awt_UNIXToolkit.c | 20 +- src/solaris/native/sun/awt/fontconfig.h | 941 ----- src/solaris/native/sun/awt/fontpath.c | 400 +- src/solaris/native/sun/awt/gtk2_interface.c | 988 +---- src/solaris/native/sun/awt/gtk2_interface.h | 580 +--- src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c | 68 +- src/solaris/native/sun/awt/swing_GTKEngine.c | 76 +- src/solaris/native/sun/awt/swing_GTKStyle.c | 20 +- src/solaris/native/sun/net/spi/DefaultProxySelector.c | 465 +- src/solaris/native/sun/nio/ch/EPollArrayWrapper.c | 1 - src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c | 94 +- src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 50 +- src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 111 +- src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c | 113 + src/solaris/native/sun/xawt/awt_Desktop.c | 103 +- test/Makefile | 6 + test/com/oracle/security/ucrypto/TestAES.java | 118 +- test/com/oracle/security/ucrypto/TestDigest.java | 24 +- test/com/oracle/security/ucrypto/TestRSA.java | 276 +- test/com/oracle/security/ucrypto/UcryptoTest.java | 28 +- test/com/sun/crypto/provider/Cipher/UTIL/TestUtil.java | 13 +- test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java | 420 ++ test/java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java | 9 + test/java/net/URL/TestHttps.java | 34 + test/java/nio/MappedByteBuffer/Basic.java | 91 +- test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/linux-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparc/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparcv9/libLauncher.so | Bin test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java | 9 +- test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java | 9 +- test/java/util/Locale/data/deflocale.sol10 | 1725 ---------- test/sun/management/jmxremote/bootstrap/linux-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher | Bin test/sun/management/windows/revokeall.exe | Bin test/sun/net/InetAddress/nameservice/dns/cname.sh | 2 +- test/sun/net/www/protocol/file/DirPermissionDenied.sh | 1 + test/sun/security/pkcs11/MessageDigest/TestCloning.java | 141 + test/sun/security/pkcs11/tls/TestLeadingZeroesP11.java | 410 ++ test/sun/tools/native2ascii/NativeErrors.java | 4 +- test/tools/launcher/RunpathTest.java | 84 + test/tools/pack200/MemoryAllocatorTest.java | 369 ++ 352 files changed, 31827 insertions(+), 30675 deletions(-) diffs (truncated from 70646 to 500 lines): diff -r 42b57fb81c39 -r b2611b1a750c .hgtags --- a/.hgtags Mon Aug 12 12:07:45 2013 -0700 +++ b/.hgtags Wed Sep 04 18:20:38 2013 +0100 @@ -50,6 +50,7 @@ f708138c9aca4b389872838fe6773872fce3609e jdk7-b73 eacb36e30327e7ae33baa068e82ddccbd91eaae2 jdk7-b74 8885b22565077236a927e824ef450742e434a230 jdk7-b75 +fb2ee5e96b171ae9db67274d87ffaba941e8bfa6 icedtea7-1.12 8fb602395be0f7d5af4e7e93b7df2d960faf9d17 jdk7-b76 e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77 1143e498f813b8223b5e3a696d79da7ff7c25354 jdk7-b78 @@ -63,6 +64,7 @@ eae6e9ab26064d9ba0e7665dd646a1fd2506fcc1 jdk7-b86 2cafbbe9825e911a6ca6c17d9a18eb1f0bf0873c jdk7-b87 b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88 +2017795af50aebc00f500e58f708980b49bc7cd1 icedtea7-1.13 4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89 7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90 08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91 @@ -111,6 +113,7 @@ 554adcfb615e63e62af530b1c10fcf7813a75b26 jdk7-b134 d8ced728159fbb2caa8b6adb477fd8efdbbdf179 jdk7-b135 aa13e7702cd9d8aca9aa38f1227f966990866944 jdk7-b136 +1571aa7abe47a54510c62a5b59a8c343cdaf67cb icedtea-1.14 29296ea6529a418037ccce95903249665ef31c11 jdk7-b137 60d3d55dcc9c31a30ced9caa6ef5c0dcd7db031d jdk7-b138 d80954a89b49fda47c0c5cace65a17f5a758b8bd jdk7-b139 @@ -123,6 +126,7 @@ 539e576793a8e64aaf160e0d6ab0b9723cd0bef0 jdk7-b146 69e973991866c948cf1808b06884ef2d28b64fcb jdk7u1-b01 f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147 +7ec1845521edfb1843cad3868217983727ece53d icedtea-2.0-branchpoint 2baf612764d215e6f3a5b48533f74c6924ac98d7 jdk7u1-b02 a4781b6d9cfb6901452579adee17c9a17c1b584c jdk7u1-b03 b223ed9a5fdf8ce3af42adfa8815975811d70eae jdk7u1-b04 @@ -141,6 +145,7 @@ 79c8c4608f60e1f981b17ba4077dfcaa2ed67be4 jdk7u2-b12 fb2980d7c9439e3d62ab12f40506a2a2db2df0f4 jdk7u2-b13 24e42f1f9029f9f5a9b1481d523facaf09452e5b jdk7u2-b21 +a75913596199fbb8583f9d74021f54dc76f87b14 icedtea-2.1-branchpoint e3790f3ce50aa4e2a1b03089ac0bcd48f9d1d2c2 jdk7u3-b02 7e8351342f0b22b694bd3c2db979643529f32e71 jdk7u3-b03 fc6b7b6ac837c9e867b073e13fc14e643f771028 jdk7u3-b04 @@ -157,6 +162,7 @@ 6485e842d7f736b6ca3d7e4a7cdc5de6bbdd870c jdk7u4-b10 d568e85567ccfdd75f3f0c42aa0d75c440422827 jdk7u4-b11 16781e84dcdb5f82c287a3b5387dde9f8aaf74e0 jdk7u4-b12 +907555f6191a0cd84886b07c4c40bc6ce498b8b1 icedtea-2.2-branchpoint c929e96aa059c8b79ab94d5b0b1a242ca53a5b32 jdk7u4-b13 09f612bac047b132bb9bf7d4aa8afe6ea4d5b938 jdk7u4-b14 9e15d1f3fa4b35b8c950323c76b9ed094d434b97 jdk7u5-b01 @@ -191,6 +197,7 @@ e50c9a5f001c61f49e7e71b25b97ed4095d3557b jdk7u6-b15 966e21feb7f088e318a35b069c1a61ff6363e554 jdk7u6-b16 aa0ad405f70bc7a7af95fef109f114ceecf31232 jdk7u6-b17 +8ff5fca08814f1f0eeda40aaec6f2936076b7444 icedtea-2.3-branchpoint 4a6917092af80481c1fa5b9ec8ccae75411bb72c jdk7u6-b18 a263f787ced5bc7c14078ae552c82de6bd011611 jdk7u6-b19 09145b546a2b6ae1f44d5c8a7d2a37d48e4b39e2 jdk7u6-b20 @@ -258,6 +265,7 @@ cb81ee79a72d84f99b8e7d73b5ae73124b661fe7 jdk7u12-b07 b5e180ef18a0c823675bcd32edfbf2f5122d9722 jdk7u12-b08 2e7fe0208e9c928f2f539fecb6dc8a1401ecba9e jdk7u12-b09 +b171007921c3d01066848c88cbcb6a376df3f01c icedtea-2.4-branchpoint e012aace90500a88f51ce83fcd27791f5dbf493f jdk7u14-b10 9eb82fb221f3b34a5df97e7db3c949fdb0b6fee0 jdk7u14-b11 ee3ab2ed2371dd72ad5a75ebb6b6b69071e29390 jdk7u14-b12 @@ -318,6 +326,7 @@ eb4807b899c84c92959b66f888f8cc8b028c7665 jdk7u14-b19 a249c45148c51dc53250c5d0c3d506ec5f9b88ab jdk7u14-b19 bb8764ec11c2c4ca318bcf6aabdabd29c70b2cd1 jdk7u14-b20 +d1563025e086a464f05414267b84a6408f7b377d icedtea-2.4.0 0a00f10abb2df203f13a723be158fb759e54b19b jdk7u14-b21 d4bf5c15837c47d179c71f6df8716ad9bef53ef9 jdk7u14-b22 a76a886dc057582bf332e60a023d8f8a35526217 jdk7u40-b23 @@ -328,6 +337,7 @@ 2043900095890e676f5ed0f959f470e2138c2a9a jdk7u40-b28 d3186a0676dbc7ab80e00fa67f952b67933d5a35 jdk7u40-b29 60d52db33828bf0355a94be2a82df90c901592f3 jdk7u40-b30 +65d95818d79e340d042457ee1a8155d7658e86b6 icedtea-2.4.1 c2522d149ff6663ed1d3602c88c286cff25a43a7 jdk7u40-b31 b9f86896cd0aa9b83e472a90b20ae7c253fba633 jdk7u40-b32 419939ecee8311c8a38ff624ae67e473f8c60e51 jdk7u40-b33 @@ -337,3 +347,8 @@ 04036faa7fc4ec11a268c190cf1712d19c77b4ba jdk7u40-b37 070b277e1b43cc4b6a4e1ae419d1273970f718ed jdk7u40-b38 33921df593eda3d241d0d1322effc21486a6bb94 jdk7u40-b39 +42b57fb81c3958fc98e7c5cd81826565f4cedb91 jdk7u40-b40 +ae85cfff71e95c3a1882177779c5f681d2621410 jdk7u40-b41 +b479996d5c924128c3490165b592bf66a3034932 jdk7u40-b42 +fb25cdef17e9610db5cb89fc35c0c4abef5ad781 jdk7u40-b43 +ed444a09a5fd32237deaef6e43804e20ba4f6352 jdk7u40-b60 diff -r 42b57fb81c39 -r b2611b1a750c .jcheck/conf --- a/.jcheck/conf Mon Aug 12 12:07:45 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 42b57fb81c39 -r b2611b1a750c make/com/sun/java/pack/Makefile --- a/make/com/sun/java/pack/Makefile Mon Aug 12 12:07:45 2013 -0700 +++ b/make/com/sun/java/pack/Makefile Wed Sep 04 18:20:38 2013 +0100 @@ -75,7 +75,7 @@ OTHER_CXXFLAGS += $(ZINCLUDE) LDDFLAGS += $(ZIPOBJS) else - LDDFLAGS += $(ZLIB_LIBS) + OTHER_LDLIBS += $(ZLIB_LIBS) OTHER_CXXFLAGS += $(ZLIB_CFLAGS) -DSYSTEM_ZLIB endif else @@ -99,8 +99,7 @@ RES = $(OBJDIR)/$(PGRM).res else LDOUTPUT = -o #Have a space - LDDFLAGS += -lc - OTHER_LDLIBS += $(LIBCXX) + OTHER_LDLIBS += -lc $(LIBCXX) # setup the list of libraries to link in... ifeq ($(PLATFORM), linux) ifeq ("$(CC_VER_MAJOR)", "3") @@ -157,7 +156,7 @@ $(prep-target) $(RM) $(TEMPDIR)/mapfile-vers $(CP) mapfile-vers-unpack200 $(TEMPDIR)/mapfile-vers - $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) + $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(OTHER_LDLIBS) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) ifdef MT $(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 endif diff -r 42b57fb81c39 -r b2611b1a750c make/com/sun/nio/sctp/Makefile --- a/make/com/sun/nio/sctp/Makefile Mon Aug 12 12:07:45 2013 -0700 +++ b/make/com/sun/nio/sctp/Makefile Wed Sep 04 18:20:38 2013 +0100 @@ -60,7 +60,9 @@ -I$(CLASSHDRDIR)/../../../../java/java.nio/nio/CClassHeaders ifeq ($(PLATFORM), linux) +ifneq ($(COMPILER_WARNINGS_FATAL),false) COMPILER_WARNINGS_FATAL=true +endif #OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -lnio -lnet -lpthread -ldl endif diff -r 42b57fb81c39 -r b2611b1a750c make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Mon Aug 12 12:07:45 2013 -0700 +++ b/make/common/Defs-linux.gmk Wed Sep 04 18:20:38 2013 +0100 @@ -188,15 +188,26 @@ # We need this frame pointer to make it easy to walk the stacks. # This should be the default on X86, but ia64 and amd64 may not have this # as the default. +CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_hppa += CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_m68k += +CFLAGS_REQUIRED_mips += +CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_ppc += -m32 +CFLAGS_REQUIRED_ppc64 += -m64 +CFLAGS_REQUIRED_s390 += +CFLAGS_REQUIRED_s390x += -m64 CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9 LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN +CFLAGS_REQUIRED_sh += -mieee ifeq ($(ZERO_BUILD), true) CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) ifeq ($(ZERO_ENDIANNESS), little) @@ -286,11 +297,15 @@ CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"' -# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here) -ifneq ($(ARCH),alpha) +# Alpha and sh archs do not like "alpha" or "sh" defined (potential general arch cleanup issue here) +ifeq ($(ARCH),alpha) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else +ifeq ($(ARCH),sh) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else CPP_ARCH_FLAGS += -D$(ARCH) -else - CPP_ARCH_FLAGS += -D_$(ARCH)_ +endif endif CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \ diff -r 42b57fb81c39 -r b2611b1a750c make/common/Library.gmk --- a/make/common/Library.gmk Mon Aug 12 12:07:45 2013 -0700 +++ b/make/common/Library.gmk Wed Sep 04 18:20:38 2013 +0100 @@ -269,6 +269,7 @@ ifneq ($(PLATFORM), macosx) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) ifeq ($(PLATFORM), solaris) # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from @@ -279,19 +280,20 @@ # # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. - (set -e ; \ - $(CD) $(@D) ; \ - $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ - ) + (set -e ; \ + $(CD) $(@D) ; \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ + ) else # PLATFORM != solaris - (set -e ; \ - $(CD) $(@D) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ - ) - endif # PLATFORM == solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ + ) + endif # PLATFORM == solaris + endif # STRIP_POLICY != no_strip ifeq ($(STRIP_POLICY),all_strip) $(STRIP) $@ else @@ -305,12 +307,14 @@ # implied else here is no stripping at all endif endif - ifeq ($(ZIP_DEBUGINFO_FILES),1) - (set -e ; \ - $(CD) $(@D) ; \ - $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - ) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + (set -e ; \ + $(CD) $(@D) ; \ + $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + ) + endif endif endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS endif # ENABLE_FULL_DEBUG_SYMBOLS diff -r 42b57fb81c39 -r b2611b1a750c make/common/Program.gmk --- a/make/common/Program.gmk Mon Aug 12 12:07:45 2013 -0700 +++ b/make/common/Program.gmk Wed Sep 04 18:20:38 2013 +0100 @@ -62,12 +62,14 @@ program: $(ACTUAL_PROGRAM) # Work-around for missing processor specific mapfiles +ifneq (,$(filter $(ARCH), amd64 i586 sparc sparcv9)) ifndef CROSS_COMPILE_ARCH # reuse the mapfiles in the launcher's directory, the same should # be applicable to the tool launchers as well. FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH) include $(BUILDDIR)/common/Mapfile-vers.gmk endif +endif include $(JDK_TOPDIR)/make/common/Rules.gmk @@ -126,6 +128,26 @@ endif # PLATFORM # +# Applications expect to be able to link against libjawt without invoking +# System.loadLibrary("jawt") first. This was the behaviour described in the +# devloper documentation of JAWT and what worked with OpenJDK6. +# +ifeq ($(PLATFORM), solaris) + ifeq ($(ARCH_DATA_MODEL), 32) + LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH) + else # ! ARCH_DATA_MODEL 64-bit + LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH) + LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH) + endif # ARCH_DATA_MODEL +endif # PLATFORM SOLARIS +ifeq ($(PLATFORM), linux) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) +endif # PLATFORM LINUX + + +# # Launcher specific files. # FILES_o = $(OBJDIR)/main.$(OBJECT_SUFFIX) @@ -250,7 +272,8 @@ ifneq ($(PLATFORM), macosx) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1) - ifeq ($(PLATFORM), solaris) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(PLATFORM), solaris) # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from # empty section headers until a fixed $(OBJCOPY) is available. @@ -260,19 +283,20 @@ # # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. - (set -e ; \ - $(CD) $(@D) ; \ - $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ - $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \ - ) - else # PLATFORM != solaris - (set -e ; \ - $(CD) $(@D) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ - $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \ - ) - endif # PLATFORM == solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ + $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \ + ) + else # PLATFORM != solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ + $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \ + ) + endif # PLATFORM == solaris + endif ifeq ($(STRIP_POLICY),all_strip) $(STRIP) $@ else @@ -286,17 +310,19 @@ # implied else here is no stripping at all endif endif - ifeq ($(ZIP_DEBUGINFO_FILES),1) - (set -e ; \ - $(CD) $(@D) ; \ - $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \ - $(RM) $(@F).debuginfo ; \ - ) - # save ZIP'ed debug info with rest of the program's build artifacts - $(MV) $@.diz $(OBJDIR) - else - # save debug info with rest of the program's build artifacts - $(MV) $@.debuginfo $(OBJDIR) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + (set -e ; \ + $(CD) $(@D) ; \ + $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \ + $(RM) $(@F).debuginfo ; \ + ) + # save ZIP'ed debug info with rest of the program's build artifacts + $(MV) $@.diz $(OBJDIR) + else + # save debug info with rest of the program's build artifacts + $(MV) $@.debuginfo $(OBJDIR) + endif endif endif # PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS endif # ENABLE_FULL_DEBUG_SYMBOLS @@ -363,7 +389,9 @@ OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 endif # SYSTEM_ZLIB else # PLATFORM !MACOSX - OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + ifneq ($(SYSTEM_ZLIB), true) + OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + endif endif OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' diff -r 42b57fb81c39 -r b2611b1a750c make/common/Release.gmk --- a/make/common/Release.gmk Mon Aug 12 12:07:45 2013 -0700 +++ b/make/common/Release.gmk Wed Sep 04 18:20:38 2013 +0100 @@ -1116,13 +1116,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - -T $(ABS_TEMPDIR)/src-files.list ) \ @@ -1133,13 +1129,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - `$(CAT) $(ABS_TEMPDIR)/src-files.list`) \ diff -r 42b57fb81c39 -r b2611b1a750c make/common/shared/Compiler-gcc.gmk --- a/make/common/shared/Compiler-gcc.gmk Mon Aug 12 12:07:45 2013 -0700 +++ b/make/common/shared/Compiler-gcc.gmk Wed Sep 04 18:20:38 2013 +0100 @@ -53,18 +53,84 @@ ifeq ($(PLATFORM), linux) + ifndef BUILD_GCC + BUILD_GCC=$(COMPILER_PATH)gcc + endif + + ifndef BUILD_CPP + BUILD_CPP=$(COMPILER_PATH)g++ + endif + # Settings specific to Linux - CC = $(COMPILER_PATH)gcc - CPP = $(COMPILER_PATH)gcc -E + CC = $(BUILD_GCC) + CPP = $(BUILD_GCC) -E # statically link libstdc++ before C++ ABI is stablized on Linux - STATIC_CXX = true + ifneq ($(STATIC_CXX),false) + STATIC_CXX = true + endif ifeq ($(STATIC_CXX),true) # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++" # We need to use gcc to statically link the C++ runtime. gcc and g++ use # the same subprocess to compile C++ files, so it is OK to build using gcc. - CXX = $(COMPILER_PATH)gcc + CXX = $(BUILD_GCC) else - CXX = $(COMPILER_PATH)g++ + CXX = $(BUILD_CPP) + endif + ifeq ($(ARCH), alpha) + # alpha + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif + ifeq ($(ARCH), amd64) + # amd64 + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif + ifeq ($(ARCH), arm) + # arm + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif + ifeq ($(ARCH), i586) + # i586 + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.1* + REQUIRED_GCC_VER_INT = 3.2.1-7a + endif + ifeq ($(ARCH), ia64) + # ia64 + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 2.9[56789].* + endif + ifneq ("$(findstring m68k,$(ARCH))", "") + # m68k + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif + ifneq ("$(findstring mips,$(ARCH))", "") + # mips + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif + ifneq ("$(findstring parisc,$(ARCH))", "") + # mips + REQUIRED_CC_VER = 4.4 + REQUIRED_GCC_VER = 4.4.* From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:23:51 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:51 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=560c783d93b3 author: andrew date: Wed Sep 04 17:28:03 2013 +0100 PR1551: Add build support for Zero AArch64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/faef4c8a/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:23:56 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:23:56 +0000 Subject: [Bug 1552] [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9c5337739f79 author: andrew date: Wed Sep 04 17:32:38 2013 +0100 PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/5e6f2911/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:24:01 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:24:01 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=abcc5e95d577 author: andrew date: Wed Sep 04 17:53:23 2013 +0100 PR1553: Add Debian AArch64 support -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/6a69f1c4/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 10:24:06 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:24:06 +0000 Subject: [Bug 1554] [IcedTea7] Fix build on Mac OS X In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=b2611b1a750c author: andrew date: Wed Sep 04 18:20:38 2013 +0100 PR1554: Fix build on Mac OS X Contributed-by: Alex Kasko -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/63bc69e2/attachment.html From aazores at icedtea.classpath.org Wed Sep 4 10:49:09 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 04 Sep 2013 17:49:09 +0000 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... Message-ID: changeset bb8132ebc241 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb8132ebc241 author: Andrew Azores date: Wed Sep 04 13:48:42 2013 -0400 Fixed "could not clear cache" message and cache location in CacheReproducer diffstat: ChangeLog | 8 + netx/net/sourceforge/jnlp/config/Defaults.java | 2 +- tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 95 +++++---- 3 files changed, 64 insertions(+), 41 deletions(-) diffs (228 lines): diff -r 6c0e37585a5e -r bb8132ebc241 ChangeLog --- a/ChangeLog Wed Sep 04 12:22:16 2013 -0400 +++ b/ChangeLog Wed Sep 04 13:48:42 2013 -0400 @@ -1,3 +1,11 @@ +2013-09-04 Andrew Azores + + * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made + public for use in CacheReproducer + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: + updated "could not clear cache" message and cache location. Other minor + cleanup + 2013-09-04 Andrew Azores * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: diff -r 6c0e37585a5e -r bb8132ebc241 netx/net/sourceforge/jnlp/config/Defaults.java --- a/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 12:22:16 2013 -0400 +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 13:48:42 2013 -0400 @@ -55,7 +55,7 @@ final static String SYSTEM_HOME = System.getProperty("java.home"); final static String SYSTEM_SECURITY = SYSTEM_HOME + File.separator + "lib" + File.separator + "security"; final static String USER_CONFIG_HOME; - final static String USER_CACHE_HOME; + public final static String USER_CACHE_HOME; final static String USER_SECURITY; final static String LOCKS_DIR = System.getProperty("java.io.tmpdir") + File.separator + System.getProperty("user.name") + File.separator + "netx" + File.separator diff -r 6c0e37585a5e -r bb8132ebc241 tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 12:22:16 2013 -0400 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 13:48:42 2013 -0400 @@ -44,11 +44,13 @@ import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.List; +import java.util.PropertyResourceBundle; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.jnlp.ServerAccess; -import net.sourceforge.jnlp.ServerAccess.ProcessResult; +import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.annotations.KnownToFail; +import net.sourceforge.jnlp.config.Defaults; import org.junit.AfterClass; import org.junit.Assert; @@ -60,24 +62,37 @@ private static final List clear = Arrays.asList(new String[]{server.getJavawsLocation(), "-Xclearcache", ServerAccess.HEADLES_OPTION}); private static final List trustedVerboses = Arrays.asList(new String[]{"-Xtrustall", ServerAccess.HEADLES_OPTION,"-verbose"}); private static final List verbosed = Arrays.asList(new String[]{"-verbose", ServerAccess.HEADLES_OPTION}); - private static final String home = System.getProperty("user.home"); - private static final String name = System.getProperty("user.name"); - private static final String tmp = System.getProperty("java.io.tmpdir"); - private static final File icedteaDir = new File(home + "/" + ".icedtea"); - private static final File icedteaCache = new File(icedteaDir, "cache"); - private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); - private static final File netxLock = new File(tmp + "/" + name + "/netx/locks/netx_running"); + private static final String lre = "LruCacheException"; private static final String ioobe = "IndexOutOfBoundsException"; private static final String corruptRegex = "\\d{13}"; private static final Pattern corruptPatern = Pattern.compile(corruptRegex); private static final String corruptString = "156dsf1562kd5"; - String testS = "#netx file\n" - + "#Mon Dec 12 16:20:46 CET 2011\n" - + "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" - + "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" - + "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; + private static final File icedteaCache = new File(Defaults.USER_CACHE_HOME, "cache"); + private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); + private static final File netxLock = new File(System.getProperty("java.io.tmpdir"), + System.getProperty("user.name") + File.separator + + "netx" + File.separator + + "locks" + File.separator + + "netx_running"); + + private static final String messageResourcePath = "net/sourceforge/jnlp/resources/Messages.properties"; + private static PropertyResourceBundle messageBundle = null; + + static { + try { + messageBundle = + new PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); + } catch (IOException e) { + } + } + + String testS = "#netx file\n" + + "#Mon Dec 12 16:20:46 CET 2011\n" + + "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" + + "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" + + "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; @Test public void cacheIsWorkingTest() throws Exception { @@ -93,20 +108,19 @@ assertCacheIsNotEmpty(); } - private class ParallelSimpleTestRunner extends Thread { - public boolean b=false; - @Override - public void run() { - try { - - ServerAccess.ProcessResult pr = runSimpleTest1(); - evaluateSimpleTest1OkCache(pr); - b=true; - } catch (Exception ex) { - throw new RuntimeException(ex); - } + private class ParallelSimpleTestRunner extends Thread { + public boolean b=false; + @Override + public void run() { + try { + ProcessResult pr = runSimpleTest1(); + evaluateSimpleTest1OkCache(pr); + b=true; + } catch (Exception ex) { + throw new RuntimeException(ex); } - }; + } + } @Test @KnownToFail @@ -260,7 +274,7 @@ @Override public void run() { try { - ServerAccess.ProcessResult pr = server.executeJavawsHeadless(verbosed, "/deadlocktest.jnlp"); + ProcessResult pr = server.executeJavawsHeadless(verbosed, "/deadlocktest.jnlp"); } catch (Exception ex) { throw new RuntimeException(ex); } @@ -269,12 +283,12 @@ t.start(); Thread.sleep(1000); pr = tryToClearcache(); - String q = "Can not clear cache at this time"; - Assert.assertTrue("Stderr should contain " + q + ", but did not.", pr.stderr.contains(q)); + + String cacheClearError = messageBundle.getString("CCannotClearCache"); + Assert.assertTrue("Stderr should contain " + cacheClearError + ", but did not.", pr.stderr.contains(cacheClearError)); assertCacheIsNotEmpty(); } - //next four tests are designed to ensure, that corrupted cache will not break already loaded cached files public static final String CR1 = "CacheReproducer1"; public static final String CR2 = "CacheReproducer2"; @@ -311,6 +325,7 @@ } @Test + @KnownToFail public void testAlreadyLoadedCached11() throws Exception { testsBody(CR11, 1); testsBody(CR11, 2); @@ -337,7 +352,7 @@ if (force) { if (netxLock.isFile()) { boolean b = netxLock.delete(); - junit.framework.Assert.assertTrue(b); + Assert.assertTrue(b); } } @@ -377,7 +392,7 @@ } String sb = breakOne(s, 0); - junit.framework.Assert.assertEquals(s, sb); + Assert.assertEquals(s, sb); for (int x = 1; x <= 3; x++) { String[] sx = breakOne(s, x).split("\n"); for (int i = 0; i < sx.length; i++) { @@ -426,7 +441,7 @@ } private static String breakPaths(String s) { - return s.replaceAll(home+".*", "/ho"); + return s.replaceAll(System.getProperty("user.home") + ".*", "/ho"); } private static void breakCache1() throws IOException { @@ -447,24 +462,24 @@ ServerAccess.saveFile(s, icedteaCacheFile); } - private static ServerAccess.ProcessResult runSimpleTest1() throws Exception { + private static ProcessResult runSimpleTest1() throws Exception { return runSimpleTest1(verbosed, "simpletest1"); } - private static ServerAccess.ProcessResult runSimpleTest1(List args, String s) throws Exception { - ServerAccess.ProcessResult pr2 = server.executeJavawsHeadless(args, "/" + s + ".jnlp"); + private static ProcessResult runSimpleTest1(List args, String s) throws Exception { + ProcessResult pr2 = server.executeJavawsHeadless(args, "/" + s + ".jnlp"); return pr2; } - private static ServerAccess.ProcessResult runSimpleTest1Signed() throws Exception { + private static ProcessResult runSimpleTest1Signed() throws Exception { return runSimpleTestSigned("SimpletestSigned1"); } - private static ServerAccess.ProcessResult runSimpleTestSigned(String id) throws Exception { + private static ProcessResult runSimpleTestSigned(String id) throws Exception { return runSimpleTest1(trustedVerboses, id); } - private static void evaluateSimpleTest1OkCache(ServerAccess.ProcessResult pr2) throws Exception { + private static void evaluateSimpleTest1OkCache(ProcessResult pr2) throws Exception { String s = "Good simple javaws exapmle"; Assert.assertTrue("test stdout should contain " + s + " but didn't", pr2.stdout.contains(s)); Assert.assertFalse(pr2.wasTerminated); @@ -472,7 +487,7 @@ } private static ProcessResult tryToClearcache() throws Exception { - ServerAccess.ProcessResult pr1 = ServerAccess.executeProcess(clear); + ProcessResult pr1 = ServerAccess.executeProcess(clear); return pr1; } } From bugzilla-daemon at icedtea.classpath.org Wed Sep 4 11:35:26 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Sep 2013 18:35:26 +0000 Subject: [Bug 1455] JVM crashing - SSL_write causing the issue In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1455 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|6-1.8.13 |6-1.12.5 Severity|critical |normal --- Comment #4 from Andrew John Hughes --- Thanks. What do I need to do to reproduce this? This makes me wonder: #6 0x00007f81d8817b04 in SSL_write () from /opt/sonus/ema/jboss/bin/META-INF/lib/linux2/x64/libssl.so.0.9.8 Have you tried using the system libssl instead? This looks like an error in non-OpenJDK native code which is then causing the VM to crash. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130904/47b65014/attachment.html From andrew at icedtea.classpath.org Wed Sep 4 17:00:26 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Sep 2013 00:00:26 +0000 Subject: /hg/release/icedtea7-2.4: Update to latest 2.4 HEAD (u40b60). Message-ID: changeset 273d9d59b77b in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=273d9d59b77b author: Andrew John Hughes date: Thu Sep 05 00:21:03 2013 +0100 Update to latest 2.4 HEAD (u40b60). 2013-09-04 Andrew John Hughes * Makefile.am, (OPENJDK_VERSION): Bump to b60. (CORBA_CHANGESET): Update to IcedTea 2.4 branch HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * hotspot.map: Update to IcedTea 2.4 branch HotSpot HEAD. diffstat: ChangeLog | 19 +++++++++++++++++++ Makefile.am | 26 +++++++++++++------------- hotspot.map | 2 +- 3 files changed, 33 insertions(+), 14 deletions(-) diffs (72 lines): diff -r 415c72468152 -r 273d9d59b77b ChangeLog --- a/ChangeLog Tue Jul 30 19:46:00 2013 +0100 +++ b/ChangeLog Thu Sep 05 00:21:03 2013 +0100 @@ -1,3 +1,22 @@ +2013-09-04 Andrew John Hughes + + * Makefile.am, + (OPENJDK_VERSION): Bump to b60. + (CORBA_CHANGESET): Update to IcedTea 2.4 branch HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * hotspot.map: Update to IcedTea 2.4 branch HotSpot + HEAD. + 2013-07-30 Andrew John Hughes * Makefile.am: diff -r 415c72468152 -r 273d9d59b77b Makefile.am --- a/Makefile.am Tue Jul 30 19:46:00 2013 +0100 +++ b/Makefile.am Thu Sep 05 00:21:03 2013 +0100 @@ -1,22 +1,22 @@ # Dependencies -OPENJDK_VERSION = b34 +OPENJDK_VERSION = b60 JDK_UPDATE_VERSION = 40 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 74ca39d558e8 -JAXP_CHANGESET = 7d8341df70fe -JAXWS_CHANGESET = 92dab5233b50 -JDK_CHANGESET = 4a2244a0e816 -LANGTOOLS_CHANGESET = f3ef419fe842 -OPENJDK_CHANGESET = b5f2715442df +CORBA_CHANGESET = 5ea58899ae9f +JAXP_CHANGESET = 135f46e0e653 +JAXWS_CHANGESET = a2ff16e5361f +JDK_CHANGESET = b2611b1a750c +LANGTOOLS_CHANGESET = 06ea051f7ffe +OPENJDK_CHANGESET = 6125b83238df -CORBA_SHA256SUM = 0f05df309e52837491274963e90232894838ef695880ebc6029dcb7c11d5d349 -JAXP_SHA256SUM = e74c92df177ace833e18d610dff33c04cd498a4da608ed177d3de9a9ed85387d -JAXWS_SHA256SUM = 4d6af21a16945b9241b22f20695719b68bb131f69d2c34c2e60bbb699a64e8e6 -JDK_SHA256SUM = 0f51d28ddc41eb54faa8ecda496153ce9fe844c02f4c87ed107b743555fc064f -LANGTOOLS_SHA256SUM = 6459ae92d498b60d5b49da889a509e6961616524cc90d5c18cd86a099e71b10c -OPENJDK_SHA256SUM = 07b6c6e45f000c60f8d6179756958d4298998bd410869171df390c3c5d1301f9 +CORBA_SHA256SUM = 41fc9041d7804bbd519290325c0a21b48405ed96ccf557037189b007391d33a8 +JAXP_SHA256SUM = 3e043ea822cf18232fb0897431a2c900c8d29dce59e33bd8e3236ed1ac6c8fde +JAXWS_SHA256SUM = ac21931af93267188fb6dac8ed5eb44121e25e55fe432c19184c20c17cc9ceda +JDK_SHA256SUM = e6475b1db792fa58530cef272b1aad6176eca8bd4822f6a58ed27f4d84df2437 +LANGTOOLS_SHA256SUM = d2de1d2e98ebea56d2367f0003e5f4b5031d55ed529a7c524df8eba9da08c735 +OPENJDK_SHA256SUM = bc5703a7c31a6f1de53259768f613fa1f451d721d3301c58a59513dc3953d95b CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab diff -r 415c72468152 -r 273d9d59b77b hotspot.map --- a/hotspot.map Tue Jul 30 19:46:00 2013 +0100 +++ b/hotspot.map Thu Sep 05 00:21:03 2013 +0100 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 71498f89324b ddc89554a6e0d768a4af81610c20c71545850184ad8c608e689917166cfaf188 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot f3f4df30a468 f066237f60cb154880b2702dc2a6ec52f53069ea85a89690cbf9a92eb3b62b2b From jvanek at redhat.com Thu Sep 5 00:55:17 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 05 Sep 2013 09:55:17 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: References: Message-ID: <522838E5.2060404@redhat.com> On 09/04/2013 07:49 PM, aazores at icedtea.classpath.org wrote: > changeset bb8132ebc241 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb8132ebc241 > author: Andrew Azores > date: Wed Sep 04 13:48:42 2013 -0400 > > Fixed "could not clear cache" message and cache location in CacheReproducer > > > diffstat: > > ChangeLog | 8 + > netx/net/sourceforge/jnlp/config/Defaults.java | 2 +- > tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 95 +++++---- > 3 files changed, 64 insertions(+), 41 deletions(-) > > diffs (228 lines): > > diff -r 6c0e37585a5e -r bb8132ebc241 ChangeLog > --- a/ChangeLog Wed Sep 04 12:22:16 2013 -0400 > +++ b/ChangeLog Wed Sep 04 13:48:42 2013 -0400 > @@ -1,3 +1,11 @@ > +2013-09-04 Andrew Azores > + > + * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made > + public for use in CacheReproducer > + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: > + updated "could not clear cache" message and cache location. Other minor > + cleanup > + > 2013-09-04 Andrew Azores > > * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: > diff -r 6c0e37585a5e -r bb8132ebc241 netx/net/sourceforge/jnlp/config/Defaults.java > --- a/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 12:22:16 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 13:48:42 2013 -0400 > @@ -55,7 +55,7 @@ > final static String SYSTEM_HOME = System.getProperty("java.home"); > final static String SYSTEM_SECURITY = SYSTEM_HOME + File.separator + "lib" + File.separator + "security"; > final static String USER_CONFIG_HOME; > - final static String USER_CACHE_HOME; > + public final static String USER_CACHE_HOME; > final static String USER_SECURITY; > final static String LOCKS_DIR = System.getProperty("java.io.tmpdir") + File.separator > + System.getProperty("user.name") + File.separator + "netx" + File.separator > diff -r 6c0e37585a5e -r bb8132ebc241 tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java > --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 12:22:16 2013 -0400 > +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 13:48:42 2013 -0400 > @@ -44,11 +44,13 @@ > import java.io.UnsupportedEncodingException; > import java.util.Arrays; > import java.util.List; > +import java.util.PropertyResourceBundle; > import java.util.regex.Matcher; > import java.util.regex.Pattern; > import net.sourceforge.jnlp.ServerAccess; > -import net.sourceforge.jnlp.ServerAccess.ProcessResult; > +import net.sourceforge.jnlp.ProcessResult; > import net.sourceforge.jnlp.annotations.KnownToFail; > +import net.sourceforge.jnlp.config.Defaults; > import org.junit.AfterClass; > import org.junit.Assert; > > @@ -60,24 +62,37 @@ > private static final List clear = Arrays.asList(new String[]{server.getJavawsLocation(), "-Xclearcache", ServerAccess.HEADLES_OPTION}); > private static final List trustedVerboses = Arrays.asList(new String[]{"-Xtrustall", ServerAccess.HEADLES_OPTION,"-verbose"}); > private static final List verbosed = Arrays.asList(new String[]{"-verbose", ServerAccess.HEADLES_OPTION}); > - private static final String home = System.getProperty("user.home"); > - private static final String name = System.getProperty("user.name"); > - private static final String tmp = System.getProperty("java.io.tmpdir"); > - private static final File icedteaDir = new File(home + "/" + ".icedtea"); > - private static final File icedteaCache = new File(icedteaDir, "cache"); > - private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); > - private static final File netxLock = new File(tmp + "/" + name + "/netx/locks/netx_running"); > + > private static final String lre = "LruCacheException"; > private static final String ioobe = "IndexOutOfBoundsException"; > private static final String corruptRegex = "\\d{13}"; > private static final Pattern corruptPatern = Pattern.compile(corruptRegex); > private static final String corruptString = "156dsf1562kd5"; > > - String testS = "#netx file\n" > - + "#Mon Dec 12 16:20:46 CET 2011\n" > - + "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" > - + "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" > - + "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; > + private static final File icedteaCache = new File(Defaults.USER_CACHE_HOME, "cache"); > + private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); > + private static final File netxLock = new File(System.getProperty("java.io.tmpdir"), > + System.getProperty("user.name") + File.separator + > + "netx" + File.separator + > + "locks" + File.separator + > + "netx_running"); > + > + private static final String messageResourcePath = "net/sourceforge/jnlp/resources/Messages.properties"; > + private static PropertyResourceBundle messageBundle = null; > + > + static { > + try { > + messageBundle = > + new PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); > + } catch (IOException e) { > + } > + } > + Pleae NEVER consume an exception. In this case the } catch (IOException ex) { throw new RuntimeException(ex); } Would be the best. You can push this without any other review (unless you think about different fix) J. From ptisnovs at icedtea.classpath.org Thu Sep 5 01:39:01 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 05 Sep 2013 08:39:01 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 2f476a912028 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=2f476a912028 author: Pavel Tisnovsky date: Thu Sep 05 10:42:39 2013 +0200 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r 3939316ef6dd -r 2f476a912028 ChangeLog --- a/ChangeLog Wed Sep 04 11:53:33 2013 +0200 +++ b/ChangeLog Thu Sep 05 10:42:39 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-05 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2013-09-04 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r 3939316ef6dd -r 2f476a912028 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Sep 04 11:53:33 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Sep 05 10:42:39 2013 +0200 @@ -3452,6 +3452,156 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGBbackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeIntARGB_Pre_backgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.black); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Sep 5 01:42:02 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 05 Sep 2013 08:42:02 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset 07f91a0d8ed5 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=07f91a0d8ed5 author: Pavel Tisnovsky date: Thu Sep 05 10:45:48 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite CompilableClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/CompilableClassTest.java | 190 ++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) diffs (213 lines): diff -r 8f9079b8db87 -r 07f91a0d8ed5 ChangeLog --- a/ChangeLog Wed Sep 04 11:51:21 2013 +0200 +++ b/ChangeLog Thu Sep 05 10:45:48 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-05 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite CompilableClassTest. + 2013-09-04 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r 8f9079b8db87 -r 07f91a0d8ed5 src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Wed Sep 04 11:51:21 2013 +0200 +++ b/src/org/RhinoTests/CompilableClassTest.java Thu Sep 05 10:45:48 2013 +0200 @@ -1206,6 +1206,196 @@ } /** + * Test for method javax.script.Compilable.getClass().cast() + */ + protected void testCast() { + try { + this.compilableClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Compilable */ @SuppressWarnings("cast") From gitne at gmx.de Thu Sep 5 02:28:21 2013 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 05 Sep 2013 11:28:21 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522838E5.2060404@redhat.com> References: <522838E5.2060404@redhat.com> Message-ID: <52284EB5.3060500@gmx.de> Jiri Vanek wrote: > On 09/04/2013 07:49 PM, aazores at icedtea.classpath.org wrote: >> changeset bb8132ebc241 in /hg/icedtea-web >> details: >> http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb8132ebc241 >> >> author: Andrew Azores >> date: Wed Sep 04 13:48:42 2013 -0400 >> >> Fixed "could not clear cache" message and cache location in >> CacheReproducer >> >> >> diffstat: >> >> >> ChangeLog >> | 8 + >> >> netx/net/sourceforge/jnlp/config/Defaults.java >> | 2 +- >> >> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> | 95 +++++---- >> 3 files changed, 64 insertions(+), 41 deletions(-) >> >> diffs (228 lines): >> >> diff -r 6c0e37585a5e -r bb8132ebc241 ChangeLog >> --- a/ChangeLog Wed Sep 04 12:22:16 2013 -0400 >> +++ b/ChangeLog Wed Sep 04 13:48:42 2013 -0400 >> @@ -1,3 +1,11 @@ >> +2013-09-04 Andrew Azores >> + >> + * netx/net/sourceforge/jnlp/config/Defaults.java: >> (USER_CACHE_HOME) made >> + public for use in CacheReproducer >> + * >> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: >> + updated "could not clear cache" message and cache location. Other >> minor >> + cleanup >> + >> 2013-09-04 Andrew Azores >> >> * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: >> diff -r 6c0e37585a5e -r bb8132ebc241 >> netx/net/sourceforge/jnlp/config/Defaults.java >> --- a/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 >> 12:22:16 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 >> 13:48:42 2013 -0400 >> @@ -55,7 +55,7 @@ >> final static String SYSTEM_HOME = System.getProperty("java.home"); >> final static String SYSTEM_SECURITY = SYSTEM_HOME + >> File.separator + "lib" + File.separator + "security"; >> final static String USER_CONFIG_HOME; >> - final static String USER_CACHE_HOME; >> + public final static String USER_CACHE_HOME; >> final static String USER_SECURITY; >> final static String LOCKS_DIR = >> System.getProperty("java.io.tmpdir") + File.separator >> + System.getProperty("user.name") + File.separator + >> "netx" + File.separator >> diff -r 6c0e37585a5e -r bb8132ebc241 >> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> >> --- >> a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> Wed Sep 04 12:22:16 2013 -0400 >> +++ >> b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> Wed Sep 04 13:48:42 2013 -0400 >> @@ -44,11 +44,13 @@ >> import java.io.UnsupportedEncodingException; >> import java.util.Arrays; >> import java.util.List; >> +import java.util.PropertyResourceBundle; >> import java.util.regex.Matcher; >> import java.util.regex.Pattern; >> import net.sourceforge.jnlp.ServerAccess; >> -import net.sourceforge.jnlp.ServerAccess.ProcessResult; >> +import net.sourceforge.jnlp.ProcessResult; >> import net.sourceforge.jnlp.annotations.KnownToFail; >> +import net.sourceforge.jnlp.config.Defaults; >> import org.junit.AfterClass; >> import org.junit.Assert; >> >> @@ -60,24 +62,37 @@ >> private static final List clear = Arrays.asList(new >> String[]{server.getJavawsLocation(), "-Xclearcache", >> ServerAccess.HEADLES_OPTION}); >> private static final List trustedVerboses = >> Arrays.asList(new String[]{"-Xtrustall", >> ServerAccess.HEADLES_OPTION,"-verbose"}); >> private static final List verbosed = Arrays.asList(new >> String[]{"-verbose", ServerAccess.HEADLES_OPTION}); >> - private static final String home = System.getProperty("user.home"); >> - private static final String name = System.getProperty("user.name"); >> - private static final String tmp = >> System.getProperty("java.io.tmpdir"); >> - private static final File icedteaDir = new File(home + "/" + >> ".icedtea"); >> - private static final File icedteaCache = new File(icedteaDir, >> "cache"); >> - private static final File icedteaCacheFile = new >> File(icedteaCache, "recently_used"); >> - private static final File netxLock = new File(tmp + "/" + name + >> "/netx/locks/netx_running"); >> + >> private static final String lre = "LruCacheException"; >> private static final String ioobe = "IndexOutOfBoundsException"; >> private static final String corruptRegex = "\\d{13}"; >> private static final Pattern corruptPatern = >> Pattern.compile(corruptRegex); >> private static final String corruptString = "156dsf1562kd5"; >> >> - String testS = "#netx file\n" >> - + "#Mon Dec 12 16:20:46 CET 2011\n" >> - + >> "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" >> >> - + >> "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" >> >> - + >> "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; >> >> + private static final File icedteaCache = new >> File(Defaults.USER_CACHE_HOME, "cache"); >> + private static final File icedteaCacheFile = new >> File(icedteaCache, "recently_used"); >> + private static final File netxLock = new >> File(System.getProperty("java.io.tmpdir"), >> + System.getProperty("user.name") + File.separator + >> + "netx" + File.separator + >> + "locks" + File.separator + >> + "netx_running"); >> + >> + private static final String messageResourcePath = >> "net/sourceforge/jnlp/resources/Messages.properties"; >> + private static PropertyResourceBundle messageBundle = null; >> + >> + static { >> + try { >> + messageBundle = >> + new >> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >> >> + } catch (IOException e) { >> + } >> + } >> + > > Pleae NEVER consume an exception. > > In this case the > > } catch (IOException ex) { > throw new RuntimeException(ex); > } Throwing a chained RuntimeException is going to disrupt the program's flow. So, I would rather advise } catch (IOException e) { e.printStackTrace(); } This will make IOException at least visible on stderr and preserve what has been previously intended, namely continuing program execution undisrupted. > Would be the best. You can push this without any other review (unless > you think about different fix) Regards, Jacob From jvanek at redhat.com Thu Sep 5 04:42:20 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 05 Sep 2013 13:42:20 +0200 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <520D35CA.9070208@redhat.com> References: <520D35CA.9070208@redhat.com> Message-ID: <52286E1C.8030604@redhat.com> On 08/15/2013 10:10 PM, Andrew Azores wrote: > Changelog: > > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClass) made unsynchronized. > (available, jarIndexes, classpaths, jarEntries, jarLocationSecurityMap) wrapped in synchronized > classes. > > An earlier change to the classloader made it possible for two threads to enter deadlock. This is Can we have an reproducer for this? But those are mostly very hard to reproduce, so do not vaste to much time on it (no metter that reprodcuer can have random behaviour as it "can deadlock") > resolved by not giving the thread which calls loadClass the lock on the JNLPClassLoader instance, > and instead synchronizing the member variables which are accessed in loadClass and other methods > called by loadClasss. > > Also made some for-loops into for-each-loops for readability. Sorry for being nitpicker, but please separate refactoring form fix. Both looks good but the readability of patch is strongly reduced by the mixture. Also I'm fan of "refactoring is good time to do an unittest" So the best would be for each method, you touch with "for-loops into fpor-each-loops " refactoring is an excelent candidate for unittest. When I wrote this to Adam an year ago, he stopepd todo this :) So I do not wont to force you to do, but please think about it. > > Thanks, > > -- > Andrew A > > > fix.patch > > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -17,11 +17,6 @@ > > import static net.sourceforge.jnlp.runtime.Translator.R; > > -import java.util.concurrent.locks.ReentrantLock; > - > -import java.util.concurrent.locks.Lock; > - > -import java.io.Closeable; > import java.io.File; > import java.io.FileOutputStream; > import java.io.FileReader; > @@ -59,11 +54,10 @@ > import java.util.TreeSet; > import java.util.Vector; > import java.util.concurrent.ConcurrentHashMap; > +import java.util.concurrent.locks.ReentrantLock; > import java.util.jar.JarEntry; > -import net.sourceforge.jnlp.util.JarFile; > import java.util.jar.Manifest; > > -import net.sourceforge.jnlp.security.appletextendedsecurity.UnsignedAppletTrustConfirmation; > import net.sourceforge.jnlp.AppletDesc; > import net.sourceforge.jnlp.ApplicationDesc; > import net.sourceforge.jnlp.DownloadOptions; > @@ -90,8 +84,9 @@ > import net.sourceforge.jnlp.security.JNLPAppVerifier; > import net.sourceforge.jnlp.security.PluginAppVerifier; > import net.sourceforge.jnlp.security.SecurityDialogs; > +import net.sourceforge.jnlp.security.appletextendedsecurity.UnsignedAppletTrustConfirmation; > import net.sourceforge.jnlp.tools.JarCertVerifier; > -import net.sourceforge.jnlp.util.FileUtils; > +import net.sourceforge.jnlp.util.JarFile; > import net.sourceforge.jnlp.util.StreamUtils; > import sun.misc.JarIndex; > > @@ -166,7 +161,7 @@ > private ArrayList runtimePermissions = new ArrayList(); > > /** all jars not yet part of classloader or active */ > - private List available = new ArrayList(); > + private List available = Collections.synchronizedList(new ArrayList()); > > /** the jar cert verifier tool to verify our jars */ > private final JarCertVerifier jcv; > @@ -174,17 +169,16 @@ > private boolean signing = false; > > /** ArrayList containing jar indexes for various jars available to this classloader */ > - private ArrayList jarIndexes = new ArrayList(); > + private List jarIndexes = Collections.synchronizedList(new ArrayList()); > > /** Set of classpath strings declared in the manifest.mf files */ > - private Set classpaths = new HashSet(); > + private Set classpaths = Collections.synchronizedSet(new HashSet()); > > /** File entries in the jar files available to this classloader */ > - private TreeSet jarEntries = new TreeSet(); > + private Set jarEntries = Collections.synchronizedSet(new TreeSet()); > > /** Map of specific original (remote) CodeSource Urls to securitydesc */ > - private HashMap jarLocationSecurityMap = > - new HashMap(); > + private Map jarLocationSecurityMap = Collections.synchronizedMap(new HashMap()); > > /*Set to prevent once tried-to-get resources to be tried again*/ > private Set alreadyTried = Collections.synchronizedSet(new HashSet()); > @@ -617,18 +611,18 @@ > */ > List initialJars = new ArrayList(); > > - for (int i = 0; i < jars.length; i++) { > + for (JARDesc jar : jars) { > > - available.add(jars[i]); > + available.add(jar); > > - if (jars[i].isEager()) > - initialJars.add(jars[i]); // regardless of part > + if (jar.isEager()) > + initialJars.add(jar); // regardless of part > > - tracker.addResource(jars[i].getLocation(), > - jars[i].getVersion(), > - getDownloadOptionsForJar(jars[i]), > - jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE > - ); > + tracker.addResource(jar.getLocation(), > + jar.getVersion(), > + getDownloadOptionsForJar(jar), > + jar.isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE > + ); > } > > //If there are no eager jars, initialize the first jar > @@ -1170,15 +1164,17 @@ > * in the same part). > */ > protected void fillInPartJars(List jars) { > - for (int i = 0; i < jars.size(); i++) { > - String part = jars.get(i).getPart(); > + for (JARDesc jar : jars) { > + String part = jar.getPart(); > > - for (int a = 0; a < available.size(); a++) { > - JARDesc jar = available.get(a); > - > - if (part != null && part.equals(jar.getPart())) > - if (!jars.contains(jar)) > - jars.add(jar); > + synchronized (available) { > + for (JARDesc availJar : available) { > + if (part != null && part.equals(availJar.getPart())) { > + if (!jars.contains(availJar)) { > + jars.add(availJar); > + } > + } > + } > } > } > } > @@ -1199,9 +1195,7 @@ > // transfer the Jars > waitForJars(jars); > > - for (int i = 0; i < jars.size(); i++) { > - JARDesc jar = jars.get(i); > - > + for (JARDesc jar : jars) { > available.remove(jar); > > // add jar > @@ -1429,7 +1423,7 @@ > * classloader, or one of the classloaders for the JNLP file's > * extensions. > */ > - public synchronized Class loadClass(String name) throws ClassNotFoundException { > + public Class loadClass(String name) throws ClassNotFoundException { > > Class result = findLoadedClassAll(name); > > @@ -1457,15 +1451,17 @@ > > // Look in 'Class-Path' as specified in the manifest file > try { > - for (String classpath: classpaths) { > - JARDesc desc; > - try { > - URL jarUrl = new URL(file.getCodeBase(), classpath); > - desc = new JARDesc(jarUrl, null, null, false, true, false, true); > - } catch (MalformedURLException mfe) { > - throw new ClassNotFoundException(name, mfe); > + synchronized (classpaths) { > + for (String classpath : classpaths) { > + JARDesc desc; > + try { > + URL jarUrl = new URL(file.getCodeBase(), classpath); > + desc = new JARDesc(jarUrl, null, null, false, true, false, true); > + } catch (MalformedURLException mfe) { > + throw new ClassNotFoundException(name, mfe); > + } > + addNewJar(desc); > } > - addNewJar(desc); > } > > result = loadClassExt(name); > @@ -1480,31 +1476,33 @@ > > // Currently this loads jars directly from the site. We cannot cache it because this > // call is initiated from within the applet, which does not have disk read/write permissions > - for (JarIndex index : jarIndexes) { > - // Non-generic code in sun.misc.JarIndex > - @SuppressWarnings("unchecked") > - LinkedList jarList = index.get(name.replace('.', '/')); > + synchronized (jarIndexes) { > + for (JarIndex index : jarIndexes) { > + // Non-generic code in sun.misc.JarIndex > + @SuppressWarnings("unchecked") > + LinkedList jarList = index.get(name.replace('.', '/')); > > - if (jarList != null) { > - for (String jarName : jarList) { > - JARDesc desc; > - try { > - desc = new JARDesc(new URL(file.getCodeBase(), jarName), > - null, null, false, true, false, true); > - } catch (MalformedURLException mfe) { > - throw new ClassNotFoundException(name); > - } > - try { > - addNewJar(desc); > - } catch (Exception e) { > - if (JNLPRuntime.isDebug()) { > - e.printStackTrace(); > + if (jarList != null) { > + for (String jarName : jarList) { > + JARDesc desc; > + try { > + desc = new JARDesc(new URL(file.getCodeBase(), jarName), > + null, null, false, true, false, true); > + } catch (MalformedURLException mfe) { > + throw new ClassNotFoundException(name); > + } > + try { > + addNewJar(desc); > + } catch (Exception e) { > + if (JNLPRuntime.isDebug()) { > + e.printStackTrace(); > + } > } > } > + > + // If it still fails, let it error out > + result = loadClassExt(name); > } > - > - // If it still fails, let it error out > - result = loadClassExt(name); > } > } > } > @@ -1661,7 +1659,7 @@ > // add resources until found > while (true) { > JNLPClassLoader addedTo = null; > - > + > try { > addedTo = addNextResource(); > } catch (LaunchException e) { > @@ -1822,7 +1820,7 @@ > * @throws LaunchException Thrown if the signed JNLP file, within the main jar, fails to be verified or does not match > */ > protected JNLPClassLoader addNextResource() throws LaunchException { > - if (available.size() == 0) { > + if (available.isEmpty()) { > for (int i = 1; i < loaders.length; i++) { > JNLPClassLoader result = loaders[i].addNextResource(); > > @@ -1885,22 +1883,24 @@ > */ > > protected SecurityDesc getCodeSourceSecurity(URL source) { > - SecurityDesc sec=jarLocationSecurityMap.get(source); > - if (sec == null && !alreadyTried.contains(source)) { > - alreadyTried.add(source); > - //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > - if (JNLPRuntime.isDebug()) { > - System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > - } > - try { > - JARDesc des = new JARDesc(source, null, null, false, false, false, false); > - addNewJar(des); > - sec = jarLocationSecurityMap.get(source); > - } catch (Throwable t) { > + SecurityDesc sec = jarLocationSecurityMap.get(source); > + synchronized (alreadyTried) { > + if (sec == null && !alreadyTried.contains(source)) { > + alreadyTried.add(source); > + //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > if (JNLPRuntime.isDebug()) { > - t.printStackTrace(); > + System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > } > - sec = null; > + try { > + JARDesc des = new JARDesc(source, null, null, false, false, false, false); > + addNewJar(des); > + sec = jarLocationSecurityMap.get(source); > + } catch (Throwable t) { > + if (JNLPRuntime.isDebug()) { > + t.printStackTrace(); > + } > + sec = null; > + } > } > } > if (sec == null){ > @@ -1936,8 +1936,11 @@ > } > > // security descriptors > - for (URL key : extLoader.jarLocationSecurityMap.keySet()) { > - jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); > + synchronized (extLoader.jarLocationSecurityMap) { > + Set keys = extLoader.jarLocationSecurityMap.keySet(); > + for (URL key : keys) { > + jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); > + } > } > } > > @@ -2186,9 +2189,12 @@ > } > > // Permissions for all remote hosting urls > - for (URL u: jarLocationSecurityMap.keySet()) { > - permissions.add(new SocketPermission(u.getHost(), > - "connect, accept")); > + synchronized (jarLocationSecurityMap) { > + Set keys = jarLocationSecurityMap.keySet(); > + for (URL u : keys) { > + permissions.add(new SocketPermission(u.getHost(), > + "connect, accept")); > + } > } > > // Permissions for codebase urls (if there is a loader) > From aazores at redhat.com Thu Sep 5 06:10:29 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Sep 2013 09:10:29 -0400 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <52284EB5.3060500@gmx.de> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> Message-ID: <522882C5.7010501@redhat.com> On 09/05/13 05:28, Jacob Wisor wrote: > Jiri Vanek wrote: >> On 09/04/2013 07:49 PM, aazores at icedtea.classpath.org wrote: >>> changeset bb8132ebc241 in /hg/icedtea-web >>> details: >>> http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb8132ebc241 >>> >>> author: Andrew Azores >>> date: Wed Sep 04 13:48:42 2013 -0400 >>> >>> Fixed "could not clear cache" message and cache location in >>> CacheReproducer >>> >>> >>> diffstat: >>> >>> ChangeLog | 8 + >>> netx/net/sourceforge/jnlp/config/Defaults.java | 2 +- >>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> | 95 +++++---- >>> 3 files changed, 64 insertions(+), 41 deletions(-) >>> >>> diffs (228 lines): >>> >>> diff -r 6c0e37585a5e -r bb8132ebc241 ChangeLog >>> --- a/ChangeLog Wed Sep 04 12:22:16 2013 -0400 >>> +++ b/ChangeLog Wed Sep 04 13:48:42 2013 -0400 >>> @@ -1,3 +1,11 @@ >>> +2013-09-04 Andrew Azores >>> + >>> + * netx/net/sourceforge/jnlp/config/Defaults.java: >>> (USER_CACHE_HOME) made >>> + public for use in CacheReproducer >>> + * >>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: >>> + updated "could not clear cache" message and cache location. >>> Other minor >>> + cleanup >>> + >>> 2013-09-04 Andrew Azores >>> >>> * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: >>> diff -r 6c0e37585a5e -r bb8132ebc241 >>> netx/net/sourceforge/jnlp/config/Defaults.java >>> --- a/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 >>> 12:22:16 2013 -0400 >>> +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 >>> 13:48:42 2013 -0400 >>> @@ -55,7 +55,7 @@ >>> final static String SYSTEM_HOME = >>> System.getProperty("java.home"); >>> final static String SYSTEM_SECURITY = SYSTEM_HOME + >>> File.separator + "lib" + File.separator + "security"; >>> final static String USER_CONFIG_HOME; >>> - final static String USER_CACHE_HOME; >>> + public final static String USER_CACHE_HOME; >>> final static String USER_SECURITY; >>> final static String LOCKS_DIR = >>> System.getProperty("java.io.tmpdir") + File.separator >>> + System.getProperty("user.name") + File.separator + >>> "netx" + File.separator >>> diff -r 6c0e37585a5e -r bb8132ebc241 >>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> >>> --- >>> a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> Wed Sep 04 12:22:16 2013 -0400 >>> +++ >>> b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> Wed Sep 04 13:48:42 2013 -0400 >>> @@ -44,11 +44,13 @@ >>> import java.io.UnsupportedEncodingException; >>> import java.util.Arrays; >>> import java.util.List; >>> +import java.util.PropertyResourceBundle; >>> import java.util.regex.Matcher; >>> import java.util.regex.Pattern; >>> import net.sourceforge.jnlp.ServerAccess; >>> -import net.sourceforge.jnlp.ServerAccess.ProcessResult; >>> +import net.sourceforge.jnlp.ProcessResult; >>> import net.sourceforge.jnlp.annotations.KnownToFail; >>> +import net.sourceforge.jnlp.config.Defaults; >>> import org.junit.AfterClass; >>> import org.junit.Assert; >>> >>> @@ -60,24 +62,37 @@ >>> private static final List clear = Arrays.asList(new >>> String[]{server.getJavawsLocation(), "-Xclearcache", >>> ServerAccess.HEADLES_OPTION}); >>> private static final List trustedVerboses = >>> Arrays.asList(new String[]{"-Xtrustall", >>> ServerAccess.HEADLES_OPTION,"-verbose"}); >>> private static final List verbosed = Arrays.asList(new >>> String[]{"-verbose", ServerAccess.HEADLES_OPTION}); >>> - private static final String home = >>> System.getProperty("user.home"); >>> - private static final String name = >>> System.getProperty("user.name"); >>> - private static final String tmp = >>> System.getProperty("java.io.tmpdir"); >>> - private static final File icedteaDir = new File(home + "/" + >>> ".icedtea"); >>> - private static final File icedteaCache = new File(icedteaDir, >>> "cache"); >>> - private static final File icedteaCacheFile = new >>> File(icedteaCache, "recently_used"); >>> - private static final File netxLock = new File(tmp + "/" + name >>> + "/netx/locks/netx_running"); >>> + >>> private static final String lre = "LruCacheException"; >>> private static final String ioobe = "IndexOutOfBoundsException"; >>> private static final String corruptRegex = "\\d{13}"; >>> private static final Pattern corruptPatern = >>> Pattern.compile(corruptRegex); >>> private static final String corruptString = "156dsf1562kd5"; >>> >>> - String testS = "#netx file\n" >>> - + "#Mon Dec 12 16:20:46 CET 2011\n" >>> - + >>> "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" >>> >>> - + >>> "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" >>> >>> - + >>> "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; >>> >>> + private static final File icedteaCache = new >>> File(Defaults.USER_CACHE_HOME, "cache"); >>> + private static final File icedteaCacheFile = new >>> File(icedteaCache, "recently_used"); >>> + private static final File netxLock = new >>> File(System.getProperty("java.io.tmpdir"), >>> + System.getProperty("user.name") + File.separator + >>> + "netx" + File.separator + >>> + "locks" + File.separator + >>> + "netx_running"); >>> + >>> + private static final String messageResourcePath = >>> "net/sourceforge/jnlp/resources/Messages.properties"; >>> + private static PropertyResourceBundle messageBundle = null; >>> + >>> + static { >>> + try { >>> + messageBundle = >>> + new >>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>> >>> + } catch (IOException e) { >>> + } >>> + } >>> + >> >> Pleae NEVER consume an exception. >> >> In this case the >> >> } catch (IOException ex) { >> throw new RuntimeException(ex); >> } > > Throwing a chained RuntimeException is going to disrupt the program's > flow. So, I would rather advise > > } catch (IOException e) { > e.printStackTrace(); > } > > This will make IOException at least visible on stderr and preserve > what has been previously intended, namely continuing program execution > undisrupted. > >> Would be the best. You can push this without any other review (unless >> you think about different fix) > > Regards, > Jacob As Jacob says, I'd rather not throw a chained exception here because that would cause the entire reproducer to halt, would it not? But if the messageBundle is not properly instantiated that's only really a blocker for one test (clearCacheUnsucessfully). This exception being consumed would manifest as a NPE in that later test, which would just result in that single test failing. Printing the stack trace is agreeable enough but I don't really think the entire reproducer needs to stop if we're going to be unable to run one test. Thanks, -- Andrew A From aazores at redhat.com Thu Sep 5 07:04:04 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Sep 2013 10:04:04 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52286E1C.8030604@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> Message-ID: <52288F54.1000907@redhat.com> On 09/05/13 07:42, Jiri Vanek wrote: > On 08/15/2013 10:10 PM, Andrew Azores wrote: >> Changelog: >> >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClass) >> made unsynchronized. >> (available, jarIndexes, classpaths, jarEntries, >> jarLocationSecurityMap) wrapped in synchronized >> classes. >> >> An earlier change to the classloader made it possible for two threads >> to enter deadlock. This is > > Can we have an reproducer for this? But those are mostly very hard to > reproduce, so do not vaste to much time on it (no metter that > reprodcuer can have random behaviour as it "can deadlock") > I did spend some time previously trying to put together a reproducer, but I wasn't able to recreate the deadlock offline. The deadlock was affecting every webpage with multiple applets on it, however, at least on my system. The two sites I used as "reproducers" were: [1] http://www.browserspy.dk/java.php [2] http://www.cis.upenn.edu/~matuszek/General/JavaVersionTests/JavaTests.html [1] being the site mentioned in the original bug report, and [2] being a site I randomly found by Googling for Java test applets. It has *9* on one page! Excellent for testing this particular scenario :) >> resolved by not giving the thread which calls loadClass the lock on >> the JNLPClassLoader instance, >> and instead synchronizing the member variables which are accessed in >> loadClass and other methods >> called by loadClasss. >> >> Also made some for-loops into for-each-loops for readability. > > > Sorry for being nitpicker, but please separate refactoring form fix. > Both looks good but the readability of patch is strongly reduced by > the mixture. > > Also I'm fan of "refactoring is good time to do an unittest" > So the best would be for each method, you touch with "for-loops into > fpor-each-loops " refactoring is an excelent candidate for unittest. > When I wrote this to Adam an year ago, he stopepd todo this :) So I do > not wont to force you to do, but please think about it. Sure I can separate them out. Unittesting on the refactors might be awkward because the methods containing the loop refactors are things like JNLPClassLoader#initializePermissions(), which takes no parameters and has no return value. It just adds values into a private list, which doesn't seem to be publicly exposed in any way either. I'm not really sure how I can go about testing the refactor of the for-loop into a for-each-loop in that kind of situation without doing even more refactoring and changing the interface of the class, just to support being able to unittest a much simpler refactor. TBH I'd rather just leave the slightly-messier looking for-loops in place in this case. If I had done a more thorough refactor with methods being split/extracted or anything like that then unit testing would seem more feasible. Attached is the fix-only version of the patch, refactoring all removed for the time being. > > (snip) -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: fix.patch Type: text/x-patch Size: 10204 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130905/1741b788/fix.patch From andrew at icedtea.classpath.org Thu Sep 5 11:36:47 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Sep 2013 18:36:47 +0000 Subject: /hg/icedtea6: RH995488: Java thinks that the default timezone is... Message-ID: changeset 0dbdbf696a34 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0dbdbf696a34 author: Andrew John Hughes date: Thu Sep 05 19:36:32 2013 +0100 RH995488: Java thinks that the default timezone is Busingen instead of Zurich 2013-09-05 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/rh995488-rhel_tz_fix.patch: Use /etc/sysconfig/clock on RHEL & clones so that they don't search /usr/share/zoneinfo. * NEWS: Mention patch. diffstat: ChangeLog | 9 ++++ Makefile.am | 3 +- NEWS | 1 + patches/rh995488-rhel_tz_fix.patch | 77 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 1 deletions(-) diffs (121 lines): diff -r 782a87f782f3 -r 0dbdbf696a34 ChangeLog --- a/ChangeLog Mon Sep 02 20:59:15 2013 +0100 +++ b/ChangeLog Thu Sep 05 19:36:32 2013 +0100 @@ -1,3 +1,12 @@ +2013-09-05 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * patches/rh995488-rhel_tz_fix.patch: + Use /etc/sysconfig/clock on RHEL & clones + so that they don't search /usr/share/zoneinfo. + * NEWS: Mention patch. + 2013-09-02 Andrew John Hughes * Makefile.am: diff -r 782a87f782f3 -r 0dbdbf696a34 Makefile.am --- a/Makefile.am Mon Sep 02 20:59:15 2013 +0100 +++ b/Makefile.am Thu Sep 05 19:36:32 2013 +0100 @@ -760,7 +760,8 @@ patches/openjdk/6980281-majorver_for_solaris.patch \ patches/openjdk/7000225-bad_tabs.patch \ patches/openjdk/7038711-fix_no-clobber_usage.patch \ - patches/disable-cc-incompatible-sanity-checks.patch + patches/disable-cc-incompatible-sanity-checks.patch \ + patches/rh995488-rhel_tz_fix.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 782a87f782f3 -r 0dbdbf696a34 NEWS --- a/NEWS Mon Sep 02 20:59:15 2013 +0100 +++ b/NEWS Thu Sep 05 19:36:32 2013 +0100 @@ -46,6 +46,7 @@ - RH902004: very bad performance with E-Porto Add-In f??r OpenOffice Writer installed (hs23 only) - RH991170: java does not use correct kerberos credential cache - PR1535: Allow use of system Kerberos to obtain cache location + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich * JamVM - JSR 335: Lambda Expressions - JEP 171: Implement fence methods in sun.misc.Unsafe diff -r 782a87f782f3 -r 0dbdbf696a34 patches/rh995488-rhel_tz_fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/rh995488-rhel_tz_fix.patch Thu Sep 05 19:36:32 2013 +0100 @@ -0,0 +1,77 @@ +diff --git a/src/solaris/native/java/util/TimeZone_md.c b/src/solaris/native/java/util/TimeZone_md.c +--- openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c ++++ openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c +@@ -52,6 +52,8 @@ + #ifdef __linux__ + + static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; ++static const char *REDHAT_RELEASE_FILE = "/etc/redhat-release"; ++static const char *SYSCONFIG_CLOCK_FILE = "/etc/sysconfig/clock"; + static const char *ZONEINFO_DIR = "/usr/share/zoneinfo"; + static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime"; + +@@ -225,6 +227,64 @@ + } + + /* ++ * Next, try the ZONE entry in /etc/sysconfig/clock. ++ */ ++ if ((fp = fopen(REDHAT_RELEASE_FILE, "r")) != NULL) { ++ char id[7]; ++ ++ /* Avoid this file on Fedora as may be buggy; RH489586 */ ++ if (fgets(id, sizeof (id), fp) != NULL && ++ strncmp(id, "Fedora", 6) != 0) { ++ (void) fclose(fp); ++ if ((fp = fopen(SYSCONFIG_CLOCK_FILE, "r")) != NULL) { ++ char line[256]; ++ ++ while (fgets(line, sizeof(line), fp) != NULL) { ++ char *p = line; ++ char *s; ++ ++ SKIP_SPACE(p); ++ if (*p != 'Z') { ++ continue; ++ } ++ if (strncmp(p, "ZONE=\"", 6) == 0) { ++ p += 6; ++ } else { ++ /* ++ * In case we need to parse it token by token. ++ */ ++ if (strncmp(p, "ZONE", 4) != 0) { ++ continue; ++ } ++ p += 4; ++ SKIP_SPACE(p); ++ if (*p++ != '=') { ++ break; ++ } ++ SKIP_SPACE(p); ++ if (*p++ != '"') { ++ break; ++ } ++ } ++ for (s = p; *s && *s != '"'; s++) ++ ; ++ if (*s != '"') { ++ /* this ZONE entry is broken. */ ++ break; ++ } ++ *s = '\0'; ++ tz = strdup(p); ++ break; ++ } ++ (void) fclose(fp); ++ if (tz != NULL) { ++ return tz; ++ } ++ } ++ } ++ } ++ ++ /* + * Next, try /etc/localtime to find the zone ID. + */ + if (lstat(DEFAULT_ZONEINFO_FILE, &statbuf) == -1) { From bugzilla-daemon at icedtea.classpath.org Thu Sep 5 15:06:51 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Sep 2013 22:06:51 +0000 Subject: [Bug 1058] XFileOpenService openMultiFileDialog ClassCastException, FileContents[] instead of FileContents In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1058 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Omair Majid --- Fixed in HEAD. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130905/ad475fc3/attachment.html From jvanek at redhat.com Thu Sep 5 23:43:06 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Sep 2013 08:43:06 +0200 Subject: /hg/icedtea6: RH995488: Java thinks that the default timezone is... In-Reply-To: References: Message-ID: <5229797A.3060607@redhat.com> Offlist As we agreed that this is not good patch and is rhel6 specific, is it really good idea to push it to icedtea? On 09/05/2013 08:36 PM, andrew at icedtea.classpath.org wrote: > changeset 0dbdbf696a34 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0dbdbf696a34 > author: Andrew John Hughes > date: Thu Sep 05 19:36:32 2013 +0100 > > RH995488: Java thinks that the default timezone is Busingen instead of Zurich > > 2013-09-05 Andrew John Hughes > > * Makefile.am: > (ICEDTEA_PATCHES): Add new patch. > * patches/rh995488-rhel_tz_fix.patch: > Use /etc/sysconfig/clock on RHEL & clones > so that they don't search /usr/share/zoneinfo. > * NEWS: Mention patch. > > > diffstat: > > ChangeLog | 9 ++++ > Makefile.am | 3 +- > NEWS | 1 + > patches/rh995488-rhel_tz_fix.patch | 77 ++++++++++++++++++++++++++++++++++++++ > 4 files changed, 89 insertions(+), 1 deletions(-) > > diffs (121 lines): > > diff -r 782a87f782f3 -r 0dbdbf696a34 ChangeLog > --- a/ChangeLog Mon Sep 02 20:59:15 2013 +0100 > +++ b/ChangeLog Thu Sep 05 19:36:32 2013 +0100 > @@ -1,3 +1,12 @@ > +2013-09-05 Andrew John Hughes > + > + * Makefile.am: > + (ICEDTEA_PATCHES): Add new patch. > + * patches/rh995488-rhel_tz_fix.patch: > + Use /etc/sysconfig/clock on RHEL & clones > + so that they don't search /usr/share/zoneinfo. > + * NEWS: Mention patch. > + > 2013-09-02 Andrew John Hughes > > * Makefile.am: > diff -r 782a87f782f3 -r 0dbdbf696a34 Makefile.am > --- a/Makefile.am Mon Sep 02 20:59:15 2013 +0100 > +++ b/Makefile.am Thu Sep 05 19:36:32 2013 +0100 > @@ -760,7 +760,8 @@ > patches/openjdk/6980281-majorver_for_solaris.patch \ > patches/openjdk/7000225-bad_tabs.patch \ > patches/openjdk/7038711-fix_no-clobber_usage.patch \ > - patches/disable-cc-incompatible-sanity-checks.patch > + patches/disable-cc-incompatible-sanity-checks.patch \ > + patches/rh995488-rhel_tz_fix.patch > > if WITH_ALT_HSBUILD > ICEDTEA_PATCHES += \ > diff -r 782a87f782f3 -r 0dbdbf696a34 NEWS > --- a/NEWS Mon Sep 02 20:59:15 2013 +0100 > +++ b/NEWS Thu Sep 05 19:36:32 2013 +0100 > @@ -46,6 +46,7 @@ > - RH902004: very bad performance with E-Porto Add-In f??r OpenOffice Writer installed (hs23 only) > - RH991170: java does not use correct kerberos credential cache > - PR1535: Allow use of system Kerberos to obtain cache location > + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich > * JamVM > - JSR 335: Lambda Expressions > - JEP 171: Implement fence methods in sun.misc.Unsafe > diff -r 782a87f782f3 -r 0dbdbf696a34 patches/rh995488-rhel_tz_fix.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/patches/rh995488-rhel_tz_fix.patch Thu Sep 05 19:36:32 2013 +0100 > @@ -0,0 +1,77 @@ > +diff --git a/src/solaris/native/java/util/TimeZone_md.c b/src/solaris/native/java/util/TimeZone_md.c > +--- openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c > ++++ openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c > +@@ -52,6 +52,8 @@ > + #ifdef __linux__ > + > + static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; > ++static const char *REDHAT_RELEASE_FILE = "/etc/redhat-release"; > ++static const char *SYSCONFIG_CLOCK_FILE = "/etc/sysconfig/clock"; > + static const char *ZONEINFO_DIR = "/usr/share/zoneinfo"; > + static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime"; > + > +@@ -225,6 +227,64 @@ > + } > + > + /* > ++ * Next, try the ZONE entry in /etc/sysconfig/clock. > ++ */ > ++ if ((fp = fopen(REDHAT_RELEASE_FILE, "r")) != NULL) { > ++ char id[7]; > ++ > ++ /* Avoid this file on Fedora as may be buggy; RH489586 */ > ++ if (fgets(id, sizeof (id), fp) != NULL && > ++ strncmp(id, "Fedora", 6) != 0) { > ++ (void) fclose(fp); > ++ if ((fp = fopen(SYSCONFIG_CLOCK_FILE, "r")) != NULL) { > ++ char line[256]; > ++ > ++ while (fgets(line, sizeof(line), fp) != NULL) { > ++ char *p = line; > ++ char *s; > ++ > ++ SKIP_SPACE(p); > ++ if (*p != 'Z') { > ++ continue; > ++ } > ++ if (strncmp(p, "ZONE=\"", 6) == 0) { > ++ p += 6; > ++ } else { > ++ /* > ++ * In case we need to parse it token by token. > ++ */ > ++ if (strncmp(p, "ZONE", 4) != 0) { > ++ continue; > ++ } > ++ p += 4; > ++ SKIP_SPACE(p); > ++ if (*p++ != '=') { > ++ break; > ++ } > ++ SKIP_SPACE(p); > ++ if (*p++ != '"') { > ++ break; > ++ } > ++ } > ++ for (s = p; *s && *s != '"'; s++) > ++ ; > ++ if (*s != '"') { > ++ /* this ZONE entry is broken. */ > ++ break; > ++ } > ++ *s = '\0'; > ++ tz = strdup(p); > ++ break; > ++ } > ++ (void) fclose(fp); > ++ if (tz != NULL) { > ++ return tz; > ++ } > ++ } > ++ } > ++ } > ++ > ++ /* > + * Next, try /etc/localtime to find the zone ID. > + */ > + if (lstat(DEFAULT_ZONEINFO_FILE, &statbuf) == -1) { > From jvanek at redhat.com Fri Sep 6 00:11:03 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Sep 2013 09:11:03 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522882C5.7010501@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> Message-ID: <52298007.4040802@redhat.com> On 09/05/2013 03:10 PM, Andrew Azores wrote: > On 09/05/13 05:28, Jacob Wisor wrote: >> Jiri Vanek wrote: >>> On 09/04/2013 07:49 PM, aazores at icedtea.classpath.org wrote: >>>> changeset bb8132ebc241 in /hg/icedtea-web >>>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb8132ebc241 >>>> author: Andrew Azores >>>> date: Wed Sep 04 13:48:42 2013 -0400 >>>> >>>> Fixed "could not clear cache" message and cache location in CacheReproducer >>>> >>>> >>>> diffstat: >>>> >>>> ChangeLog | 8 + >>>> netx/net/sourceforge/jnlp/config/Defaults.java | 2 +- >>>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 95 +++++---- >>>> 3 files changed, 64 insertions(+), 41 deletions(-) >>>> >>>> diffs (228 lines): >>>> >>>> diff -r 6c0e37585a5e -r bb8132ebc241 ChangeLog >>>> --- a/ChangeLog Wed Sep 04 12:22:16 2013 -0400 >>>> +++ b/ChangeLog Wed Sep 04 13:48:42 2013 -0400 >>>> @@ -1,3 +1,11 @@ >>>> +2013-09-04 Andrew Azores >>>> + >>>> + * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made >>>> + public for use in CacheReproducer >>>> + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: >>>> + updated "could not clear cache" message and cache location. Other minor >>>> + cleanup >>>> + >>>> 2013-09-04 Andrew Azores >>>> >>>> * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: >>>> diff -r 6c0e37585a5e -r bb8132ebc241 netx/net/sourceforge/jnlp/config/Defaults.java >>>> --- a/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 12:22:16 2013 -0400 >>>> +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Sep 04 13:48:42 2013 -0400 >>>> @@ -55,7 +55,7 @@ >>>> final static String SYSTEM_HOME = System.getProperty("java.home"); >>>> final static String SYSTEM_SECURITY = SYSTEM_HOME + File.separator + "lib" + >>>> File.separator + "security"; >>>> final static String USER_CONFIG_HOME; >>>> - final static String USER_CACHE_HOME; >>>> + public final static String USER_CACHE_HOME; >>>> final static String USER_SECURITY; >>>> final static String LOCKS_DIR = System.getProperty("java.io.tmpdir") + File.separator >>>> + System.getProperty("user.name") + File.separator + "netx" + File.separator >>>> diff -r 6c0e37585a5e -r bb8132ebc241 >>>> tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>>> --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 >>>> 12:22:16 2013 -0400 >>>> +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 04 >>>> 13:48:42 2013 -0400 >>>> @@ -44,11 +44,13 @@ >>>> import java.io.UnsupportedEncodingException; >>>> import java.util.Arrays; >>>> import java.util.List; >>>> +import java.util.PropertyResourceBundle; >>>> import java.util.regex.Matcher; >>>> import java.util.regex.Pattern; >>>> import net.sourceforge.jnlp.ServerAccess; >>>> -import net.sourceforge.jnlp.ServerAccess.ProcessResult; >>>> +import net.sourceforge.jnlp.ProcessResult; >>>> import net.sourceforge.jnlp.annotations.KnownToFail; >>>> +import net.sourceforge.jnlp.config.Defaults; >>>> import org.junit.AfterClass; >>>> import org.junit.Assert; >>>> >>>> @@ -60,24 +62,37 @@ >>>> private static final List clear = Arrays.asList(new >>>> String[]{server.getJavawsLocation(), "-Xclearcache", ServerAccess.HEADLES_OPTION}); >>>> private static final List trustedVerboses = Arrays.asList(new >>>> String[]{"-Xtrustall", ServerAccess.HEADLES_OPTION,"-verbose"}); >>>> private static final List verbosed = Arrays.asList(new String[]{"-verbose", >>>> ServerAccess.HEADLES_OPTION}); >>>> - private static final String home = System.getProperty("user.home"); >>>> - private static final String name = System.getProperty("user.name"); >>>> - private static final String tmp = System.getProperty("java.io.tmpdir"); >>>> - private static final File icedteaDir = new File(home + "/" + ".icedtea"); >>>> - private static final File icedteaCache = new File(icedteaDir, "cache"); >>>> - private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); >>>> - private static final File netxLock = new File(tmp + "/" + name + "/netx/locks/netx_running"); >>>> + >>>> private static final String lre = "LruCacheException"; >>>> private static final String ioobe = "IndexOutOfBoundsException"; >>>> private static final String corruptRegex = "\\d{13}"; >>>> private static final Pattern corruptPatern = Pattern.compile(corruptRegex); >>>> private static final String corruptString = "156dsf1562kd5"; >>>> >>>> - String testS = "#netx file\n" >>>> - + "#Mon Dec 12 16:20:46 CET 2011\n" >>>> - + >>>> "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" >>>> - + >>>> "1323703243086,2=/home/xp14/.icedtea/cache/2/http/localhost/ReadProperties.jar\n" >>>> - + >>>> "1323703243082,1=/home/xp15/.icedtea/cache/1/http/localhost/ReadPropertiesBySignedHack.jar"; >>>> + private static final File icedteaCache = new File(Defaults.USER_CACHE_HOME, "cache"); >>>> + private static final File icedteaCacheFile = new File(icedteaCache, "recently_used"); >>>> + private static final File netxLock = new File(System.getProperty("java.io.tmpdir"), >>>> + System.getProperty("user.name") + File.separator + >>>> + "netx" + File.separator + >>>> + "locks" + File.separator + >>>> + "netx_running"); >>>> + >>>> + private static final String messageResourcePath = >>>> "net/sourceforge/jnlp/resources/Messages.properties"; >>>> + private static PropertyResourceBundle messageBundle = null; >>>> + >>>> + static { >>>> + try { >>>> + messageBundle = >>>> + new >>>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>>> >>>> + } catch (IOException e) { >>>> + } >>>> + } >>>> + >>> >>> Pleae NEVER consume an exception. >>> >>> In this case the >>> >>> } catch (IOException ex) { >>> throw new RuntimeException(ex); >>> } >> >> Throwing a chained RuntimeException is going to disrupt the program's flow. So, I would rather advise >> >> } catch (IOException e) { >> e.printStackTrace(); >> } >> >> This will make IOException at least visible on stderr and preserve what has been previously >> intended, namely continuing program execution undisrupted. >> >>> Would be the best. You can push this without any other review (unless you think about different fix) >> >> Regards, >> Jacob > > As Jacob says, I'd rather not throw a chained exception here because that would cause the entire > reproducer to halt, would it not? But if the messageBundle is not properly instantiated that's only > really a blocker for one test (clearCacheUnsucessfully). This exception being consumed would > manifest as a NPE in that later test, which would just result in that single test failing. Printing > the stack trace is agreeable enough but I don't really think the entire reproducer needs to stop if > we're going to be unable to run one test. > imho nope. If messages.properties would become unavailable, then it is so crucial that I would be happy even for whole test run failure. Also not >> } catch (IOException e) { >> e.printStackTrace(); >> } but >> } catch (IOException e) { ServerAccess.logException(ex); >> } (never use stdout/err in testcases, but always appropriate ServerAccess.log* function) In this particular case do as you wish. My recommendation would lead to separate changeset, where you will create static method getMessage(String key) somewhere in test-extensions/net/sourceforge/jnlp/tools (probably new utility class) which will encapsulate the >>>> + private static final String messageResourcePath = >>>> "net/sourceforge/jnlp/resources/Messages.properties"; >>>> + private static PropertyResourceBundle messageBundle = null; >>>> + >>>> + static { >>>> + try { >>>> + messageBundle = >>>> + new >>>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>>> >>>> + } catch (IOException e) { with throw here :) >>>> + } >>>> + } and >>>> + String cacheClearError = messageBundle.getString("CCannotClearCache"); parts. The reason for this is, that the hardocded "evaluate string" is wide spread issue, and I believe some of the failures are because of small change in properties file (eg the "the" removal/addition or something like that) Also you can imprve it a bit more for localised messages too, and then make localisation reproducers/unittests much thinner. But this is even another chapter. Anyway I do not insists. From jvanek at redhat.com Fri Sep 6 02:40:17 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Sep 2013 11:40:17 +0200 Subject: [rfc][icedtea-web] Certificate viewer cleanup In-Reply-To: <201308291518.r7TFILBG011772@mail-web03.excite.co.jp> References: <201308291518.r7TFILBG011772@mail-web03.excite.co.jp> Message-ID: <5229A301.1070401@redhat.com> On 08/29/2013 05:18 PM, Jacob Wisor wrote: > "Jacob Wisor" wrote: >> >"Jacob Wisor" wrote: >>> > >* Replaced old insufficient certificate viewer's action buttons handling with proper handling >>> > >* Made System-level certificates managable if current user has write access to a KeyStore (usually only root or admin) >>> > >* Added informative tool tip to disabled buttons when certificates are unmanagable >>> > >* Made certificate table uneditable >>> > >* Made certificate info table uneditable >>> > >* Made certificate info's descriptive JTextField have the same font size as its info table for better readability >>> > >* Added certificate file filters with Windows/Linux preference >>> > >* Added auto-suggested certificate file names when exporting >>> > >* Added automatically generated mnemonics >>> > >* Made labels link to corresponding JComponents >>> > >* Added a border to certificate type label for better readability >>> > >* Uniformed border sizes >>> > >* Added removing of multiple certificates at once >>> > >* Turned some only once occuring fields into static >>> > >* Added proper exception handling when setting system look & feel, hence removed superfluous "throws Exception" from method signatures >>> > > >>> > >Happy reviewing! >>> > > >>> > >Jacob >> > >> >Pasting in this time. >> > >> >[...] > I have realized I have missed to add a new file to the patch. I have updated the copyright headers too. > Nice job, thank you! I have finally read it through! As drawback there is bunch of exceptions: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:645) at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) at java.security.KeyStore.load(KeyStore.java:1214) at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:416) at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:140) at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:119) at net.sourceforge.jnlp.security.KeyStores.getClientKeyStores(KeyStores.java:235) at net.sourceforge.jnlp.security.VariableX509TrustManager.(VariableX509TrustManager.java:145) at net.sourceforge.jnlp.security.VariableX509TrustManager.getInstance(VariableX509TrustManager.java:439) at net.sourceforge.jnlp.security.VariableX509TrustManagerJDK7.(VariableX509TrustManagerJDK7.java:53) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at net.sourceforge.jnlp.runtime.JNLPRuntime.getSSLSocketTrustManager(JNLPRuntime.java:319) at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:256) at net.sourceforge.jnlp.security.viewer.CertificateViewer.showCertificateViewer(CertificateViewer.java:103) at net.sourceforge.jnlp.security.viewer.CertificateViewer.main(CertificateViewer.java:126) at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:135) and (more important) java.lang.NullPointerException at net.sourceforge.jnlp.security.viewer.CertificatePane.readKeyStore(CertificatePane.java:316) at net.sourceforge.jnlp.security.viewer.CertificatePane.repopulateTables(CertificatePane.java:344) at net.sourceforge.jnlp.security.viewer.CertificatePane.access$1200(CertificatePane.java:90) at net.sourceforge.jnlp.security.viewer.CertificatePane$CertificateTypeListener.actionPerformed(CertificatePane.java:408) at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260) at javax.swing.JComboBox.setSelectedItem(JComboBox.java:588) at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624) at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:835) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3312) at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:499) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) Both are quite serious as they stop the redrawing of table. Two ideas - when digging in this, maybe to switch ~/icedtea-web-image/bin/javaws -viewer from Dialog to Frame would be nice - at least it will be accesible via alt+tab and maximiseable and so on... - the tool tip text are pretty good {except {0} error) but are hard to be seen. Most people do not hover over disabled button. It would be nice to have them as label on visible(if useful)/invisible paanel eg. between buttons and table. Few nits in inline: > > CertficateViewer_cleanup.patch > > > diff -r 420d72e5cee7 netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > @@ -275,6 +276,9 @@ > SValidity=Validity > > # Certificate Viewer > +CVCannotImport=You can not import certificates of this type because {0} Those {0} are never avaluated. > +CVCannotRemove=You can not remove certificates of this type because {0} The CVCannotImport/CVCannotRemove seems to me randomly switched with CVCause. CVCannotImport/CVCannotRemove - are shown when I change certificate type, whether CVCause is shown when user/system tab. I think both are valid at all time, so their concation would be nice. > +CVCause=
  • you are not logged in as an administrator,
  • you have no file system write permission to the keystore file,
  • the keystore file is inaccesible via network,
  • the keystore file is write protected by file system attributes,
  • you do not have a FilePermission("write"), or
  • the keystore file is otherwise physically inaccesible.
> CVCertificateViewer=Certificates > CVCertificateType=Certificate Type > CVDetails=Details ...snip... > @@ -302,6 +303,37 @@ > } > > /** > + * Checks whether the specified system-level or user-level {@link KeyStore} > + * is writable. > + * @param level > + * @return {@code true} if the specified {@code KeyStore} is writable, > + * {@code false} otherwise > + * @see KeyStores.Level > + */ > + public static final boolean isKeyStoreWriteable(KeyStores.Level level, KeyStores.Type type) { > + if (level == null) throw new IllegalArgumentException("level == " + level); > + if (type == null) throw new IllegalArgumentException("type == " + type); > + > + FileOutputStream fileOutputStream = null; > + > + try { > + fileOutputStream = new FileOutputStream(KeyStores.getKeyStoreLocation(level, type), true); > + } catch (final FileNotFoundException fileNotFoundException) { > + fileOutputStream = null; > + } catch (final SecurityException securityException) { > + fileOutputStream = null; > + } finally { > + if (fileOutputStream != null) try { > + fileOutputStream.close(); > + } catch (final IOException ioException) { > + // Don't bother, fileOutputStream is probably closed anyway > + } > + } > + > + return fileOutputStream != null; Its really enough? I did not know this "hack". Interesting :) Please add unittest for anyway. > + } > + ...snip... > * "Issued To" and "Issued By" string pairs for certs. > */ > private String[][] issuedToAndBy = null; > - private final String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; > + private final static String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; > + private final static String CER_EXTENSION = "cer", > + CRT_EXTENSION = "crt", > + PFX_EXTENSION = "pfx", > + P12_EXTENSION = "p12", > + PKCS12 = "PKCS #12"; I must say I'm quite confused by this extensions. What are they needed for now? (as they were not needed before) > > - private final CertificateType[] certificateTypes = new CertificateType[] { > + private final static CertificateType[] certificateTypes = new CertificateType[] { ... > > userTable = new JTable(null); > systemTable = new JTable(null); > - disableForSystem = new ArrayList(); Well I'm not sure about this expansion of array into four separated variables. Althoug disableForSystem will become really irrelevant name. I would go with JComponent[] button = new JComponent{ > + this.importButton = new JButton(); > + this.exportButton = new JButton(); > + this.removeButton = new JButton(); > + this.detailButton = new JButton(); } As I believe there are few cases where iteration will win over duplicate code. > > addComponents(); > > @@ -139,6 +167,9 @@ > } else { > currentKeyStoreLevel = Level.SYSTEM; > } > + this.importButton.setEnabled(this.isKeyStoreWriteable = > + KeyStores.isKeyStoreWriteable(this.currentKeyStoreLevel, > + this.currentKeyStoreType)); > > repopulateTables(); > } > @@ -163,9 +194,11 @@ > certificateTypePanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); > > JLabel certificateTypeLabel = new JLabel(R("CVCertificateType")); > + certificateTypeLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5)); > > certificateTypeCombo = new JComboBox(certificateTypes); > certificateTypeCombo.addActionListener(new CertificateTypeListener()); > + certificateTypeLabel.setLabelFor(this.certificateTypeCombo); > > certificateTypePanel.add(certificateTypeLabel, BorderLayout.LINE_START); > certificateTypePanel.add(certificateTypeCombo, BorderLayout.CENTER); > @@ -173,20 +206,24 @@ > JPanel tablePanel = new JPanel(new BorderLayout()); > > // User Table > - DefaultTableModel userTableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - userTable.setModel(userTableModel); > + userTable.setModel(new NonEditableTableModel(issuedToAndBy, CertificatePane.columnNames)); > userTable.getTableHeader().setReorderingAllowed(false); > userTable.setFillsViewportHeight(true); > + final CertificatePane.CertificateListSelectionListener certificateListSelectionListener; > + userTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); > + userTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener = > + new CertificatePane.CertificateListSelectionListener()); > JScrollPane userTablePane = new JScrollPane(userTable); > userTablePane.setPreferredSize(TABLE_DIMENSION); > userTablePane.setSize(TABLE_DIMENSION); > userTablePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); > > // System Table > - DefaultTableModel systemTableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - systemTable.setModel(systemTableModel); > + systemTable.setModel(new NonEditableTableModel(issuedToAndBy, CertificatePane.columnNames)); > systemTable.getTableHeader().setReorderingAllowed(false); > systemTable.setFillsViewportHeight(true); > + systemTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); > + systemTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener); > JScrollPane systemTablePane = new JScrollPane(systemTable); > systemTablePane.setPreferredSize(TABLE_DIMENSION); > systemTablePane.setSize(TABLE_DIMENSION); > @@ -199,35 +236,50 @@ > > JPanel buttonPanel = new JPanel(new FlowLayout()); > > - String[] buttonNames = { R("CVImport"), R("CVExport"), R("CVRemove"), R("CVDetails") }; > - char[] buttonMnemonics = { KeyEvent.VK_I, > - KeyEvent.VK_E, > - KeyEvent.VK_M, > - KeyEvent.VK_D }; > - ActionListener[] listeners = { new ImportButtonListener(), > - new ExportButtonListener(), > - new RemoveButtonListener(), > - new DetailsButtonListener() }; > - JButton button; > + final String[] controlTexts = { > + R("CVCertificateType"), > + R("CVImport"), > + R("CVExport"), > + R("CVRemove"), > + R("CVDetails"), > + R("ButClose") > + }; > + final Map mnemonicsMap = UI.generateMnemonics(controlTexts); > + certificateTypeLabel.setDisplayedMnemonic(mnemonicsMap.get(R("CVCertificateType"))); > > //get the max width > int maxWidth = 0; > - for (int i = 0; i < buttonNames.length; i++) { > - button = new JButton(buttonNames[i]); > + for (int i = 1; i < 5; i++) { buttonNames.length is definitively better then "5". > + JButton button = new JButton(controlTexts[i]); > maxWidth = Math.max(maxWidth, button.getMinimumSize().width); > } > > - for (int i = 0; i < buttonNames.length; i++) { > - button = new JButton(buttonNames[i]); > - button.setMnemonic(buttonMnemonics[i]); > - button.addActionListener(listeners[i]); > - button.setSize(maxWidth, button.getSize().height); > - // import and remove buttons > - if (i == 0 || i == 2) { > - disableForSystem.add(button); > - } > - buttonPanel.add(button); > - } Yup, here is the duplicated code. I know there will be some ifs, but really iteration is preferred way. > + this.importButton.setText(controlTexts[1]); > + this.importButton.setMnemonic(mnemonicsMap.get(controlTexts[1])); > + this.importButton.addActionListener(new CertificatePane.ImportButtonListener()); > + this.importButton.setSize(maxWidth, this.importButton.getSize().height); > + buttonPanel.add(this.importButton); > + > + this.exportButton.setText(controlTexts[2]); > + this.exportButton.setMnemonic(mnemonicsMap.get(controlTexts[2])); > + this.exportButton.addActionListener(new CertificatePane.ExportButtonListener()); > + this.exportButton.setSize(maxWidth, this.exportButton.getSize().height); > + this.exportButton.setEnabled(false); > + buttonPanel.add(this.exportButton); > + > + this.removeButton.setText(controlTexts[3]); > + this.removeButton.setMnemonic(mnemonicsMap.get(controlTexts[3])); > + this.removeButton.addActionListener(new CertificatePane.RemoveButtonListener()); > + this.removeButton.setSize(maxWidth, this.removeButton.getSize().height); > + this.removeButton.setEnabled(false); > + buttonPanel.add(this.removeButton); > + > + this.detailButton.setText(controlTexts[4]); > + this.detailButton.setMnemonic(mnemonicsMap.get(controlTexts[4])); > + this.detailButton.addActionListener(new CertificatePane.DetailsButtonListener()); > + this.detailButton.setSize(maxWidth, this.detailButton.getSize().height); > + this.detailButton.setEnabled(false); > + buttonPanel.add(this.detailButton); > > tablePanel.add(tabbedPane, BorderLayout.CENTER); > tablePanel.add(buttonPanel, BorderLayout.SOUTH); ...snip... > > @@ -112,12 +113,16 @@ > private static void setSystemLookAndFeel() { > try { > UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); > - } catch (Exception e) { > + } catch (ClassNotFoundException classNotFoundException) {} > + catch (InstantiationException instantiationException) {} > + catch (IllegalAccessException illegalAccessException) {} > + catch (UnsupportedLookAndFeelException unsupportedLookAndFeelException) {} > + catch (ClassCastException classCastException) { > // don't worry if we can't. > } Well, not sure if worthy, but as you wish. I would be proably fan of ex.printstackTrace in case of debug on. But I do not isnisits. > } > > - public static void main(String[] args) throws Exception { > + public static void main(String[] args) { > CertificateViewer.showCertificateViewer(); > } ... > +/** > + * Impementation of a certificate viewer. > + *

> + * The certificate viewer can be accessed via the "Certificates" tab or by I would add * The certificate viewer can be accessed via the "Certificates" tab in itw-settings or by But do not isnists. > + * invoking {@code javaws -viewer} on the command line. > + *

> + * @see net.sourceforge.jnlp.controlpanel.ControlPanel > + */ ...snip... > + > +/** > + * This class provides methods and classes for common and recurring tasks while > + * dealing with the UI that are not provided by the Java SE platform. > + * @since 1.5 > + */ > +public final class UI { > + /** > + * Hide the default constructor from instantiating this class, because it is > + * a mere collection of diverese helper functionalities encapsulated in either > + * static methods or static nested classes. > + */ > + private UI() { > + } > + > + /** > + * Generates corresponding mnemonics to texts of controls like buttons, > + * labels, check boxes, radio buttons, or menu items. This method is primarily > + * useful for applications which control's texts are loaded from localized > + * resources that either lack mnemonics for corresponding controls or when > + * storing mnemonics in resources is not desired. > + *

NOTE:
> + * This method works with Latin, Greek, and Cyrillic alphabets only!

> + * This method may produce multiple identical (recurring) mnemonics if a text > + * does not have enough distinct letters. > + * @todo Add support for right-to-left alphabets and other scripts. > + * @param strings A {@link String} array with all Window's or Dialog's > + * control's texts that shall get mnemonics > + * @return a {@link HashMap} of texts with their corresponding mnemonic characters > + */ Ugh. Although the idea behind this is really _excelent_ I doubt it a bit.Or I doubt its complexity. Before scratching it - few topics: - is really mnemoic based on localisation desired behaviour? I'm in favour that it is not. Mostly one simpli look into menu, and when he used this click and find click to often, he remebers the mneonic. Maybe it is even better when all alnguages have them same. But you know more about localisations then me. - the implementation should allwo default values - especialy for not "Latin, Greek, and Cyrillic " or strings which "does not have enough distinct letters" - I think that the implementation is too complicated according what it do (see inline) - first letters of words should be preffered - it will need unittest;) I'm in grete favour to remove this from this changeset and proceed it as separate patch. > + public static Map generateMnemonics(final String[] strings) { > + if (strings == null) throw new IllegalArgumentException("strings"); At lest "input string was null" ;) > + > + final int stringsLength = strings.length; > + final HashMap hashMap = new HashMap(stringsLength); This to shoudl be final Map hashMap = new HashMap... > + for (int index = 0; index < stringsLength; index++) { > + // Remove all white spaces, because they must not be mnemonics maybe if (strings[index] == null) throw new IllegalArgumentException("strings") too? > + final String s = strings[index], reducedString = s.replaceAll("[^A-Za-z0-9\u0391-\u03A9\u03B1-\u03C9\u0410-\u045F]" /*"[\\s\\p{Punct}\\p{Cntrl}\u0500-\uFFFF]"*/, ""); s.replaceAll("/s","") should do the job ;) - If you really wont to remove only whitespaces, but I see different in regex. - Maybe jsut keep [A-Z,a-z] would be more usefull > + char mnemonic = '\u0000'; > + final int reducedStringLength = reducedString.length(); > + for (int charIndex = 0; charIndex < reducedStringLength && hashMap.containsValue(mnemonic = Character.toUpperCase(reducedString.charAt(charIndex))); charIndex++); interesting line :) > + hashMap.put(s, mnemonic); > + } > + > + return hashMap; > + } > + I would probably move this to separate calss file. Also it would be nice to have some smoke test for this, but as I'm not sure of comlexity I do not isnists. > + /** > + * A table model that is in effect a {@link DefaultTableModel} except for no > + * cell being editable. > + * @see DefaultTableModel > + */ > + public static class NonEditableTableModel extends DefaultTableModel { > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @see DefaultTableModel#DefaultTableModel() > + */ > + public NonEditableTableModel() { > + super(); > + } > + > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @param rowCount the number of rows the table holds > + * @param columnCount the number of columns the table holds > + * @see DefaultTableModel#DefaultTableModel(int,int) > + */ > + public NonEditableTableModel(final int rowCount, final int columnCount) { > + super(rowCount, columnCount); > + } > + > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @param data the data of the table > + * @param columnNames the names of the columns > + * @see DefaultTableModel#DefaultTableModel(Object[][],Object[]) > + */ > + public NonEditableTableModel(final Object[][] data, final Object[] columnNames) { > + super(data, columnNames); > + } > + > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @param columnNames {@code array} containing the names of the new columns; > + * if this is {@code null} then the model has no columns > + * @param rowCount the number of rows the table holds > + * @see DefaultTableModel#DefaultTableModel(Object[],int) > + */ > + public NonEditableTableModel(final Object[] columnNames, final int rowCount) { > + super(columnNames, rowCount); > + } > + > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @param columnNames {@code vector} containing the names of the new columns; > + * if this is {@code null} then the model has no columns > + * @param rowCount the number of rows the table holds > + * @see DefaultTableModel#DefaultTableModel(Vector,int) > + */ > + public NonEditableTableModel(final Vector columnNames, final int rowCount) { > + super(columnNames, rowCount); > + } > + > + /** > + * Constructs a {@link javax.swing.table.TableModel} that serves only one > + * purpose: make cells of certificate tables not editable. > + * @param data the data of the table, a {@code Vector} of {@code Vector}s > + * of {@code Object} values > + * @param columnNames {@code vector} containing the names of the new columns > + * @see DefaultTableModel#DefaultTableModel(Vector,Vector) > + */ > + public NonEditableTableModel(final Vector data, final Vector columnNames) { > + super(data, columnNames); > + } > + > + /** > + * This method always returns {@code false} to make the table's cells not > + * editable. > + * @param row the row whose value to be queried > + * @param column the column whose value to be queried > + * @return always {@code false} > + */ > + @Override > + public boolean isCellEditable(final int row, final int column) { > + return false; > + } > + } > +} > \ No newline at end of file > Again - greate work! Thank you vcery much for it J. From jvanek at redhat.com Fri Sep 6 03:08:09 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Sep 2013 12:08:09 +0200 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52288F54.1000907@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> Message-ID: <5229A989.2060203@redhat.com> On 09/05/2013 04:04 PM, Andrew Azores wrote: > On 09/05/13 07:42, Jiri Vanek wrote: >> On 08/15/2013 10:10 PM, Andrew Azores wrote: >>> Changelog: >>> >>> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClass) made unsynchronized. >>> (available, jarIndexes, classpaths, jarEntries, jarLocationSecurityMap) wrapped in synchronized >>> classes. >>> >>> An earlier change to the classloader made it possible for two threads to enter deadlock. This is >> >> Can we have an reproducer for this? But those are mostly very hard to reproduce, so do not vaste >> to much time on it (no metter that reprodcuer can have random behaviour as it "can deadlock") >> > > I did spend some time previously trying to put together a reproducer, but I wasn't able to recreate > the deadlock offline. The deadlock was affecting every webpage with multiple applets on it, however, > at least on my system. The two sites I used as "reproducers" were: > [1] http://www.browserspy.dk/java.php > [2] http://www.cis.upenn.edu/~matuszek/General/JavaVersionTests/JavaTests.html > [1] being the site mentioned in the original bug report, and [2] being a site I randomly found by > Googling for Java test applets. It has *9* on one page! Excellent for testing this particular > scenario :) oh yes, it is :) > >>> resolved by not giving the thread which calls loadClass the lock on the JNLPClassLoader instance, >>> and instead synchronizing the member variables which are accessed in loadClass and other methods >>> called by loadClasss. >>> >>> Also made some for-loops into for-each-loops for readability. >> >> >> Sorry for being nitpicker, but please separate refactoring form fix. Both looks good but the >> readability of patch is strongly reduced by the mixture. >> >> Also I'm fan of "refactoring is good time to do an unittest" >> So the best would be for each method, you touch with "for-loops into fpor-each-loops " >> refactoring is an excelent candidate for unittest. When I wrote this to Adam an year ago, he >> stopepd todo this :) So I do not wont to force you to do, but please think about it. > > Sure I can separate them out. thank you. > > Unittesting on the refactors might be awkward because the methods containing the loop refactors are > things like JNLPClassLoader#initializePermissions(), which takes no parameters and has no return > value. It just adds values into a private list, which doesn't seem to be publicly exposed in any way > either. I'm not really sure how I can go about testing the refactor of the for-loop into a > for-each-loop in that kind of situation without doing even more refactoring and changing the > interface of the class, just to support being able to unittest a much simpler refactor. TBH I'd > rather just leave the slightly-messier looking for-loops in place in this case. If I had done a more > thorough refactor with methods being split/extracted or anything like that then unit testing would > seem more feasible. Please, do not abandon issue. When method is absolutely not testable, it means that it is wrong. Eg private void method() which operates some private fields, can be tested by refactoring into private static affectedFieldType method(oroginallySource Type) {} and private void method(){ //do the job affectedFieldType x = method(oroginallySource) //affect private field oroginallySource.getModifiedBy(x) } And of course by extracting hunks from too long methods. Of course similar approaches can not always be done, especially in class like JNLPClasslaoder. So use your judgement to refactor and test what can be, and do not vaste time where can not be. And of course to make me believe that yor changes on code which can not be tested do no harm ;) And well.. it affects also this patch too:( > > Attached is the fix-only version of the patch, refactoring all removed for the time being. > >> Moreover ok. General nit - it would be necessary add javadocs why affected fields have been made synchronised and why affected methods are no longer synchronised. > > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -166,7 +166,7 @@ > private ArrayList runtimePermissions = new ArrayList(); > > /** all jars not yet part of classloader or active */ > - private List available = new ArrayList(); > + private List available = Collections.synchronizedList(new ArrayList()); > > /** the jar cert verifier tool to verify our jars */ > private final JarCertVerifier jcv; > @@ -174,17 +174,17 @@ > private boolean signing = false; > > /** ArrayList containing jar indexes for various jars available to this classloader */ > - private ArrayList jarIndexes = new ArrayList(); > + private List jarIndexes = Collections.synchronizedList(new ArrayList()); > > /** Set of classpath strings declared in the manifest.mf files */ > - private Set classpaths = new HashSet(); > + private Set classpaths = Collections.synchronizedSet(new HashSet()); > > /** File entries in the jar files available to this classloader */ > - private TreeSet jarEntries = new TreeSet(); > + private Set jarEntries = Collections.synchronizedSet(new TreeSet()); > > /** Map of specific original (remote) CodeSource Urls to securitydesc */ > - private HashMap jarLocationSecurityMap = > - new HashMap(); > + private Map jarLocationSecurityMap = > + Collections.synchronizedMap(new HashMap()); > > /*Set to prevent once tried-to-get resources to be tried again*/ > private Set alreadyTried = Collections.synchronizedSet(new HashSet()); > @@ -1173,12 +1173,14 @@ > for (int i = 0; i < jars.size(); i++) { > String part = jars.get(i).getPart(); > > - for (int a = 0; a < available.size(); a++) { > - JARDesc jar = available.get(a); > + synchronized (available) { (x)synchronised over available > + for (int a = 0; a < available.size(); a++) { (y)nit - no for each fix here ? :) > + JARDesc jar = available.get(a); (x)getting from available > > - if (part != null && part.equals(jar.getPart())) > - if (!jars.contains(jar)) > - jars.add(jar); (x)now modifying jars => ?!!?!? > + if (part != null && part.equals(jar.getPart())) > + if (!jars.contains(jar)) > + jars.add(jar); > + } > } > } > } > @@ -1429,7 +1431,7 @@ > * classloader, or one of the classloaders for the JNLP file's > * extensions. > */ > - public synchronized Class loadClass(String name) throws ClassNotFoundException { > + public Class loadClass(String name) throws ClassNotFoundException { > > Class result = findLoadedClassAll(name); > > @@ -1457,15 +1459,17 @@ > > // Look in 'Class-Path' as specified in the manifest file > try { > - for (String classpath: classpaths) { > - JARDesc desc; > - try { > - URL jarUrl = new URL(file.getCodeBase(), classpath); > - desc = new JARDesc(jarUrl, null, null, false, true, false, true); > - } catch (MalformedURLException mfe) { > - throw new ClassNotFoundException(name, mfe); > + synchronized (classpaths) { > + for (String classpath: classpaths) { (y)nit - for each fix appear here ? :) > + JARDesc desc; > + try { > + URL jarUrl = new URL(file.getCodeBase(), classpath); > + desc = new JARDesc(jarUrl, null, null, false, true, false, true); > + } catch (MalformedURLException mfe) { > + throw new ClassNotFoundException(name, mfe); > + } > + addNewJar(desc); > } > - addNewJar(desc); > } > > result = loadClassExt(name); > @@ -1480,31 +1484,33 @@ > > // Currently this loads jars directly from the site. We cannot cache it because this > // call is initiated from within the applet, which does not have disk read/write permissions > - for (JarIndex index : jarIndexes) { > - // Non-generic code in sun.misc.JarIndex > - @SuppressWarnings("unchecked") > - LinkedList jarList = index.get(name.replace('.', '/')); > + synchronized (jarIndexes) { Here is simliar synchronisation issue as (x) But I 'm not sure if it is wrong, or if it will jsut return the deadlock. > + for (JarIndex index : jarIndexes) { > + // Non-generic code in sun.misc.JarIndex > + @SuppressWarnings("unchecked") > + LinkedList jarList = index.get(name.replace('.', '/')); > > - if (jarList != null) { > - for (String jarName : jarList) { > - JARDesc desc; > - try { > - desc = new JARDesc(new URL(file.getCodeBase(), jarName), > - null, null, false, true, false, true); > - } catch (MalformedURLException mfe) { > - throw new ClassNotFoundException(name); > - } > - try { > - addNewJar(desc); > - } catch (Exception e) { > - if (JNLPRuntime.isDebug()) { > - e.printStackTrace(); > + if (jarList != null) { > + for (String jarName : jarList) { > + JARDesc desc; > + try { > + desc = new JARDesc(new URL(file.getCodeBase(), jarName), > + null, null, false, true, false, true); > + } catch (MalformedURLException mfe) { > + throw new ClassNotFoundException(name); > + } > + try { > + addNewJar(desc); > + } catch (Exception e) { > + if (JNLPRuntime.isDebug()) { > + e.printStackTrace(); > + } > } > } > + > + // If it still fails, let it error out > + result = loadClassExt(name); > } > - > - // If it still fails, let it error out > - result = loadClassExt(name); > } > } > } > @@ -1886,21 +1892,23 @@ > > protected SecurityDesc getCodeSourceSecurity(URL source) { > SecurityDesc sec=jarLocationSecurityMap.get(source); > - if (sec == null && !alreadyTried.contains(source)) { > - alreadyTried.add(source); > - //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > - if (JNLPRuntime.isDebug()) { > - System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > - } > - try { > - JARDesc des = new JARDesc(source, null, null, false, false, false, false); > - addNewJar(des); > - sec = jarLocationSecurityMap.get(source); > - } catch (Throwable t) { > + synchronized (alreadyTried) { > + if (sec == null && !alreadyTried.contains(source)) { > + alreadyTried.add(source); > + //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > if (JNLPRuntime.isDebug()) { > - t.printStackTrace(); > + System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > } > - sec = null; > + try { > + JARDesc des = new JARDesc(source, null, null, false, false, false, false); > + addNewJar(des); > + sec = jarLocationSecurityMap.get(source); > + } catch (Throwable t) { > + if (JNLPRuntime.isDebug()) { > + t.printStackTrace(); > + } > + sec = null; > + } > } > } > if (sec == null){ > @@ -1936,8 +1944,10 @@ > } > > // security descriptors > - for (URL key : extLoader.jarLocationSecurityMap.keySet()) { > - jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); > + synchronized (jarLocationSecurityMap) { > + for (URL key : extLoader.jarLocationSecurityMap.keySet()) { > + jarLocationSecurityMap.put(key, extLoader.jarLocationSecurityMap.get(key)); > + } > } > } > > @@ -2186,9 +2196,11 @@ > } > > // Permissions for all remote hosting urls > - for (URL u: jarLocationSecurityMap.keySet()) { > - permissions.add(new SocketPermission(u.getHost(), > - "connect, accept")); > + synchronized (jarLocationSecurityMap) { > + for (URL u: jarLocationSecurityMap.keySet()) { > + permissions.add(new SocketPermission(u.getHost(), > + "connect, accept")); > + } > } > > // Permissions for codebase urls (if there is a loader) > Well not easy task to understandt this:) Nice work anyway! J. From jvanek at redhat.com Fri Sep 6 03:22:19 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Sep 2013 12:22:19 +0200 Subject: [rfc][icedtea-web] Cache viewer cleanup In-Reply-To: <201307302347.r6UNl2x1011963@mail-web03.excite.co.jp> References: <201307302347.r6UNl2x1011963@mail-web03.excite.co.jp> Message-ID: <5229ACDB.7030102@redhat.com> On 07/31/2013 01:47 AM, Jacob Wisor wrote: > Hello, > > * Added closing of cache viewer by ESC key > * Added proper dis-/enabling of cache viewer's buttons > * Added busy mouse cursor indicator when populating the cache viewer > > Everything is done on purpose on the AWT thread as before. Although I am personally not in favour of anonymous classes, I have tried to stick to the prevalent coding style. > > Unfortunatelly, I was unable to test the cache viewer's behavior because I do not know how to put synthetic cache entries into the cache. Can anyone help me with that? What does a the cache look like when filled with resources? Is there any index file that keeps track of the cache? > > Regards, > Jacob > > > ESC closing of Cache viewer + cleanup.patch > > > diff --git a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java > --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java > +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java > @@ -19,13 +19,18 @@ > > import java.awt.BorderLayout; > import java.awt.Component; > +import java.awt.Cursor; > import java.awt.Dimension; > +import java.awt.EventQueue; > import java.awt.FlowLayout; > import java.awt.GridBagConstraints; > import java.awt.GridBagLayout; > import java.awt.GridLayout; > +import java.awt.SystemColor; > +import java.awt.Toolkit; > import java.awt.event.ActionEvent; > import java.awt.event.ActionListener; > +import java.awt.event.WindowEvent; > import java.io.File; > import java.io.FileNotFoundException; > import java.io.IOException; > @@ -45,6 +50,8 @@ > import javax.swing.JScrollPane; > import javax.swing.JTable; > import javax.swing.ListSelectionModel; > +import javax.swing.event.ListSelectionEvent; > +import javax.swing.event.ListSelectionListener; > import javax.swing.table.DefaultTableModel; > import javax.swing.table.TableRowSorter; > > @@ -57,19 +64,20 @@ > import net.sourceforge.jnlp.util.PropertiesFile; > > public class CachePane extends JPanel { > - > JDialog parent; > DeploymentConfiguration config; > private String location; > private JComponent defaultFocusComponent; > DirectoryNode root; > - String[] columns = { Translator.R("CVCPColName"), > + String[] columns = { > + Translator.R("CVCPColName"), > Translator.R("CVCPColPath"), > Translator.R("CVCPColType"), > Translator.R("CVCPColDomain"), > Translator.R("CVCPColSize"), > Translator.R("CVCPColLastModified") }; > JTable cacheTable; > + private JButton deleteButton, refreshButton, doneButton; > > /** > * Creates a new instance of the CachePane. > @@ -102,13 +110,22 @@ > > cacheTable = new JTable(model); > cacheTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); > + cacheTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { > + final public void valueChanged(ListSelectionEvent listSelectionEvent) { > + // If no row has been selected, disable the delete button, else enable it > + if (cacheTable.getSelectionModel().isSelectionEmpty()) > + // Disable delete button, since nothing selected > + deleteButton.setEnabled(false); > + else > + // Enable delete button, since something selected > + deleteButton.setEnabled(true); > + } > + }); Oh yes, this small enhancement is highly appreciated! > cacheTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN); > cacheTable.setPreferredScrollableViewportSize(new Dimension(600, 200)); > cacheTable.setFillsViewportHeight(true); > JScrollPane scrollPane = new JScrollPane(cacheTable); > > - populateTable(); > - > TableRowSorter tableSorter = new TableRowSorter(model); > tableSorter.setComparator(4, new Comparator() { // Comparator for size column. > @Override > @@ -138,7 +155,6 @@ > topPanel.add(scrollPane, c); > this.add(topPanel, BorderLayout.CENTER); > this.add(createButtonPanel(), BorderLayout.SOUTH); > - > } > > /** > @@ -153,7 +169,7 @@ > > List buttons = new ArrayList(); > > - JButton deleteButton = new JButton(Translator.R("CVCPButDelete")); > + this.deleteButton = new JButton(Translator.R("CVCPButDelete")); > deleteButton.addActionListener(new ActionListener() { > @Override > public void actionPerformed(ActionEvent e) { > @@ -216,22 +232,29 @@ > pf.store(); > } > }); > + deleteButton.setEnabled(false); > buttons.add(deleteButton); > > - JButton refreshButton = new JButton(Translator.R("CVCPButRefresh")); > + this.refreshButton = new JButton(Translator.R("CVCPButRefresh")); > refreshButton.addActionListener(new ActionListener() { > @Override > public void actionPerformed(ActionEvent e) { > - populateTable(); > + // Disable all its controls when performing cacheTable refresh (populating) > + deleteButton.setEnabled(false); > + refreshButton.setEnabled(false); > + doneButton.setEnabled(false); > + // Populate cacheTable on AWT thread after this action event has been handled > + invokeLaterPopulateTable(); > } > }); > + refreshButton.setEnabled(false); > buttons.add(refreshButton); > > - JButton doneButton = new JButton(Translator.R("ButDone")); > + this.doneButton = new JButton(Translator.R("ButDone")); > doneButton.addActionListener(new ActionListener() { > @Override > public void actionPerformed(ActionEvent e) { > - parent.dispose(); > + Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new WindowEvent(parent, WindowEvent.WINDOW_CLOSING)); > } > }); > > @@ -250,6 +273,7 @@ > } > > doneButton.setPreferredSize(new Dimension(wantedWidth, wantedHeight)); > + doneButton.setEnabled(false); > rightPanel.add(doneButton); > buttonPanel.add(leftPanel); > buttonPanel.add(rightPanel); > @@ -257,14 +281,48 @@ > return buttonPanel; > } > > + /** > + * Posts an event to the event queue to later invoke populating the > + * {@link CachePane#cacheTable}. > + * @see CachePane#populateTable > + */ > + final void invokeLaterPopulateTable() { > + EventQueue.invokeLater(new Runnable() { > + public void run() { > + populateTable(); > + > + // Disable cacheTable when no data to display, so no events are generated > + if (cacheTable.getModel().getRowCount() == 0) { > + cacheTable.setEnabled(false); > + cacheTable.setBackground(SystemColor.control); > + // No data in cacheTable, so nothing to delete > + deleteButton.setEnabled(false); > + } else { > + cacheTable.setEnabled(true); > + cacheTable.setBackground(SystemColor.window); > + } > + Those should be in finally block > + refreshButton.setEnabled(true); > + doneButton.setEnabled(true); > + } > + }); > + } > + > /** > * Populate the table with fresh data. Any manual updates to the cache > * directory will be updated in the table. > */ > private void populateTable() { > - ((DefaultTableModel) cacheTable.getModel()).setRowCount(0); //Clears the table > + // Populating the cacheTable may take a while, so indicate busy by cursor > + parent.getContentPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); > + > + DefaultTableModel defaultTableModel; > + (defaultTableModel = (DefaultTableModel)cacheTable.getModel()).setRowCount(0); //Clears the table > for (Object[] v : generateData(root)) > - ((DefaultTableModel) cacheTable.getModel()).addRow(v); > + defaultTableModel.addRow(v); > + > + // Reset cursor Those should be in finally block > + parent.getContentPane().setCursor(Cursor.getDefaultCursor()); > } > > /** > @@ -305,4 +363,4 @@ > defaultFocusComponent.requestFocusInWindow(); > } > } > -} > +} > \ No newline at end of file > diff --git a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java > --- a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java > +++ b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java > @@ -22,7 +22,10 @@ > import java.awt.Frame; > import java.awt.GridBagConstraints; > import java.awt.GridBagLayout; > +import java.awt.KeyEventDispatcher; > +import java.awt.KeyboardFocusManager; > import java.awt.Toolkit; > +import java.awt.event.KeyEvent; > import java.awt.event.WindowAdapter; > import java.awt.event.WindowEvent; > > @@ -53,8 +56,9 @@ > */ > public CacheViewer(DeploymentConfiguration config) { > super((Frame) null, dialogTitle, true); // Don't need a parent. > + if ((this.config = config) == null) > + throw new IllegalArgumentException("config: " + config); > setIconImages(ImageResources.INSTANCE.getApplicationImages()); > - this.config = config; > > /* Prepare for adding components to dialog box */ > Container contentPane = getContentPane(); > @@ -70,11 +74,13 @@ > contentPane.add(topPanel, c); > > pack(); > + this.topPanel.invokeLaterPopulateTable(); > > /* Set focus to default button when first activated */ > WindowAdapter adapter = new WindowAdapter() { > private boolean gotFocus = false; > > + @Override > public void windowGainedFocus(WindowEvent we) { > // Once window gets focus, set initial focus > if (!gotFocus) { > @@ -85,6 +91,29 @@ > }; > addWindowFocusListener(adapter); > > + // Add a KeyEventDispatcher to dispatch events when this CacheViewer has focus > + final CacheViewer cacheViewer = this; > + KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { > + /** > + * Dispatches mainly the VK_ESCAPE key event to close the > + * CacheViewer dialog. > + * @see java.awt.KeyEventDispatcher > + */ > + public boolean dispatchKeyEvent(final KeyEvent keyEvent) { > + // Check if Esc key has been pressed > + if (keyEvent.getKeyCode() == KeyEvent.VK_ESCAPE && keyEvent.getID() == KeyEvent.KEY_PRESSED) { > + // Exclude this key event from further processing > + keyEvent.consume(); > + // Remove this low-level KeyEventDispatcher > + KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(this); > + // Post close event to CacheViewer dialog > + Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new WindowEvent(cacheViewer, WindowEvent.WINDOW_CLOSING)); > + return true; > + } > + return false; > + } > + }); > + > initialized = true; > } > > @@ -116,4 +145,4 @@ > private void centerDialog() { > ScreenFinder.centerWindowsToCurrentScreen(this); > } > -} > +} > \ No newline at end of file Please mention both Cache viewer cleanup and CerViewr viewer cleanup in news. > From gitne at gmx.de Fri Sep 6 03:37:44 2013 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 06 Sep 2013 12:37:44 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <52298007.4040802@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> Message-ID: <5229B078.80705@gmx.de> Jiri Vanek wrote: > On 09/05/2013 03:10 PM, Andrew Azores wrote: >> On 09/05/13 05:28, Jacob Wisor wrote: >>> Jiri Vanek wrote: >>>> On 09/04/2013 07:49 PM, aazores at icedtea.classpath.org wrote: >>>>> + static { >>>>> + try { >>>>> + messageBundle = >>>>> + new >>>>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>>>> >>>>> >>>>> + } catch (IOException e) { >>>>> + } >>>>> + } >>>>> + >>>> >>>> Pleae NEVER consume an exception. >>>> >>>> In this case the >>>> >>>> } catch (IOException ex) { >>>> throw new RuntimeException(ex); >>>> } >>> >>> Throwing a chained RuntimeException is going to disrupt the program's >>> flow. So, I would rather advise >>> >>> } catch (IOException e) { >>> e.printStackTrace(); >>> } >>> >>> This will make IOException at least visible on stderr and preserve >>> what has been previously >>> intended, namely continuing program execution undisrupted. >>> >>>> Would be the best. You can push this without any other review >>>> (unless you think about different fix) >>> >>> Regards, >>> Jacob >> >> As Jacob says, I'd rather not throw a chained exception here because >> that would cause the entire >> reproducer to halt, would it not? But if the messageBundle is not >> properly instantiated that's only >> really a blocker for one test (clearCacheUnsucessfully). This >> exception being consumed would >> manifest as a NPE in that later test, which would just result in that >> single test failing. Printing >> the stack trace is agreeable enough but I don't really think the >> entire reproducer needs to stop if >> we're going to be unable to run one test. >> > > > imho nope. If messages.properties would become unavailable, then it is > so crucial that I would be happy even for whole test run failure. > > Also not > >> } catch (IOException e) { > >> e.printStackTrace(); > >> } > > but > > >> } catch (IOException e) { > ServerAccess.logException(ex); > >> } > > (never use stdout/err in testcases, but always appropriate > ServerAccess.log* function) Yes, this is what I have actually meant. Just do some output at least. I was unaware of ServerAccess. ;-) But, Jiri may be right if the code that is supposed to throw an exception is critical to the test, so halting the test with an error value (System.exit(1)) or a chained RuntimeException may be appropriate indeed. > In this particular case do as you wish. My recommendation would lead to > separate changeset, where you will create static method > getMessage(String key) somewhere in > test-extensions/net/sourceforge/jnlp/tools (probably new utility class) > which will encapsulate the > >>>> + private static final String messageResourcePath = > >>>> "net/sourceforge/jnlp/resources/Messages.properties"; > >>>> + private static PropertyResourceBundle messageBundle = null; > >>>> + > >>>> + static { > >>>> + try { > >>>> + messageBundle = > >>>> + new > >>>> > PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); > > >>>> > >>>> + } catch (IOException e) { > > with throw here :) > > >>>> + } > >>>> + } > and > >>>> + String cacheClearError = > messageBundle.getString("CCannotClearCache"); > > > parts. > > The reason for this is, that the hard coded "evaluate string" is wide > spread issue, and I believe some of the failures are because of small > change in properties file (eg the "the" removal/addition or something > like that) > > Also you can improve it a bit more for localized messages too, and then > make localization reproducers/unittests much thinner. But this is even > another chapter. > > Anyway I do not insists. Regards, Jacob From andrew at icedtea.classpath.org Fri Sep 6 04:46:35 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:46:35 +0000 Subject: /hg/release/icedtea7-forest-2.4: Added tag icedtea-2.4.2 for cha... Message-ID: changeset 0641205de461 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=0641205de461 author: andrew date: Thu Sep 05 15:10:35 2013 +0100 Added tag icedtea-2.4.2 for changeset 6125b83238df diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 6125b83238df -r 0641205de461 .hgtags --- a/.hgtags Wed Sep 04 16:45:42 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:35 2013 +0100 @@ -351,3 +351,4 @@ 3af81bfe320c12758234233da6fa27c3c0ffcdc4 jdk7u40-b42 1d53bd8fd2a62bcf336727ebec377ef7498dd4a6 jdk7u40-b43 dc1e099cd62d250b4a997ce694b47fe2f50d2905 jdk7u40-b60 +6125b83238df36d96b3f6bf5ca6c740693dd3651 icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:46:42 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:46:42 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: Added tag icedtea-2.4.2 f... Message-ID: changeset 2d78f9ff9655 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=2d78f9ff9655 author: andrew date: Thu Sep 05 15:10:36 2013 +0100 Added tag icedtea-2.4.2 for changeset 5ea58899ae9f diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 5ea58899ae9f -r 2d78f9ff9655 .hgtags --- a/.hgtags Wed Sep 04 17:52:30 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:36 2013 +0100 @@ -353,3 +353,4 @@ b4a480a039bc19b27bfb5fcbbbf75e651d2718b7 jdk7u40-b42 e29ea0b297e519010e661603a07bb8d48fa904a2 jdk7u40-b43 08737d863a7aa5eb39374b26c9585e1770affe92 jdk7u40-b60 +5ea58899ae9f26e8ad21d1be15f73d426e2b5fb1 icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:46:49 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:46:49 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: Added tag icedtea-2.4.2 fo... Message-ID: changeset 9d462cfc07bf in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=9d462cfc07bf author: andrew date: Thu Sep 05 15:10:37 2013 +0100 Added tag icedtea-2.4.2 for changeset 135f46e0e653 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 135f46e0e653 -r 9d462cfc07bf .hgtags --- a/.hgtags Wed Sep 04 16:45:43 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:37 2013 +0100 @@ -353,3 +353,4 @@ 66363323f14d85d4ab28e883a3323b9d72dea5fd jdk7u40-b42 c0bd71414ea513f54f23965936a837fca093ac91 jdk7u40-b43 91bc4534851265291bb3b16452a0968d6909979f jdk7u40-b60 +135f46e0e653be2631da1da2fd166f2d52c67aa7 icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:46:55 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:46:55 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: Added tag icedtea-2.4.2 f... Message-ID: changeset 06bc85a84d42 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=06bc85a84d42 author: andrew date: Thu Sep 05 15:10:38 2013 +0100 Added tag icedtea-2.4.2 for changeset a2ff16e5361f diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r a2ff16e5361f -r 06bc85a84d42 .hgtags --- a/.hgtags Wed Sep 04 16:45:43 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:38 2013 +0100 @@ -353,3 +353,4 @@ 89f6c9663d75d9e4b672aed16f885b84232e9c93 jdk7u40-b42 3ee85b3793de16855e20272336a3565af8477b6b jdk7u40-b43 cbeef786ce489096c39ec5effee4f8f9e770b4af jdk7u40-b60 +a2ff16e5361fdfbc82764eda29a8d6c24bbd1c8e icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:47:01 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:47:01 +0000 Subject: /hg/release/icedtea7-forest-2.4/langtools: Added tag icedtea-2.4... Message-ID: changeset ee88e143d4ba in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=ee88e143d4ba author: andrew date: Thu Sep 05 15:10:40 2013 +0100 Added tag icedtea-2.4.2 for changeset 06ea051f7ffe diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 06ea051f7ffe -r ee88e143d4ba .hgtags --- a/.hgtags Wed Sep 04 16:45:43 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:40 2013 +0100 @@ -353,3 +353,4 @@ 765bea9bfcfc8c472df0a2daced5e576095f46ac jdk7u40-b42 988ece7b686564084770e99ca26746c45ffb933f jdk7u40-b43 a67dbf96bf86989d0392cc5b66e5d4139cbceec7 jdk7u40-b60 +06ea051f7ffe0f91213c8e7064ddb045c93ba1b4 icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:47:08 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:47:08 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Added tag icedtea-2.4.2... Message-ID: changeset 24b23eb187fc in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=24b23eb187fc author: andrew date: Thu Sep 05 15:10:41 2013 +0100 Added tag icedtea-2.4.2 for changeset f3f4df30a468 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r f3f4df30a468 -r 24b23eb187fc .hgtags --- a/.hgtags Wed Sep 04 18:21:33 2013 +0100 +++ b/.hgtags Thu Sep 05 15:10:41 2013 +0100 @@ -560,3 +560,4 @@ b8d8caf6df744d5342b5d284376a005e86c0b108 hs24-b56 eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43 af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60 +f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 From andrew at icedtea.classpath.org Fri Sep 6 04:47:15 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 11:47:15 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 3 new changesets Message-ID: changeset 3372405e49a9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3372405e49a9 author: andrew date: Fri Sep 06 12:44:40 2013 +0100 RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors changeset e2cdb919c0ee in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e2cdb919c0ee author: andrew date: Fri Sep 06 12:45:39 2013 +0100 RH995488: Java thinks that the default timezone is Busingen instead of Zurich changeset 394e5408306c in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=394e5408306c author: andrew date: Fri Sep 06 12:45:50 2013 +0100 Added tag icedtea-2.4.2 for changeset e2cdb919c0ee diffstat: .hgtags | 1 + src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 5 +- src/solaris/native/java/util/TimeZone_md.c | 60 +++++++++++++++++++++++ 3 files changed, 64 insertions(+), 2 deletions(-) diffs (114 lines): diff -r b2611b1a750c -r 394e5408306c .hgtags --- a/.hgtags Wed Sep 04 18:20:38 2013 +0100 +++ b/.hgtags Fri Sep 06 12:45:50 2013 +0100 @@ -352,3 +352,4 @@ b479996d5c924128c3490165b592bf66a3034932 jdk7u40-b42 fb25cdef17e9610db5cb89fc35c0c4abef5ad781 jdk7u40-b43 ed444a09a5fd32237deaef6e43804e20ba4f6352 jdk7u40-b60 +e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 diff -r b2611b1a750c -r 394e5408306c src/share/native/sun/awt/image/jpeg/imageioJPEG.c --- a/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Wed Sep 04 18:20:38 2013 +0100 +++ b/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Fri Sep 06 12:45:50 2013 +0100 @@ -1454,6 +1454,8 @@ "[S"); } +#define JPEG_APP1 (JPEG_APP0 + 1) /* EXIF APP1 marker code */ + JNIEXPORT jlong JNICALL Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader (JNIEnv *env, @@ -1507,6 +1509,7 @@ // Set up to keep any APP2 markers, as these might contain ICC profile // data + jpegsavemarkers(cinfo, JPEG_APP1, 0xFFFF); jpeg_save_markers(cinfo, ICC_MARKER, 0xFFFF); /* @@ -1569,8 +1572,6 @@ imageio_init_source((j_decompress_ptr) cinfo); } -#define JPEG_APP1 (JPEG_APP0 + 1) /* EXIF APP1 marker code */ - /* * For EXIF images, the APP1 will appear immediately after the SOI, * so it's safe to only look at the first marker in the list. diff -r b2611b1a750c -r 394e5408306c src/solaris/native/java/util/TimeZone_md.c --- a/src/solaris/native/java/util/TimeZone_md.c Wed Sep 04 18:20:38 2013 +0100 +++ b/src/solaris/native/java/util/TimeZone_md.c Fri Sep 06 12:45:50 2013 +0100 @@ -53,6 +53,8 @@ static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; +static const char *REDHAT_RELEASE_FILE = "/etc/redhat-release"; +static const char *SYSCONFIG_CLOCK_FILE = "/etc/sysconfig/clock"; static const char *ZONEINFO_DIR = "/usr/share/zoneinfo"; static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime"; #else @@ -255,6 +257,64 @@ #endif /* __linux__ */ /* + * Next, try the ZONE entry in /etc/sysconfig/clock. + */ + if ((fp = fopen(REDHAT_RELEASE_FILE, "r")) != NULL) { + char id[7]; + + /* Avoid this file on Fedora as may be buggy; RH489586 */ + if (fgets(id, sizeof (id), fp) != NULL && + strncmp(id, "Fedora", 6) != 0) { + (void) fclose(fp); + if ((fp = fopen(SYSCONFIG_CLOCK_FILE, "r")) != NULL) { + char line[256]; + + while (fgets(line, sizeof(line), fp) != NULL) { + char *p = line; + char *s; + + SKIP_SPACE(p); + if (*p != 'Z') { + continue; + } + if (strncmp(p, "ZONE=\"", 6) == 0) { + p += 6; + } else { + /* + * In case we need to parse it token by token. + */ + if (strncmp(p, "ZONE", 4) != 0) { + continue; + } + p += 4; + SKIP_SPACE(p); + if (*p++ != '=') { + break; + } + SKIP_SPACE(p); + if (*p++ != '"') { + break; + } + } + for (s = p; *s && *s != '"'; s++) + ; + if (*s != '"') { + /* this ZONE entry is broken. */ + break; + } + *s = '\0'; + tz = strdup(p); + break; + } + (void) fclose(fp); + if (tz != NULL) { + return tz; + } + } + } + } + + /* * Next, try /etc/localtime to find the zone ID. */ if (lstat(DEFAULT_ZONEINFO_FILE, &statbuf) == -1) { From ptisnovs at icedtea.classpath.org Fri Sep 6 06:08:18 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 06 Sep 2013 13:08:18 +0000 Subject: /hg/gfx-test: Six new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset ae9ab4968fb3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ae9ab4968fb3 author: Pavel Tisnovsky date: Fri Sep 06 15:12:01 2013 +0200 Six new tests added into BitBltAffineQuadrantRotateTransformOp test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 84 ++++++++++ 2 files changed, 89 insertions(+), 0 deletions(-) diffs (106 lines): diff -r 2f476a912028 -r ae9ab4968fb3 ChangeLog --- a/ChangeLog Thu Sep 05 10:42:39 2013 +0200 +++ b/ChangeLog Fri Sep 06 15:12:01 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Six new tests added into BitBltAffineQuadrantRotateTransformOp test suite. + 2013-09-05 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 2f476a912028 -r ae9ab4968fb3 src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Thu Sep 05 10:42:39 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Fri Sep 06 15:12:01 2013 +0200 @@ -194,6 +194,90 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Fri Sep 6 06:11:40 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 06 Sep 2013 13:11:40 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset c42e7838e219 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=c42e7838e219 author: Pavel Tisnovsky date: Fri Sep 06 15:15:25 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite CompiledScriptClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/CompiledScriptClassTest.java | 190 ++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) diffs (213 lines): diff -r 07f91a0d8ed5 -r c42e7838e219 ChangeLog --- a/ChangeLog Thu Sep 05 10:45:48 2013 +0200 +++ b/ChangeLog Fri Sep 06 15:15:25 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-06 Pavel Tisnovsky + + * src/org/RhinoTests/CompiledScriptClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite CompiledScriptClassTest. + 2013-09-05 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: diff -r 07f91a0d8ed5 -r c42e7838e219 src/org/RhinoTests/CompiledScriptClassTest.java --- a/src/org/RhinoTests/CompiledScriptClassTest.java Thu Sep 05 10:45:48 2013 +0200 +++ b/src/org/RhinoTests/CompiledScriptClassTest.java Fri Sep 06 15:15:25 2013 +0200 @@ -1375,6 +1375,196 @@ } /** + * Test for method javax.script.CompiledScript.getClass().cast() + */ + protected void testCast() { + try { + this.compiledScriptClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.CompiledScript */ @SuppressWarnings("cast") From aazores at redhat.com Fri Sep 6 07:40:53 2013 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Sep 2013 10:40:53 -0400 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <52298007.4040802@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> Message-ID: <5229E975.7010307@redhat.com> On 09/06/2013 03:11 AM, Jiri Vanek wrote: > On 09/05/2013 03:10 PM, Andrew Azores wrote: >> (snip) >> As Jacob says, I'd rather not throw a chained exception here because >> that would cause the entire >> reproducer to halt, would it not? But if the messageBundle is not >> properly instantiated that's only >> really a blocker for one test (clearCacheUnsucessfully). This >> exception being consumed would >> manifest as a NPE in that later test, which would just result in that >> single test failing. Printing >> the stack trace is agreeable enough but I don't really think the >> entire reproducer needs to stop if >> we're going to be unable to run one test. >> > > > imho nope. If messages.properties would become unavailable, then it is > so crucial that I would be happy even for whole test run failure. Hm yea, I suppose that's true. However, see below - > > Also not > >> } catch (IOException e) { > >> e.printStackTrace(); > >> } > > but > > >> } catch (IOException e) { > ServerAccess.logException(ex); > >> } > > (never use stdout/err in testcases, but always appropriate > ServerAccess.log* function) > > > > In this particular case do as you wish. My recommendation would lead > to separate changeset, where you will create static method > getMessage(String key) somewhere in > test-extensions/net/sourceforge/jnlp/tools (probably new utility > class) which will encapsulate the > >>>> + private static final String messageResourcePath = > >>>> "net/sourceforge/jnlp/resources/Messages.properties"; > >>>> + private static PropertyResourceBundle messageBundle = null; > >>>> + > >>>> + static { > >>>> + try { > >>>> + messageBundle = > >>>> + new > >>>> > PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); > > >>>> > >>>> + } catch (IOException e) { > > with throw here :) > > >>>> + } > >>>> + } > and > >>>> + String cacheClearError = > messageBundle.getString("CCannotClearCache"); > > > parts. > > The reason for this is, that the hardocded "evaluate string" is wide > spread issue, and I believe some of the failures are because of small > change in properties file (eg the "the" removal/addition or something > like that) > > Also you can imprve it a bit more for localised messages too, and then > make localisation reproducers/unittests much thinner. But this is even > another chapter. > > Anyway I do not insists. > > > > I do like this idea, and I whipped up a quick utility class for it just now. But a side effect of extracting this logic out into a helper class is that the IOException thrown if the Messages.properties file(s) are not available is now only thrown when the new utility class is used. So in the case of this CacheReproducer, it only happens in the clearCacheUnsuccessfully test method. If something goes wrong in the utility class, eg Messages.properties is not available, then only this test fails. If we want the "stop the whole reproducer" behaviour we'll need to use static blocks or @BeforeClass annotated methods or something to force checking if the resources are available. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 07:43:45 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 14:43:45 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 Udo changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |udovdh at xs4all.nl --- Comment #8 from Udo --- I can reproduce this issue very easily with a Citrix VPN-like environment. So what could I do to help you out? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/8b504c7e/attachment.html From aazores at redhat.com Fri Sep 6 08:28:19 2013 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Sep 2013 11:28:19 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <5229A989.2060203@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> Message-ID: <5229F493.2060404@redhat.com> On 09/06/2013 06:08 AM, Jiri Vanek wrote: > On 09/05/2013 04:04 PM, Andrew Azores wrote: >> On 09/05/13 07:42, Jiri Vanek wrote: >>> On 08/15/2013 10:10 PM, Andrew Azores wrote: >>>> Changelog: >>>> >>>> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: >>>> (loadClass) made unsynchronized. >>>> (available, jarIndexes, classpaths, jarEntries, >>>> jarLocationSecurityMap) wrapped in synchronized >>>> classes. >>>> >>>> An earlier change to the classloader made it possible for two >>>> threads to enter deadlock. This is >>> >>> Can we have an reproducer for this? But those are mostly very hard >>> to reproduce, so do not vaste >>> to much time on it (no metter that reprodcuer can have random >>> behaviour as it "can deadlock") >>> >> >> I did spend some time previously trying to put together a reproducer, >> but I wasn't able to recreate >> the deadlock offline. The deadlock was affecting every webpage with >> multiple applets on it, however, >> at least on my system. The two sites I used as "reproducers" were: >> [1] http://www.browserspy.dk/java.php >> [2] >> http://www.cis.upenn.edu/~matuszek/General/JavaVersionTests/JavaTests.html >> [1] being the site mentioned in the original bug report, and [2] >> being a site I randomly found by >> Googling for Java test applets. It has *9* on one page! Excellent for >> testing this particular >> scenario :) > > oh yes, it is :) > >> >>>> resolved by not giving the thread which calls loadClass the lock on >>>> the JNLPClassLoader instance, >>>> and instead synchronizing the member variables which are accessed >>>> in loadClass and other methods >>>> called by loadClasss. >>>> >>>> Also made some for-loops into for-each-loops for readability. >>> >>> >>> Sorry for being nitpicker, but please separate refactoring form fix. >>> Both looks good but the >>> readability of patch is strongly reduced by the mixture. >>> >>> Also I'm fan of "refactoring is good time to do an unittest" >>> So the best would be for each method, you touch with "for-loops into >>> fpor-each-loops " >>> refactoring is an excelent candidate for unittest. When I wrote this >>> to Adam an year ago, he >>> stopepd todo this :) So I do not wont to force you to do, but please >>> think about it. >> >> Sure I can separate them out. > > thank you. >> >> Unittesting on the refactors might be awkward because the methods >> containing the loop refactors are >> things like JNLPClassLoader#initializePermissions(), which takes no >> parameters and has no return >> value. It just adds values into a private list, which doesn't seem to >> be publicly exposed in any way >> either. I'm not really sure how I can go about testing the refactor >> of the for-loop into a >> for-each-loop in that kind of situation without doing even more >> refactoring and changing the >> interface of the class, just to support being able to unittest a much >> simpler refactor. TBH I'd >> rather just leave the slightly-messier looking for-loops in place in >> this case. If I had done a more >> thorough refactor with methods being split/extracted or anything like >> that then unit testing would >> seem more feasible. > > Please, do not abandon issue. When method is absolutely not testable, > it means that it is wrong. > > Eg private void method() > > which operates some private fields, can be tested by refactoring into > > private static affectedFieldType method(oroginallySource Type) {} > and > private void method(){ > //do the job > affectedFieldType x = method(oroginallySource) > //affect private field > oroginallySource.getModifiedBy(x) > } > > And of course by extracting hunks from too long methods. > > Of course similar approaches can not always be done, especially in > class like JNLPClasslaoder. > So use your judgement to refactor and test what can be, and do not > vaste time where can not be. And of course to make me believe that yor > changes on code which can not be tested do no harm ;) > > And well.. it affects also this patch too:( > >> >> Attached is the fix-only version of the patch, refactoring all >> removed for the time being. >> >>> > > Moreover ok. > > General nit - it would be necessary add javadocs why affected fields > have been made synchronised and why affected methods are no longer > synchronised. I'll add these in. I've also provided explanations further down this email. >> >> >> diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> @@ -166,7 +166,7 @@ >> private ArrayList runtimePermissions = new >> ArrayList(); >> >> /** all jars not yet part of classloader or active */ >> - private List available = new ArrayList(); >> + private List available = >> Collections.synchronizedList(new ArrayList()); >> >> /** the jar cert verifier tool to verify our jars */ >> private final JarCertVerifier jcv; >> @@ -174,17 +174,17 @@ >> private boolean signing = false; >> >> /** ArrayList containing jar indexes for various jars available >> to this classloader */ >> - private ArrayList jarIndexes = new ArrayList(); >> + private List jarIndexes = >> Collections.synchronizedList(new ArrayList()); >> >> /** Set of classpath strings declared in the manifest.mf files */ >> - private Set classpaths = new HashSet(); >> + private Set classpaths = Collections.synchronizedSet(new >> HashSet()); >> >> /** File entries in the jar files available to this classloader */ >> - private TreeSet jarEntries = new TreeSet(); >> + private Set jarEntries = Collections.synchronizedSet(new >> TreeSet()); >> >> /** Map of specific original (remote) CodeSource Urls to >> securitydesc */ >> - private HashMap jarLocationSecurityMap = >> - new HashMap(); >> + private Map jarLocationSecurityMap = >> + Collections.synchronizedMap(new HashMap> SecurityDesc>()); >> >> /*Set to prevent once tried-to-get resources to be tried again*/ >> private Set alreadyTried = Collections.synchronizedSet(new >> HashSet()); >> @@ -1173,12 +1173,14 @@ >> for (int i = 0; i < jars.size(); i++) { >> String part = jars.get(i).getPart(); >> >> - for (int a = 0; a < available.size(); a++) { >> - JARDesc jar = available.get(a); >> + synchronized (available) { > > (x)synchronised over available >> + for (int a = 0; a < available.size(); a++) { > (y)nit - no for each fix here ? :) I can start putting the for-each fixes back in if you'd like but that's what the previous version of the patch in this email thread was... this one plus for-each fixes. >> + JARDesc jar = available.get(a); > (x)getting from available >> >> - if (part != null && part.equals(jar.getPart())) >> - if (!jars.contains(jar)) >> - jars.add(jar); > (x)now modifying jars => ?!!?!? "jars" is a param passed into this method, and there are two places this method is called, both of which are supplying local variables to the method. I suppose I could synchronize on "jars" and there shouldn't be any harm done, but I don't think it's necessary at the moment. If you insist I'll throw those couple of lines into a synchronized (jars) block. I'm synchronizing on "available" because it's an instance variable, and I don't want anyone to change its state here while I'm iterating over it, to be safe. For example consider if "available" has 1 element when I call .size() on it, so the loop condition holds and I enter the loop body with a = 0. Then I am interrupted. When I resume, somebody else has mutated "available" and removed the only element, so it is now empty. Then the call to available.get(0) will throw an IndexOutOfBounds exception as index >= size. The reason there was deadlock previously was because the loadClass method was synchronized, which means it was causing the caller to acquire the lock on the instance of JNLPClassLoader they were calling the method on. This was the only place that the instance's lock was actually used within the class, so this mechanism was apparently being used to ensure that only one thread entered loadClass() at a time. This was how the previously unsynchronized instance variables like "available" were kept safe. However the instance's lock wasn't actually needed, and later on, the thread holding it would also be waiting for a lock on, IIRC, the codeBaseLoader. Which was now also waiting on the lock for the JNLPClassLoader instance, because there's some weird recursive calls to super and whatnot going on. There was no apparent solution for causing the two competing threads to acquire/release the relevant locks in the same order, so the solution had to be to stop using one of the locks unnecessarily and synchronize on the actual members themselves that needed to be kept safe. >> + if (part != null && part.equals(jar.getPart())) >> + if (!jars.contains(jar)) >> + jars.add(jar); >> + } >> } >> } >> } >> @@ -1429,7 +1431,7 @@ >> * classloader, or one of the classloaders for the JNLP file's >> * extensions. >> */ >> - public synchronized Class loadClass(String name) throws >> ClassNotFoundException { >> + public Class loadClass(String name) throws >> ClassNotFoundException { >> >> Class result = findLoadedClassAll(name); >> >> @@ -1457,15 +1459,17 @@ >> >> // Look in 'Class-Path' as specified in the >> manifest file >> try { >> - for (String classpath: classpaths) { >> - JARDesc desc; >> - try { >> - URL jarUrl = new URL(file.getCodeBase(), >> classpath); >> - desc = new JARDesc(jarUrl, null, null, >> false, true, false, true); >> - } catch (MalformedURLException mfe) { >> - throw new ClassNotFoundException(name, >> mfe); >> + synchronized (classpaths) { >> + for (String classpath: classpaths) { > (y)nit - for each fix appear here ? :) >> + JARDesc desc; >> + try { >> + URL jarUrl = new >> URL(file.getCodeBase(), classpath); >> + desc = new JARDesc(jarUrl, null, >> null, false, true, false, true); >> + } catch (MalformedURLException mfe) { >> + throw new >> ClassNotFoundException(name, mfe); >> + } >> + addNewJar(desc); >> } >> - addNewJar(desc); >> } >> >> result = loadClassExt(name); >> @@ -1480,31 +1484,33 @@ >> >> // Currently this loads jars directly from the >> site. We cannot cache it because this >> // call is initiated from within the applet, which >> does not have disk read/write permissions >> - for (JarIndex index : jarIndexes) { >> - // Non-generic code in sun.misc.JarIndex >> - @SuppressWarnings("unchecked") >> - LinkedList jarList = >> index.get(name.replace('.', '/')); >> + synchronized (jarIndexes) { > > Here is simliar synchronisation issue as (x) > > But I 'm not sure if it is wrong, or if it will jsut return the deadlock. Synchronizing over the instance variable jarIndexes because we're about to iterate over it. Same sort of reasoning as the other example above. The rest of the variables in this hunk are local to the method so no need to synchronize on them. The next thing worth looking into are the calls to other JNLPClassLoader methods, ie addNewJar() and loadClassExt(). addNewJar() does deal with some of the same instance variables, eg "available" makes an appearance here again, but we are not iterating over it. Just adding and later removing. Those two operations are now atomic since available is a wrapped class by Collections.synchronizedList(), so it should be harmless to not synchronize over the whole hunk between those two calls. loadClassExt() doesn't deal directly with any of the newly-synchronized instance variables, but it does cause quite a few other method calls. As far as I can tell, the rest of the patch handles the cases where this might cause issues, however. >> + for (JarIndex index : jarIndexes) { >> + // Non-generic code in sun.misc.JarIndex >> + @SuppressWarnings("unchecked") >> + LinkedList jarList = >> index.get(name.replace('.', '/')); >> >> - if (jarList != null) { >> - for (String jarName : jarList) { >> - JARDesc desc; >> - try { >> - desc = new JARDesc(new >> URL(file.getCodeBase(), jarName), >> - null, null, false, true, >> false, true); >> - } catch (MalformedURLException mfe) { >> - throw new ClassNotFoundException(name); >> - } >> - try { >> - addNewJar(desc); >> - } catch (Exception e) { >> - if (JNLPRuntime.isDebug()) { >> - e.printStackTrace(); >> + if (jarList != null) { >> + for (String jarName : jarList) { >> + JARDesc desc; >> + try { >> + desc = new JARDesc(new >> URL(file.getCodeBase(), jarName), >> + null, null, false, true, >> false, true); >> + } catch (MalformedURLException mfe) { >> + throw new >> ClassNotFoundException(name); >> + } >> + try { >> + addNewJar(desc); >> + } catch (Exception e) { >> + if (JNLPRuntime.isDebug()) { >> + e.printStackTrace(); >> + } >> } >> } >> + >> + // If it still fails, let it error out >> + result = loadClassExt(name); >> } >> - >> - // If it still fails, let it error out >> - result = loadClassExt(name); >> } >> } >> } >> @@ -1886,21 +1892,23 @@ >> >> protected SecurityDesc getCodeSourceSecurity(URL source) { >> SecurityDesc sec=jarLocationSecurityMap.get(source); >> - if (sec == null && !alreadyTried.contains(source)) { >> - alreadyTried.add(source); >> - //try to load the jar which is requesting the >> permissions, but was NOT downloaded by standard way >> - if (JNLPRuntime.isDebug()) { >> - System.out.println("Application is trying to get >> permissions for " + source.toString() + ", which was not added by >> standard way. Trying to download and verify!"); >> - } >> - try { >> - JARDesc des = new JARDesc(source, null, null, false, >> false, false, false); >> - addNewJar(des); >> - sec = jarLocationSecurityMap.get(source); >> - } catch (Throwable t) { >> + synchronized (alreadyTried) { >> + if (sec == null && !alreadyTried.contains(source)) { >> + alreadyTried.add(source); >> + //try to load the jar which is requesting the >> permissions, but was NOT downloaded by standard way >> if (JNLPRuntime.isDebug()) { >> - t.printStackTrace(); >> + System.out.println("Application is trying to get >> permissions for " + source.toString() + ", which was not added by >> standard way. Trying to download and verify!"); >> } >> - sec = null; >> + try { >> + JARDesc des = new JARDesc(source, null, null, >> false, false, false, false); >> + addNewJar(des); >> + sec = jarLocationSecurityMap.get(source); >> + } catch (Throwable t) { >> + if (JNLPRuntime.isDebug()) { >> + t.printStackTrace(); >> + } >> + sec = null; >> + } >> } >> } >> if (sec == null){ >> @@ -1936,8 +1944,10 @@ >> } >> >> // security descriptors >> - for (URL key : extLoader.jarLocationSecurityMap.keySet()) { >> - jarLocationSecurityMap.put(key, >> extLoader.jarLocationSecurityMap.get(key)); >> + synchronized (jarLocationSecurityMap) { >> + for (URL key : extLoader.jarLocationSecurityMap.keySet()) { >> + jarLocationSecurityMap.put(key, >> extLoader.jarLocationSecurityMap.get(key)); >> + } >> } >> } >> >> @@ -2186,9 +2196,11 @@ >> } >> >> // Permissions for all remote hosting urls >> - for (URL u: jarLocationSecurityMap.keySet()) { >> - permissions.add(new SocketPermission(u.getHost(), >> - "connect, accept")); >> + synchronized (jarLocationSecurityMap) { >> + for (URL u: jarLocationSecurityMap.keySet()) { >> + permissions.add(new SocketPermission(u.getHost(), >> + "connect, >> accept")); >> + } >> } >> >> // Permissions for codebase urls (if there is a loader) >> > > Well not easy task to understandt this:) > > Nice work anyway! > > J. > > Thanks, -- Andrew A From omajid at redhat.com Fri Sep 6 08:41:10 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 06 Sep 2013 11:41:10 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <5229A989.2060203@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> Message-ID: <5229F796.4070708@redhat.com> On 09/06/2013 06:08 AM, Jiri Vanek wrote: > General nit - it would be necessary add javadocs why affected fields > have been made synchronised and why affected methods are no longer > synchronised. Something to watch out for: the more you use low-level synchronization features, the more the chances of unnecessary locking and/or deadlocks. If you can use higher level abstractions for concurrency/locking (eg: a built in data structure or some form of work queue) it will also explain (in code) what's going on _and_ most likely be more correct in terms of locking. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 08:50:55 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 15:50:55 +0000 Subject: [Bug 1534] Eclipse / ZendStudio crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1534 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |dbhole at redhat.com Resolution|--- |INVALID --- Comment #2 from Deepak Bhole --- Unfortunately the log you have attached shows that the error is arising in native Eclipse/SWT code. It is not possible to fix this error in OpenJDK and it has to be fixed in Eclipse/SWT/libsoup (wherever the error happens to be in native code). There is a similar error that is a known issue in Eclipse which is fixed in the 4.3 release: https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 If you cannot switch to 4.3, comment 26 above mentions a workaround that you may want to try. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/175cc06f/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 08:53:39 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 15:53:39 +0000 Subject: [Bug 1557] New: JVM Crash on Latest Amazon EC2 6.0_24-b24 IcedTea6 1.11.11.90 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1557 Bug ID: 1557 Summary: JVM Crash on Latest Amazon EC2 6.0_24-b24 IcedTea6 1.11.11.90 Classification: Unclassified Product: IcedTea Version: 6-1.11.11 Hardware: x86_64 OS: Linux Status: NEW Severity: critical Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: brandon at atsoft.at CC: unassigned at icedtea.classpath.org We've faced several JVM crashes. They seem to be happening in the same area of the code, but I have been unable to construct a reproduceable test case. I have one more of these crash files if it helps. Any guidance would be appreciated -- thanks. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00000005b0fe8da9, pid=12576, tid=139983350257408 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.11.11.90 # Distribution: Amazon Linux BASE release 2012.03, package amazon-62.1.11.11.90.55.amzn1-x86_64 # Problematic frame: # C 0x00000005b0fe8da9 # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- T H R E A D --------------- Current thread (0x00007f4ff8002800): JavaThread "pool-13-thread-14" [_thread_in_Java, id=12693, stack(0x00007f5069cdd000,0x00007f5069dde000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=2 (SEGV_ACCERR), si_addr=0x00000005b0fe8da9 Registers: RAX=0x0000000742d81590, RBX=0x00000005b38e3d38, RCX=0x0000000000000011, RDX=0x0000000742d771f8 RSP=0x00007f5069dd9360, RBP=0x00007f5069dd9350, RSI=0x0000000742d81468, RDI=0x00007f508019f96e R8 =0x0000000000000001, R9 =0x0000000000000000, R10=0x0000000000000005, R11=0x00000000b60d414f R12=0x0000000000000000, R13=0x00007f5080455f38, R14=0x00007f5069dd9448, R15=0x00007f4ff8002800 RIP=0x00000005b0fe8da9, EFLAGS=0x0000000000010246, CSGSFS=0x000000000000e033, ERR=0x0000000000000015 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007f5069dd9360) 0x00007f5069dd9360: 00007f5069dd93a0 00000005b101d578 0x00007f5069dd9370: 00000005b3926750 0000000000000000 0x00007f5069dd9380: 00007f5069dd9380 00000005b11524b8 0x00007f5069dd9390: 00007f5069dd93e0 00000005b1154820 0x00007f5069dd93a0: 0000000000000000 00000005b1152690 0x00007f5069dd93b0: 0000000000000000 00007f5069dd93d0 0x00007f5069dd93c0: 00007f5069dd9428 00007f508019f85a 0x00007f5069dd93d0: 0000000000000000 0000000000000000 0x00007f5069dd93e0: 0000000742d81550 00007f5069dd93e8 0x00007f5069dd93f0: 00000005b2190023 0000000000000247 0x00007f5069dd9400: 00000005b2192690 0000000000000000 0x00007f5069dd9410: 00000005b2190058 0000000000000000 0x00007f5069dd9420: 00000000e85b028f 00007f508033976c 0x00007f5069dd9430: 00007f5080455f38 00007f5000000000 0x00007f5069dd9440: 0000000742d81550 00007f508033fc3c 0x00007f5069dd9450: 0000000742d81538 00000005b396c138 0x00007f5069dd9460: 00000005b218c468 0000000000000000 0x00007f5069dd9470: 0000000742d81538 00007f5080364bf8 0x00007f5069dd9480: 00007f5080406fac 0000000742d81430 0x00007f5069dd9490: 0000000742d81478 00007f5080407020 0x00007f5069dd94a0: 0000000742d81468 0000000742d81430 0x00007f5069dd94b0: 0000000742d81478 0000000000000000 0x00007f5069dd94c0: 00000005b101eda0 0000000000000000 0x00007f5069dd94d0: 00007f5069dd9540 00007f508019fe8d 0x00007f5069dd94e0: 00007f508019fe8d 00000005bb0713c8 0x00007f5069dd94f0: 0000000742d81468 0000000742d81430 0x00007f5069dd9500: 00007f5069dd9500 00000005b38a91d8 0x00007f5069dd9510: 00007f5069dd9578 00000005b38aa4a8 0x00007f5069dd9520: 0000000000000000 00000005b38a9270 0x00007f5069dd9530: 00007f5069dd94e8 00007f5069dd9558 0x00007f5069dd9540: 00007f5069dd95d0 00007f508019f9b3 0x00007f5069dd9550: 0000000000000000 000000074292c690 Instructions: (pc=0x00000005b0fe8da9) 0x00000005b0fe8d89: 00 00 00 00 00 00 00 98 1e 60 b0 05 00 00 00 0d 0x00000005b0fe8d99: 00 00 00 ff 05 07 00 38 00 39 00 01 00 00 00 db 0x00000005b0fe8da9: b9 06 00 01 00 ac ff 00 cc 00 00 00 00 00 00 00 0x00000005b0fe8db9: 00 00 00 07 00 0a 00 0b 00 00 00 00 00 01 00 01 Register to memory mapping: RAX=0x0000000742d81590 is an oop java.lang.Double - klass: 'java/lang/Double' RBX=0x00000005b38e3d38 is an oop {method} - klass: {other class} RCX=0x0000000000000011 is an unknown value RDX=0x0000000742d771f8 is an oop java.lang.Double - klass: 'java/lang/Double' RSP=0x00007f5069dd9360 is pointing into the stack for thread: 0x00007f4ff8002800 RBP=0x00007f5069dd9350 is pointing into the stack for thread: 0x00007f4ff8002800 RSI=0x0000000742d81468 is an oop code.comet.Linegraph$$anonfun$1 - klass: 'code/comet/Linegraph$$anonfun$1' RDI=0x00007f508019f96e is an Interpreter codelet return entry points [0x00007f508019f140, 0x00007f50801a0700] 5568 bytes R8 =0x0000000000000001 is an unknown value R9 =0x0000000000000000 is an unknown value R10=0x0000000000000005 is an unknown value R11=0x00000000b60d414f is an unknown value R12=0x0000000000000000 is an unknown value R13=0x00007f5080455c90 [CodeBlob (0x00007f5080455c90)] Framesize: 6 R14=0x00007f5069dd9448 is pointing into the stack for thread: 0x00007f4ff8002800 R15=0x00007f4ff8002800 is a thread Stack: [0x00007f5069cdd000,0x00007f5069dde000], sp=0x00007f5069dd9360, free space=1008k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C 0x00000005b0fe8da9 --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x00007f4ff4013800 JavaThread "pool-2-thread-2" [_thread_blocked, id=12702, stack(0x00007f50694d5000,0x00007f50695d6000)] 0x00007f4ff4013000 JavaThread "pool-2-thread-1" [_thread_blocked, id=12701, stack(0x00007f50695d6000,0x00007f50696d7000)] 0x00007f50443ef800 JavaThread "DataSystem2-akka.actor.default-dispatcher-18" [_thread_blocked, id=12699, stack(0x00007f50696d7000,0x00007f50697d8000)] 0x00007f503005e800 JavaThread "DataSystem2-akka.actor.default-dispatcher-17" [_thread_blocked, id=12698, stack(0x00007f50697d8000,0x00007f50698d9000)] 0x00007f503005d800 JavaThread "DataSystem2-akka.actor.default-dispatcher-16" [_thread_blocked, id=12697, stack(0x00007f50698d9000,0x00007f50699da000)] 0x00007f5030014800 JavaThread "DataSystem2-akka.actor.default-dispatcher-15" [_thread_in_Java, id=12696, stack(0x00007f50699da000,0x00007f5069adb000)] 0x00007f5010195000 JavaThread "pool-13-thread-16" [_thread_blocked, id=12695, stack(0x00007f5069adb000,0x00007f5069bdc000)] 0x00007f5010191800 JavaThread "pool-13-thread-15" [_thread_blocked, id=12694, stack(0x00007f5069bdc000,0x00007f5069cdd000)] =>0x00007f4ff8002800 JavaThread "pool-13-thread-14" [_thread_in_Java, id=12693, stack(0x00007f5069cdd000,0x00007f5069dde000)] 0x00007f5030015800 JavaThread "pool-13-thread-13" [_thread_blocked, id=12692, stack(0x00007f5069dde000,0x00007f5069edf000)] 0x00007f502400a000 JavaThread "pool-13-thread-12" [_thread_blocked, id=12691, stack(0x00007f5069edf000,0x00007f5069fe0000)] 0x00007f502400d000 JavaThread "pool-13-thread-11" [_thread_blocked, id=12690, stack(0x00007f5069fe0000,0x00007f506a0e1000)] 0x00007f501436f000 JavaThread "pool-13-thread-10" [_thread_blocked, id=12689, stack(0x00007f506a0e1000,0x00007f506a1e2000)] 0x00007f501c013800 JavaThread "pool-13-thread-9" [_thread_blocked, id=12688, stack(0x00007f506a1e2000,0x00007f506a2e3000)] 0x00007f501018e800 JavaThread "pool-13-thread-8" [_thread_blocked, id=12687, stack(0x00007f506a2e3000,0x00007f506a3e4000)] 0x00007f501018a000 JavaThread "pool-13-thread-7" [_thread_blocked, id=12686, stack(0x00007f506a3e4000,0x00007f506a4e5000)] 0x00007f5010188000 JavaThread "ActorPinger" daemon [_thread_blocked, id=12685, stack(0x00007f506a4e5000,0x00007f506a5e6000)] 0x00007f5004003800 JavaThread "pool-13-thread-6" [_thread_blocked, id=12684, stack(0x00007f506a5e6000,0x00007f506a6e7000)] 0x00007f5004002000 JavaThread "pool-13-thread-5" [_thread_blocked, id=12683, stack(0x00007f506a6e7000,0x00007f506a7e8000)] 0x00007f5010189000 JavaThread "pool-13-thread-4" [_thread_blocked, id=12682, stack(0x00007f506a7e8000,0x00007f506a8e9000)] 0x00007f507c2c1800 JavaThread "DataSystem2-akka.actor.default-dispatcher-14" [_thread_blocked, id=12681, stack(0x00007f506a8e9000,0x00007f506a9ea000)] 0x00007f507c407000 JavaThread "DataSystem2-akka.actor.default-dispatcher-13" [_thread_blocked, id=12680, stack(0x00007f506a9ea000,0x00007f506aaeb000)] 0x00007f507c14e800 JavaThread "DataSystem2-akka.actor.default-dispatcher-12" [_thread_blocked, id=12679, stack(0x00007f506aaeb000,0x00007f506abec000)] 0x00007f507c4fa800 JavaThread "pool-13-thread-3" [_thread_blocked, id=12678, stack(0x00007f506abec000,0x00007f506aced000)] 0x00007f501017b000 JavaThread "pool-13-thread-2" [_thread_blocked, id=12677, stack(0x00007f506aced000,0x00007f506adee000)] 0x00007f4ff8001800 JavaThread "ForkJoinPool-3-worker-4" daemon [_thread_blocked, id=12676, stack(0x00007f506adee000,0x00007f506aeef000)] 0x00007f4ff8005000 JavaThread "ForkJoinPool-3-worker-3" daemon [_thread_blocked, id=12675, stack(0x00007f506aeef000,0x00007f506aff0000)] 0x00007f5064028000 JavaThread "Hashed wheel timer #5" daemon [_thread_blocked, id=12674, stack(0x00007f506aff0000,0x00007f506b0f1000)] 0x00007f5010172800 JavaThread "Timer-3" daemon [_thread_blocked, id=12673, stack(0x00007f506b0f1000,0x00007f506b1f2000)] 0x00007f5010161000 JavaThread "New I/O boss #29" daemon [_thread_in_native, id=12672, stack(0x00007f506b1f2000,0x00007f506b2f3000)] 0x00007f5010141000 JavaThread "New I/O worker #28" daemon [_thread_in_native, id=12671, stack(0x00007f506b2f3000,0x00007f506b3f4000)] 0x00007f5010121000 JavaThread "New I/O worker #27" daemon [_thread_in_native, id=12670, stack(0x00007f506b3f4000,0x00007f506b4f5000)] 0x00007f5010026000 JavaThread "New I/O worker #26" daemon [_thread_in_native, id=12669, stack(0x00007f506b4f5000,0x00007f506b5f6000)] 0x00007f5010024000 JavaThread "New I/O worker #25" daemon [_thread_in_native, id=12668, stack(0x00007f506b5f6000,0x00007f506b6f7000)] 0x00007f5010017800 JavaThread "New I/O worker #24" daemon [_thread_in_native, id=12667, stack(0x00007f506b6f7000,0x00007f506b7f8000)] 0x00007f5010015800 JavaThread "New I/O worker #23" daemon [_thread_in_native, id=12666, stack(0x00007f506b7f8000,0x00007f506b8f9000)] 0x00007f501001a000 JavaThread "New I/O worker #22" daemon [_thread_in_native, id=12665, stack(0x00007f506b8f9000,0x00007f506b9fa000)] 0x00007f5010004000 JavaThread "New I/O worker #21" daemon [_thread_in_native, id=12664, stack(0x00007f506b9fa000,0x00007f506bafb000)] 0x00007f5014372000 JavaThread "curbkernel-18" [_thread_blocked, id=12663, stack(0x00007f506bafb000,0x00007f506bbfc000)] 0x00007f503c006000 JavaThread "DataSystem2-11" [_thread_blocked, id=12662, stack(0x00007f506bbfc000,0x00007f506bcfd000)] 0x00007f5018001800 JavaThread "curbkernel-akka.actor.default-dispatcher-17" [_thread_blocked, id=12661, stack(0x00007f506bcfd000,0x00007f506bdfe000)] 0x00007f501435e000 JavaThread "curbkernel-akka.actor.default-dispatcher-15" [_thread_blocked, id=12660, stack(0x00007f506bdfe000,0x00007f506beff000)] 0x00007f4ff4011000 JavaThread "curbkernel-akka.actor.default-dispatcher-16" [_thread_blocked, id=12659, stack(0x00007f506beff000,0x00007f506c000000)] 0x00007f501c001800 JavaThread "curbkernel-akka.actor.default-dispatcher-14" [_thread_blocked, id=12658, stack(0x00007f5070086000,0x00007f5070187000)] 0x0000000001800000 JavaThread "curbkernel-akka.actor.default-dispatcher-13" [_thread_blocked, id=12657, stack(0x00007f5070187000,0x00007f5070288000)] 0x00007f4ff400f000 JavaThread "curbkernel-akka.actor.default-dispatcher-12" [_thread_blocked, id=12656, stack(0x00007f5070288000,0x00007f5070389000)] 0x00007f4ff0004000 JavaThread "curbkernel-akka.actor.default-dispatcher-11" [_thread_blocked, id=12655, stack(0x00007f5070389000,0x00007f507048a000)] 0x00007f4ff400d800 JavaThread "curbkernel-akka.actor.default-dispatcher-10" [_thread_blocked, id=12654, stack(0x00007f507048a000,0x00007f507058b000)] 0x00007f4ff400c800 JavaThread "curbkernel-akka.actor.default-dispatcher-9" [_thread_blocked, id=12653, stack(0x00007f507058b000,0x00007f507068c000)] 0x00007f5014353800 JavaThread "curbkernel-8" [_thread_blocked, id=12652, stack(0x00007f507068c000,0x00007f507078d000)] 0x00007f501434c000 JavaThread "curbkernel-7" [_thread_blocked, id=12651, stack(0x00007f507078d000,0x00007f507088e000)] 0x00007f503c003000 JavaThread "DataSystem2-10" [_thread_blocked, id=12650, stack(0x00007f507088e000,0x00007f507098f000)] 0x00007f503c001000 JavaThread "DataSystem2-9" [_thread_blocked, id=12649, stack(0x00007f507098f000,0x00007f5070a90000)] 0x00000000017fa800 JavaThread "ForkJoinPool-3-worker-2" daemon [_thread_blocked, id=12648, stack(0x00007f5070a90000,0x00007f5070b91000)] 0x00007f5024006800 JavaThread "curbkernel-6" [_thread_blocked, id=12647, stack(0x00007f5070b91000,0x00007f5070c92000)] 0x00007f5048001000 JavaThread "Hashed wheel timer #4" [_thread_blocked, id=12646, stack(0x00007f5070c92000,0x00007f5070d93000)] 0x00007f5030008000 JavaThread "DataSystem2-8" [_thread_blocked, id=12645, stack(0x00007f5070d93000,0x00007f5070e94000)] 0x00007f502c004000 JavaThread "ForkJoinPool-3-worker-1" daemon [_thread_blocked, id=12644, stack(0x00007f5070e94000,0x00007f5070f95000)] 0x00007f5020003000 JavaThread "DataSystem2-akka.actor.default-dispatcher-7" [_thread_blocked, id=12643, stack(0x00007f5070f95000,0x00007f5071096000)] 0x00007f5030003800 JavaThread "Hashed wheel timer #3" [_thread_blocked, id=12642, stack(0x00007f5071096000,0x00007f5071197000)] 0x00007f5014348000 JavaThread "pool-13-thread-1" [_thread_blocked, id=12641, stack(0x00007f5071197000,0x00007f5071298000)] 0x00007f5014346000 JavaThread "New I/O server boss #20" [_thread_in_native, id=12640, stack(0x00007f5071298000,0x00007f5071399000)] 0x00007f5014326800 JavaThread "New I/O worker #19" [_thread_in_native, id=12639, stack(0x00007f5071399000,0x00007f507149a000)] 0x00007f5014306800 JavaThread "New I/O worker #18" [_thread_in_native, id=12638, stack(0x00007f507149a000,0x00007f507159b000)] 0x00007f50142e6800 JavaThread "New I/O worker #17" [_thread_in_native, id=12637, stack(0x00007f507159b000,0x00007f507169c000)] 0x00007f50142c6800 JavaThread "New I/O worker #16" [_thread_in_native, id=12636, stack(0x00007f507169c000,0x00007f507179d000)] 0x00007f50142b7800 JavaThread "New I/O boss #15" [_thread_in_native, id=12635, stack(0x00007f507179d000,0x00007f507189e000)] 0x00007f5014298000 JavaThread "New I/O worker #14" [_thread_in_native, id=12634, stack(0x00007f507189e000,0x00007f507199f000)] 0x00007f5014278000 JavaThread "New I/O worker #13" [_thread_in_native, id=12633, stack(0x00007f507199f000,0x00007f5071aa0000)] 0x00007f5014258000 JavaThread "New I/O worker #12" [_thread_in_native, id=12632, stack(0x00007f5071aa0000,0x00007f5071ba1000)] 0x00007f5014239000 JavaThread "New I/O worker #11" [_thread_in_native, id=12631, stack(0x00007f5071ba1000,0x00007f5071ca2000)] 0x00007f5020001000 JavaThread "DataSystem2-akka.actor.default-dispatcher-5" [_thread_blocked, id=12630, stack(0x00007f5071ca2000,0x00007f5071da3000)] 0x00007f5014214000 JavaThread "DataSystem2-scheduler-1" [_thread_blocked, id=12629, stack(0x00007f5071da3000,0x00007f5071ea4000)] 0x00007f5014212000 JavaThread "DataSystem2-akka.actor.default-dispatcher-4" [_thread_blocked, id=12628, stack(0x00007f5071ea4000,0x00007f5071fa5000)] 0x00007f5014228800 JavaThread "DataSystem2-akka.actor.default-dispatcher-3" [_thread_blocked, id=12627, stack(0x00007f5071fa5000,0x00007f50720a6000)] 0x00007f5014224000 JavaThread "DataSystem2-akka.actor.default-dispatcher-2" [_thread_in_native, id=12626, stack(0x00007f50720a6000,0x00007f50721a7000)] 0x00007f5014210000 JavaThread "New I/O server boss #10" [_thread_in_native, id=12625, stack(0x00007f50721a7000,0x00007f50722a8000)] 0x00007f5014190800 JavaThread "New I/O worker #9" [_thread_in_native, id=12624, stack(0x00007f50722a8000,0x00007f50723a9000)] 0x00007f501418f000 JavaThread "New I/O worker #8" [_thread_in_native, id=12623, stack(0x00007f50723a9000,0x00007f50724aa000)] 0x00007f5014193800 JavaThread "New I/O worker #7" [_thread_in_native, id=12622, stack(0x00007f50724aa000,0x00007f50725ab000)] 0x00007f5014196000 JavaThread "New I/O worker #6" [_thread_in_native, id=12621, stack(0x00007f50725ab000,0x00007f50726ac000)] 0x00007f50140cb800 JavaThread "New I/O boss #5" [_thread_in_native, id=12620, stack(0x00007f50726ac000,0x00007f50727ad000)] 0x00007f50140c9000 JavaThread "New I/O worker #4" [_thread_in_native, id=12619, stack(0x00007f50727ad000,0x00007f50728ae000)] 0x00007f50140dd000 JavaThread "New I/O worker #3" [_thread_in_native, id=12618, stack(0x00007f50728ae000,0x00007f50729af000)] 0x00007f50140dc000 JavaThread "New I/O worker #2" [_thread_in_native, id=12617, stack(0x00007f50729af000,0x00007f5072ab0000)] 0x00007f50140ad000 JavaThread "New I/O worker #1" [_thread_in_native, id=12616, stack(0x00007f5072ab0000,0x00007f5072bb1000)] 0x00007f5014058800 JavaThread "curbkernel-scheduler-1" [_thread_blocked, id=12615, stack(0x00007f5072bb1000,0x00007f5072cb2000)] 0x00007f5014105800 JavaThread "curbkernel-akka.actor.default-dispatcher-4" [_thread_blocked, id=12614, stack(0x00007f5072cb2000,0x00007f5072db3000)] 0x00007f5014102800 JavaThread "curbkernel-akka.actor.default-dispatcher-3" [_thread_blocked, id=12613, stack(0x00007f5072db3000,0x00007f5072eb4000)] 0x00007f5014013800 JavaThread "curbkernel-akka.actor.default-dispatcher-2" [_thread_blocked, id=12612, stack(0x00007f5072eb4000,0x00007f5072fb5000)] 0x00007f5014008800 JavaThread "Lift Scheduler" daemon [_thread_blocked, id=12610, stack(0x00007f5072fb5000,0x00007f50730b6000)] 0x00007f507c007000 JavaThread "DestroyJavaVM" [_thread_blocked, id=12578, stack(0x00007f5085e48000,0x00007f5085f49000)] 0x00007f507c4cf800 JavaThread "MongoCleaner205667663" daemon [_thread_blocked, id=12608, stack(0x00007f50732be000,0x00007f50733bf000)] 0x00007f507c4a0000 JavaThread "MongoCleaner1816386075" daemon [_thread_blocked, id=12606, stack(0x00007f50733bf000,0x00007f50734c0000)] 0x00007f507c51a000 JavaThread "MongoCleaner1981891711" daemon [_thread_blocked, id=12605, stack(0x00007f50734c0000,0x00007f50735c1000)] 0x00007f507c123800 JavaThread "MongoCleaner1485988078" daemon [_thread_blocked, id=12604, stack(0x00007f50735c1000,0x00007f50736c2000)] 0x00007f507c403000 JavaThread "Timer-2" daemon [_thread_blocked, id=12603, stack(0x00007f50738c8000,0x00007f50739c9000)] 0x00007f507c2b4000 JavaThread "858132903 at qtp-1650627452-9 - Acceptor0 SelectChannelConnector at 0.0.0.0:8080" [_thread_in_native, id=12602, stack(0x00007f507839f000,0x00007f50784a0000)] 0x00007f507c2b2000 JavaThread "729212242 at qtp-1650627452-8 - Acceptor1 SelectChannelConnector at 0.0.0.0:8080" [_thread_in_native, id=12601, stack(0x00007f50784a0000,0x00007f50785a1000)] 0x00007f507c2b0000 JavaThread "227383376 at qtp-1650627452-7" [_thread_blocked, id=12600, stack(0x00007f50785a1000,0x00007f50786a2000)] 0x00007f507c2ae000 JavaThread "894738324 at qtp-1650627452-6" [_thread_in_Java, id=12599, stack(0x00007f50786a2000,0x00007f50787a3000)] 0x00007f507c2ac000 JavaThread "891166311 at qtp-1650627452-5" [_thread_blocked, id=12598, stack(0x00007f50787a3000,0x00007f50788a4000)] 0x00007f507c1ca000 JavaThread "69461457 at qtp-1650627452-4" [_thread_blocked, id=12597, stack(0x00007f50788a4000,0x00007f50789a5000)] 0x00007f507c1af000 JavaThread "1064809421 at qtp-1650627452-3" [_thread_blocked, id=12596, stack(0x00007f50789a5000,0x00007f5078aa6000)] 0x00007f507c17c800 JavaThread "1152392515 at qtp-1650627452-2" [_thread_blocked, id=12595, stack(0x00007f5078aa6000,0x00007f5078ba7000)] 0x00007f507c1ba800 JavaThread "1873805543 at qtp-1650627452-1" [_thread_blocked, id=12594, stack(0x00007f5078ba7000,0x00007f5078ca8000)] 0x00007f507c16a000 JavaThread "1034524001 at qtp-1650627452-0" [_thread_blocked, id=12593, stack(0x00007f5078ca8000,0x00007f5078da9000)] 0x00007f507c292800 JavaThread "Timer-1" daemon [_thread_blocked, id=12592, stack(0x00007f5078da9000,0x00007f5078eaa000)] 0x00007f507c192800 JavaThread "Timer-0" daemon [_thread_blocked, id=12591, stack(0x00007f5078eaa000,0x00007f5078fab000)] 0x00007f507c09f800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=12589, stack(0x00007f50790c3000,0x00007f50791c4000)] 0x00007f507c09d800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=12588, stack(0x00007f50791c4000,0x00007f50792c5000)] 0x00007f507c098800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=12587, stack(0x00007f50792c5000,0x00007f50793c6000)] 0x00007f507c097000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=12586, stack(0x00007f50793c6000,0x00007f50794c7000)] 0x00007f507c077800 JavaThread "Finalizer" daemon [_thread_blocked, id=12585, stack(0x00007f50794c7000,0x00007f50795c8000)] 0x00007f507c075800 JavaThread "Reference Handler" daemon [_thread_blocked, id=12584, stack(0x00007f50795c8000,0x00007f50796c9000)] Other Threads: 0x00007f507c070800 VMThread [stack: 0x00007f50796c9000,0x00007f50797ca000] [id=12583] 0x00007f507c0aa000 WatcherThread [stack: 0x00007f5078fc2000,0x00007f50790c3000] [id=12590] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 122752K, used 79261K [0x000000073e400000, 0x0000000746ee0000, 0x0000000800000000) eden space 111232K, 67% used [0x000000073e400000,0x0000000742da0220,0x00000007450a0000) from space 11520K, 33% used [0x00000007463a0000,0x0000000746767350,0x0000000746ee0000) to space 15488K, 0% used [0x00000007450a0000,0x00000007450a0000,0x0000000745fc0000) PSOldGen total 159872K, used 10248K [0x00000005bac00000, 0x00000005c4820000, 0x000000073e400000) object space 159872K, 6% used [0x00000005bac00000,0x00000005bb602398,0x00000005c4820000) PSPermGen total 54080K, used 53970K [0x00000005b0600000, 0x00000005b3ad0000, 0x00000005bac00000) object space 54080K, 99% used [0x00000005b0600000,0x00000005b3ab4be0,0x00000005b3ad0000) Code Cache [0x00007f508019a000, 0x00007f508046a000, 0x00007f508319a000) total_blobs=1462 nmethods=1100 adapters=315 free_code_cache=47492416 largest_free_block=12288 Dynamic libraries: 00400000-00408000 r-xp 00000000 ca:01 26260 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java 00608000-00609000 rw-p 00008000 ca:01 26260 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java 017f6000-0183a000 rw-p 00000000 00:00 0 [heap] 5b0600000-5b3ad0000 rw-p 00000000 00:00 0 5b3ad0000-5bac00000 rw-p 00000000 00:00 0 5bac00000-5c4820000 rw-p 00000000 00:00 0 5c4820000-73e400000 rw-p 00000000 00:00 0 73e400000-746ee0000 rw-p 00000000 00:00 0 746ee0000-7478e0000 ---p 00000000 00:00 0 7478e0000-800000000 rw-p 00000000 00:00 0 7f4ff0000000-7f4ff002f000 rw-p 00000000 00:00 0 7f4ff002f000-7f4ff4000000 ---p 00000000 00:00 0 7f4ff4000000-7f4ff4036000 rw-p 00000000 00:00 0 7f4ff4036000-7f4ff8000000 ---p 00000000 00:00 0 7f4ff8000000-7f4ff8021000 rw-p 00000000 00:00 0 7f4ff8021000-7f4ffc000000 ---p 00000000 00:00 0 7f4ffc000000-7f4ffc021000 rw-p 00000000 00:00 0 7f4ffc021000-7f5000000000 ---p 00000000 00:00 0 7f5000000000-7f5000021000 rw-p 00000000 00:00 0 7f5000021000-7f5004000000 ---p 00000000 00:00 0 7f5004000000-7f5004021000 rw-p 00000000 00:00 0 7f5004021000-7f5008000000 ---p 00000000 00:00 0 7f5008000000-7f500803a000 rw-p 00000000 00:00 0 7f500803a000-7f500c000000 ---p 00000000 00:00 0 7f500c000000-7f500c021000 rw-p 00000000 00:00 0 7f500c021000-7f5010000000 ---p 00000000 00:00 0 7f5010000000-7f50101d0000 rw-p 00000000 00:00 0 7f50101d0000-7f5014000000 ---p 00000000 00:00 0 7f5014000000-7f501438d000 rw-p 00000000 00:00 0 7f501438d000-7f5018000000 ---p 00000000 00:00 0 7f5018000000-7f501804d000 rw-p 00000000 00:00 0 7f501804d000-7f501c000000 ---p 00000000 00:00 0 7f501c000000-7f501c042000 rw-p 00000000 00:00 0 7f501c042000-7f5020000000 ---p 00000000 00:00 0 7f5020000000-7f502009b000 rw-p 00000000 00:00 0 7f502009b000-7f5024000000 ---p 00000000 00:00 0 7f5024000000-7f5024021000 rw-p 00000000 00:00 0 7f5024021000-7f5028000000 ---p 00000000 00:00 0 7f5028000000-7f502802d000 rw-p 00000000 00:00 0 7f502802d000-7f502c000000 ---p 00000000 00:00 0 7f502c000000-7f502c023000 rw-p 00000000 00:00 0 7f502c023000-7f5030000000 ---p 00000000 00:00 0 7f5030000000-7f5030072000 rw-p 00000000 00:00 0 7f5030072000-7f5034000000 ---p 00000000 00:00 0 7f5034000000-7f5034021000 rw-p 00000000 00:00 0 7f5034021000-7f5038000000 ---p 00000000 00:00 0 7f5038000000-7f5038021000 rw-p 00000000 00:00 0 7f5038021000-7f503c000000 ---p 00000000 00:00 0 7f503c000000-7f503c021000 rw-p 00000000 00:00 0 7f503c021000-7f5040000000 ---p 00000000 00:00 0 7f5040000000-7f5040f01000 rw-p 00000000 00:00 0 7f5040f01000-7f5044000000 ---p 00000000 00:00 0 7f5044000000-7f5045c55000 rw-p 00000000 00:00 0 7f5045c55000-7f5048000000 ---p 00000000 00:00 0 7f5048000000-7f5048021000 rw-p 00000000 00:00 0 7f5048021000-7f504c000000 ---p 00000000 00:00 0 7f504e16f000-7f5054000000 r--p 00000000 ca:01 29101 /usr/lib/locale/locale-archive 7f5054000000-7f5054021000 rw-p 00000000 00:00 0 7f5054021000-7f5058000000 ---p 00000000 00:00 0 7f5058000000-7f5058021000 rw-p 00000000 00:00 0 7f5058021000-7f505c000000 ---p 00000000 00:00 0 7f505c000000-7f505c0c3000 rw-p 00000000 00:00 0 7f505c0c3000-7f5060000000 ---p 00000000 00:00 0 7f5060000000-7f50600d9000 rw-p 00000000 00:00 0 7f50600d9000-7f5064000000 ---p 00000000 00:00 0 7f5064000000-7f506402b000 rw-p 00000000 00:00 0 7f506402b000-7f5068000000 ---p 00000000 00:00 0 7f50694d5000-7f50694d8000 ---p 00000000 00:00 0 7f50694d8000-7f50695d6000 rw-p 00000000 00:00 0 7f50695d6000-7f50695d9000 ---p 00000000 00:00 0 7f50695d9000-7f50696d7000 rw-p 00000000 00:00 0 7f50696d7000-7f50696da000 ---p 00000000 00:00 0 7f50696da000-7f50697d8000 rw-p 00000000 00:00 0 7f50697d8000-7f50697db000 ---p 00000000 00:00 0 7f50697db000-7f50698d9000 rw-p 00000000 00:00 0 7f50698d9000-7f50698dc000 ---p 00000000 00:00 0 7f50698dc000-7f50699da000 rw-p 00000000 00:00 0 7f50699da000-7f50699dd000 ---p 00000000 00:00 0 7f50699dd000-7f5069adb000 rw-p 00000000 00:00 0 7f5069adb000-7f5069ade000 ---p 00000000 00:00 0 7f5069ade000-7f5069bdc000 rw-p 00000000 00:00 0 7f5069bdc000-7f5069bdf000 ---p 00000000 00:00 0 7f5069bdf000-7f5069cdd000 rw-p 00000000 00:00 0 7f5069cdd000-7f5069ce0000 ---p 00000000 00:00 0 7f5069ce0000-7f5069dde000 rw-p 00000000 00:00 0 7f5069dde000-7f5069de1000 ---p 00000000 00:00 0 7f5069de1000-7f5069edf000 rw-p 00000000 00:00 0 7f5069edf000-7f5069ee2000 ---p 00000000 00:00 0 7f5069ee2000-7f5069fe0000 rw-p 00000000 00:00 0 7f5069fe0000-7f5069fe3000 ---p 00000000 00:00 0 7f5069fe3000-7f506a0e1000 rw-p 00000000 00:00 0 7f506a0e1000-7f506a0e4000 ---p 00000000 00:00 0 7f506a0e4000-7f506a1e2000 rw-p 00000000 00:00 0 7f506a1e2000-7f506a1e5000 ---p 00000000 00:00 0 7f506a1e5000-7f506a2e3000 rw-p 00000000 00:00 0 7f506a2e3000-7f506a2e6000 ---p 00000000 00:00 0 7f506a2e6000-7f506a3e4000 rw-p 00000000 00:00 0 7f506a3e4000-7f506a3e7000 ---p 00000000 00:00 0 7f506a3e7000-7f506a4e5000 rw-p 00000000 00:00 0 7f506a4e5000-7f506a4e8000 ---p 00000000 00:00 0 7f506a4e8000-7f506a5e6000 rw-p 00000000 00:00 0 7f506a5e6000-7f506a5e9000 ---p 00000000 00:00 0 7f506a5e9000-7f506a6e7000 rw-p 00000000 00:00 0 7f506a6e7000-7f506a6ea000 ---p 00000000 00:00 0 7f506a6ea000-7f506a7e8000 rw-p 00000000 00:00 0 7f506a7e8000-7f506a7eb000 ---p 00000000 00:00 0 7f506a7eb000-7f506a8e9000 rw-p 00000000 00:00 0 7f506a8e9000-7f506a8ec000 ---p 00000000 00:00 0 7f506a8ec000-7f506a9ea000 rw-p 00000000 00:00 0 7f506a9ea000-7f506a9ed000 ---p 00000000 00:00 0 7f506a9ed000-7f506aaeb000 rw-p 00000000 00:00 0 7f506aaeb000-7f506aaee000 ---p 00000000 00:00 0 7f506aaee000-7f506abec000 rw-p 00000000 00:00 0 7f506abec000-7f506abef000 ---p 00000000 00:00 0 7f506abef000-7f506aced000 rw-p 00000000 00:00 0 7f506aced000-7f506acf0000 ---p 00000000 00:00 0 7f506acf0000-7f506adee000 rw-p 00000000 00:00 0 7f506adee000-7f506adf1000 ---p 00000000 00:00 0 7f506adf1000-7f506aeef000 rw-p 00000000 00:00 0 7f506aeef000-7f506aef2000 ---p 00000000 00:00 0 7f506aef2000-7f506aff0000 rw-p 00000000 00:00 0 7f506aff0000-7f506aff3000 ---p 00000000 00:00 0 7f506aff3000-7f506b0f1000 rw-p 00000000 00:00 0 7f506b0f1000-7f506b0f4000 ---p 00000000 00:00 0 7f506b0f4000-7f506b1f2000 rw-p 00000000 00:00 0 7f506b1f2000-7f506b1f5000 ---p 00000000 00:00 0 7f506b1f5000-7f506b2f3000 rw-p 00000000 00:00 0 7f506b2f3000-7f506b2f6000 ---p 00000000 00:00 0 7f506b2f6000-7f506b3f4000 rw-p 00000000 00:00 0 7f506b3f4000-7f506b3f7000 ---p 00000000 00:00 0 7f506b3f7000-7f506b4f5000 rw-p 00000000 00:00 0 7f506b4f5000-7f506b4f8000 ---p 00000000 00:00 0 7f506b4f8000-7f506b5f6000 rw-p 00000000 00:00 0 7f506b5f6000-7f506b5f9000 ---p 00000000 00:00 0 7f506b5f9000-7f506b6f7000 rw-p 00000000 00:00 0 7f506b6f7000-7f506b6fa000 ---p 00000000 00:00 0 7f506b6fa000-7f506b7f8000 rw-p 00000000 00:00 0 7f506b7f8000-7f506b7fb000 ---p 00000000 00:00 0 7f506b7fb000-7f506b8f9000 rw-p 00000000 00:00 0 7f506b8f9000-7f506b8fc000 ---p 00000000 00:00 0 7f506b8fc000-7f506b9fa000 rw-p 00000000 00:00 0 7f506b9fa000-7f506b9fd000 ---p 00000000 00:00 0 7f506b9fd000-7f506bafb000 rw-p 00000000 00:00 0 7f506bafb000-7f506bafe000 ---p 00000000 00:00 0 7f506bafe000-7f506bbfc000 rw-p 00000000 00:00 0 7f506bbfc000-7f506bbff000 ---p 00000000 00:00 0 7f506bbff000-7f506bcfd000 rw-p 00000000 00:00 0 7f506bcfd000-7f506bd00000 ---p 00000000 00:00 0 7f506bd00000-7f506bdfe000 rw-p 00000000 00:00 0 7f506bdfe000-7f506be01000 ---p 00000000 00:00 0 7f506be01000-7f506beff000 rw-p 00000000 00:00 0 7f506beff000-7f506bf02000 ---p 00000000 00:00 0 7f506bf02000-7f506c000000 rw-p 00000000 00:00 0 7f506c000000-7f506c034000 rw-p 00000000 00:00 0 7f506c034000-7f5070000000 ---p 00000000 00:00 0 7f5070048000-7f5070049000 r--s 00000000 ca:01 395188 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/night.png 7f5070049000-7f507004a000 r--s 00000000 ca:01 393692 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/battle.png 7f507004a000-7f507004b000 r--s 00000000 ca:01 394722 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/usage.png 7f507004b000-7f507004c000 r--s 00000000 ca:01 394546 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/leaf.png 7f507004c000-7f5070055000 r--s 00000000 ca:01 394101 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/ce.png 7f5070055000-7f5070056000 r--s 00000000 ca:01 394384 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/bolt.png 7f5070056000-7f5070058000 r--s 00000000 ca:01 394850 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/solar.png 7f5070058000-7f5070059000 r--s 00000000 ca:01 395158 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/energy.png 7f5070059000-7f507005a000 r--s 00000000 ca:01 393801 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/bill.png 7f507005a000-7f507005f000 r--s 00000000 ca:01 394895 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/CURB.png 7f507005f000-7f5070065000 r--s 00000000 ca:01 393788 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/app/dashboard.js 7f5070065000-7f5070086000 r--s 00000000 ca:01 393731 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/highcharts/highcharts.js 7f5070086000-7f5070089000 ---p 00000000 00:00 0 7f5070089000-7f5070187000 rw-p 00000000 00:00 0 7f5070187000-7f507018a000 ---p 00000000 00:00 0 7f507018a000-7f5070288000 rw-p 00000000 00:00 0 7f5070288000-7f507028b000 ---p 00000000 00:00 0 7f507028b000-7f5070389000 rw-p 00000000 00:00 0 7f5070389000-7f507038c000 ---p 00000000 00:00 0 7f507038c000-7f507048a000 rw-p 00000000 00:00 0 7f507048a000-7f507048d000 ---p 00000000 00:00 0 7f507048d000-7f507058b000 rw-p 00000000 00:00 0 7f507058b000-7f507058e000 ---p 00000000 00:00 0 7f507058e000-7f507068c000 rw-p 00000000 00:00 0 7f507068c000-7f507068f000 ---p 00000000 00:00 0 7f507068f000-7f507078d000 rw-p 00000000 00:00 0 7f507078d000-7f5070790000 ---p 00000000 00:00 0 7f5070790000-7f507088e000 rw-p 00000000 00:00 0 7f507088e000-7f5070891000 ---p 00000000 00:00 0 7f5070891000-7f507098f000 rw-p 00000000 00:00 0 7f507098f000-7f5070992000 ---p 00000000 00:00 0 7f5070992000-7f5070a90000 rw-p 00000000 00:00 0 7f5070a90000-7f5070a93000 ---p 00000000 00:00 0 7f5070a93000-7f5070b91000 rw-p 00000000 00:00 0 7f5070b91000-7f5070b94000 ---p 00000000 00:00 0 7f5070b94000-7f5070c92000 rw-p 00000000 00:00 0 7f5070c92000-7f5070c95000 ---p 00000000 00:00 0 7f5070c95000-7f5070d93000 rw-p 00000000 00:00 0 7f5070d93000-7f5070d96000 ---p 00000000 00:00 0 7f5070d96000-7f5070e94000 rw-p 00000000 00:00 0 7f5070e94000-7f5070e97000 ---p 00000000 00:00 0 7f5070e97000-7f5070f95000 rw-p 00000000 00:00 0 7f5070f95000-7f5070f98000 ---p 00000000 00:00 0 7f5070f98000-7f5071096000 rw-p 00000000 00:00 0 7f5071096000-7f5071099000 ---p 00000000 00:00 0 7f5071099000-7f5071197000 rw-p 00000000 00:00 0 7f5071197000-7f507119a000 ---p 00000000 00:00 0 7f507119a000-7f5071298000 rw-p 00000000 00:00 0 7f5071298000-7f507129b000 ---p 00000000 00:00 0 7f507129b000-7f5071399000 rw-p 00000000 00:00 0 7f5071399000-7f507139c000 ---p 00000000 00:00 0 7f507139c000-7f507149a000 rw-p 00000000 00:00 0 7f507149a000-7f507149d000 ---p 00000000 00:00 0 7f507149d000-7f507159b000 rw-p 00000000 00:00 0 7f507159b000-7f507159e000 ---p 00000000 00:00 0 7f507159e000-7f507169c000 rw-p 00000000 00:00 0 7f507169c000-7f507169f000 ---p 00000000 00:00 0 7f507169f000-7f507179d000 rw-p 00000000 00:00 0 7f507179d000-7f50717a0000 ---p 00000000 00:00 0 7f50717a0000-7f507189e000 rw-p 00000000 00:00 0 7f507189e000-7f50718a1000 ---p 00000000 00:00 0 7f50718a1000-7f507199f000 rw-p 00000000 00:00 0 7f507199f000-7f50719a2000 ---p 00000000 00:00 0 7f50719a2000-7f5071aa0000 rw-p 00000000 00:00 0 7f5071aa0000-7f5071aa3000 ---p 00000000 00:00 0 7f5071aa3000-7f5071ba1000 rw-p 00000000 00:00 0 7f5071ba1000-7f5071ba4000 ---p 00000000 00:00 0 7f5071ba4000-7f5071ca2000 rw-p 00000000 00:00 0 7f5071ca2000-7f5071ca5000 ---p 00000000 00:00 0 7f5071ca5000-7f5071da3000 rw-p 00000000 00:00 0 7f5071da3000-7f5071da6000 ---p 00000000 00:00 0 7f5071da6000-7f5071ea4000 rw-p 00000000 00:00 0 7f5071ea4000-7f5071ea7000 ---p 00000000 00:00 0 7f5071ea7000-7f5071fa5000 rw-p 00000000 00:00 0 7f5071fa5000-7f5071fa8000 ---p 00000000 00:00 0 7f5071fa8000-7f50720a6000 rw-p 00000000 00:00 0 7f50720a6000-7f50720a9000 ---p 00000000 00:00 0 7f50720a9000-7f50721a7000 rw-p 00000000 00:00 0 7f50721a7000-7f50721aa000 ---p 00000000 00:00 0 7f50721aa000-7f50722a8000 rw-p 00000000 00:00 0 7f50722a8000-7f50722ab000 ---p 00000000 00:00 0 7f50722ab000-7f50723a9000 rw-p 00000000 00:00 0 7f50723a9000-7f50723ac000 ---p 00000000 00:00 0 7f50723ac000-7f50724aa000 rw-p 00000000 00:00 0 7f50724aa000-7f50724ad000 ---p 00000000 00:00 0 7f50724ad000-7f50725ab000 rw-p 00000000 00:00 0 7f50725ab000-7f50725ae000 ---p 00000000 00:00 0 7f50725ae000-7f50726ac000 rw-p 00000000 00:00 0 7f50726ac000-7f50726af000 ---p 00000000 00:00 0 7f50726af000-7f50727ad000 rw-p 00000000 00:00 0 7f50727ad000-7f50727b0000 ---p 00000000 00:00 0 7f50727b0000-7f50728ae000 rw-p 00000000 00:00 0 7f50728ae000-7f50728b1000 ---p 00000000 00:00 0 7f50728b1000-7f50729af000 rw-p 00000000 00:00 0 7f50729af000-7f50729b2000 ---p 00000000 00:00 0 7f50729b2000-7f5072ab0000 rw-p 00000000 00:00 0 7f5072ab0000-7f5072ab3000 ---p 00000000 00:00 0 7f5072ab3000-7f5072bb1000 rw-p 00000000 00:00 0 7f5072bb1000-7f5072bb4000 ---p 00000000 00:00 0 7f5072bb4000-7f5072cb2000 rw-p 00000000 00:00 0 7f5072cb2000-7f5072cb5000 ---p 00000000 00:00 0 7f5072cb5000-7f5072db3000 rw-p 00000000 00:00 0 7f5072db3000-7f5072db6000 ---p 00000000 00:00 0 7f5072db6000-7f5072eb4000 rw-p 00000000 00:00 0 7f5072eb4000-7f5072eb7000 ---p 00000000 00:00 0 7f5072eb7000-7f5072fb5000 rw-p 00000000 00:00 0 7f5072fb5000-7f5072fb8000 ---p 00000000 00:00 0 7f5072fb8000-7f50730b6000 rw-p 00000000 00:00 0 7f50730b6000-7f50730be000 r-xp 00000000 ca:01 26308 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnio.so 7f50730be000-7f50732bd000 ---p 00008000 ca:01 26308 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnio.so 7f50732bd000-7f50732be000 rw-p 00007000 ca:01 26308 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnio.so 7f50732be000-7f50732c1000 ---p 00000000 00:00 0 7f50732c1000-7f50733bf000 rw-p 00000000 00:00 0 7f50733bf000-7f50733c2000 ---p 00000000 00:00 0 7f50733c2000-7f50734c0000 rw-p 00000000 00:00 0 7f50734c0000-7f50734c3000 ---p 00000000 00:00 0 7f50734c3000-7f50735c1000 rw-p 00000000 00:00 0 7f50735c1000-7f50735c4000 ---p 00000000 00:00 0 7f50735c4000-7f50736c2000 rw-p 00000000 00:00 0 7f50736c2000-7f50736c8000 r-xp 00000000 ca:01 26305 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libmanagement.so 7f50736c8000-7f50738c7000 ---p 00006000 ca:01 26305 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libmanagement.so 7f50738c7000-7f50738c8000 rw-p 00005000 ca:01 26305 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libmanagement.so 7f50738c8000-7f50738cb000 ---p 00000000 00:00 0 7f50738cb000-7f50739c9000 rw-p 00000000 00:00 0 7f50739c9000-7f50739e0000 r-xp 00000000 ca:01 29127 /lib64/libresolv-2.12.so 7f50739e0000-7f5073be0000 ---p 00017000 ca:01 29127 /lib64/libresolv-2.12.so 7f5073be0000-7f5073be1000 r--p 00017000 ca:01 29127 /lib64/libresolv-2.12.so 7f5073be1000-7f5073be2000 rw-p 00018000 ca:01 29127 /lib64/libresolv-2.12.so 7f5073be2000-7f5073be4000 rw-p 00000000 00:00 0 7f5073be4000-7f5073bea000 r-xp 00000000 ca:01 5131 /lib64/libnss_dns-2.12.so 7f5073bea000-7f5073de9000 ---p 00006000 ca:01 5131 /lib64/libnss_dns-2.12.so 7f5073de9000-7f5073dea000 r--p 00005000 ca:01 5131 /lib64/libnss_dns-2.12.so 7f5073dea000-7f5073deb000 rw-p 00006000 ca:01 5131 /lib64/libnss_dns-2.12.so 7f5073deb000-7f5073dff000 r-xp 00000000 ca:01 26307 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnet.so 7f5073dff000-7f5073fff000 ---p 00014000 ca:01 26307 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnet.so 7f5073fff000-7f5074000000 rw-p 00014000 ca:01 26307 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libnet.so 7f5074000000-7f5074021000 rw-p 00000000 00:00 0 7f5074021000-7f5078000000 ---p 00000000 00:00 0 7f5078000000-7f5078001000 r--s 00000000 ca:01 395308 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/callender-btn.png 7f5078001000-7f5078002000 r--s 00000000 ca:01 394436 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/icons/savings.png 7f5078002000-7f5078003000 r--s 00000000 ca:01 393567 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/close-btn.png 7f5078003000-7f5078004000 r--s 00000000 ca:01 394269 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/images/add-btn.png 7f5078004000-7f5078005000 r--s 00000000 ca:01 395091 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/css/dashboard.css 7f5078005000-7f5078007000 r--s 00000000 ca:01 393635 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/css/global.css 7f5078007000-7f5078008000 r--s 00000000 ca:01 395059 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/css/datepicker.css 7f5078008000-7f507800f000 r--s 00000000 ca:01 394504 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/excanvas.js 7f507800f000-7f5078014000 r--s 00000000 ca:01 394267 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/jwerty.js 7f5078014000-7f5078017000 r--s 00000000 ca:01 394108 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/slang.js 7f5078017000-7f507801b000 r--s 00000000 ca:01 393883 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/icanhaz.js 7f507801b000-7f507801d000 r--s 00000000 ca:01 394637 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/jquery/jquery.tools.min.js 7f507801d000-7f5078024000 r--s 00000000 ca:01 394782 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/color.js 7f5078024000-7f5078027000 r--s 00000000 ca:01 394762 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/rivets.js 7f5078027000-7f507802c000 r--s 00000000 ca:01 395098 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/moment.js 7f507802c000-7f507802d000 r--s 00000000 ca:01 394076 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/backbone.extensions.js 7f507802d000-7f5078031000 r--s 00000000 ca:01 395072 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/backbone.js 7f5078031000-7f5078034000 r--s 00000000 ca:01 393984 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/underscore.js 7f5078034000-7f5078039000 r--s 00000000 ca:01 393758 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/libs/json.js 7f5078039000-7f5078042000 r--s 00000000 ca:01 394201 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/jquery/datepicker.js 7f5078042000-7f5078045000 r--s 00000000 ca:01 394989 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/jquery/jquery.simplemodal.1.4.3.min.js 7f5078045000-7f507805c000 r--s 00000000 ca:01 393560 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/jquery/jquery1.7.1.js 7f507805c000-7f507806a000 r--s 00351000 ca:01 26330 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/charsets.jar 7f507806a000-7f5078078000 r--s 00351000 ca:01 26330 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/charsets.jar 7f5078078000-7f50780e3000 r--s 0053f000 ca:01 394626 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-webkit_2.10-2.5.jar 7f50780e3000-7f50780e5000 r--s 00014000 ca:01 394913 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-actor_2.10-2.5.jar 7f50780e5000-7f50780ea000 r--s 00037000 ca:01 395107 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/logback-classic-0.9.26.jar 7f50780ea000-7f50780f1000 r--s 00043000 ca:01 393968 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/logback-core-0.9.26.jar 7f50780f1000-7f50780f3000 r--s 00014000 ca:01 394577 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-json-ext_2.10-2.5.jar 7f50780f3000-7f50780fa000 r--s 00045000 ca:01 393779 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-mongodb-record_2.10-2.5.jar 7f50780fa000-7f5078100000 r--s 00032000 ca:01 394133 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/casbah-query_2.10-2.6.2.jar 7f5078100000-7f5078171000 r--s 00658000 ca:01 395165 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/scala-library.jar 7f5078171000-7f5078175000 r--s 00020000 ca:01 394851 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/salat-util_2.10-1.9.2.jar 7f5078175000-7f5078178000 r--s 00013000 ca:01 394356 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/json4s-ast_2.10-3.1.0.jar 7f5078178000-7f507817a000 r--s 00005000 ca:01 394794 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/slf4j-api-1.7.2.jar 7f507817a000-7f507817e000 r--s 00036000 ca:01 395247 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/casbah-core_2.10-2.6.2.jar 7f507817e000-7f5078271000 r--s 00c8c000 ca:01 393762 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/scala-compiler.jar 7f5078271000-7f5078277000 r--s 00036000 ca:01 395128 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-proto_2.10-2.5.jar 7f5078277000-7f507827d000 r--s 00068000 ca:01 393763 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/protobuf-java-2.4.1.jar 7f507827d000-7f507827f000 r--s 00008000 ca:01 394666 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/joda-convert-1.2.jar 7f507827f000-7f5078284000 r--s 00022000 ca:01 395252 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/casbah-commons_2.10-2.6.2.jar 7f5078284000-7f507828d000 r--s 00068000 ca:01 394040 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/json4s-core_2.10-3.1.0.jar 7f507828d000-7f5078290000 r--s 0001a000 ca:01 393715 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/nscala-time_2.10-0.2.0.jar 7f5078290000-7f5078299000 r--s 0006f000 ca:01 394700 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-json_2.10-2.5.jar 7f5078299000-7f507829d000 r--s 00022000 ca:01 394708 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-mongodb_2.10-2.5.jar 7f507829d000-7f50782a1000 r--s 00045000 ca:01 395344 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/htmlparser-1.4.jar 7f50782a1000-7f50782aa000 r--s 00066000 ca:01 394103 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/scala-actors-2.10.0.jar 7f50782aa000-7f50782b7000 r--s 00099000 ca:01 393932 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/salat-core_2.10-1.9.2.jar 7f50782b7000-7f50782d4000 r--s 001b0000 ca:01 394976 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/akka-actor_2.10-2.1.4.jar 7f50782d4000-7f50782d8000 r--s 0002a000 ca:01 394466 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/config-1.0.0.jar 7f50782d8000-7f50782da000 r--s 0000e000 ca:01 393836 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/json4s-native_2.10-3.1.0.jar 7f50782da000-7f50782dd000 r--s 00011000 ca:01 394092 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/casbah-gridfs_2.10-2.6.1.jar 7f50782dd000-7f50782f5000 r--s 0010e000 ca:01 394063 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/netty-3.6.3.Final.jar 7f50782f5000-7f507831b000 r--s 00199000 ca:01 395346 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-util_2.10-2.5.jar 7f507831b000-7f5078323000 r--s 0005f000 ca:01 395167 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/mongo-java-driver-2.11.2.jar 7f5078323000-7f5078324000 r--s 00005000 ca:01 395262 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/akka-kernel_2.10-2.1.4.jar 7f5078324000-7f5078337000 r--s 000be000 ca:01 394886 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/scalap-2.10.2.jar 7f5078337000-7f507833d000 r--s 00033000 ca:01 394603 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/commons-codec-1.6.jar 7f507833d000-7f5078342000 r--s 0002f000 ca:01 394025 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/dispatch-core_2.10-0.10.0.jar 7f5078342000-7f5078344000 r--s 0000e000 ca:01 394314 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/activation-1.1.jar 7f5078344000-7f5078349000 r--s 00053000 ca:01 394720 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/akka-remote_2.10-2.1.4.jar 7f5078349000-7f5078350000 r--s 00072000 ca:01 394409 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/mail-1.4.4.jar 7f5078350000-7f5078352000 r--s 0000a000 ca:01 393561 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/uncommons-maths-1.2.2a.jar 7f5078352000-7f5078385000 r--s 002ce000 ca:01 395035 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/scala-reflect-2.10.0.jar 7f5078385000-7f507838f000 r--s 00070000 ca:01 394914 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-record_2.10-2.5.jar 7f507838f000-7f507839f000 r--s 0007c000 ca:01 394277 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/joda-time-2.1.jar 7f507839f000-7f50783a2000 ---p 00000000 00:00 0 7f50783a2000-7f50784a0000 rw-p 00000000 00:00 0 7f50784a0000-7f50784a3000 ---p 00000000 00:00 0 7f50784a3000-7f50785a1000 rw-p 00000000 00:00 0 7f50785a1000-7f50785a4000 ---p 00000000 00:00 0 7f50785a4000-7f50786a2000 rw-p 00000000 00:00 0 7f50786a2000-7f50786a5000 ---p 00000000 00:00 0 7f50786a5000-7f50787a3000 rw-p 00000000 00:00 0 7f50787a3000-7f50787a6000 ---p 00000000 00:00 0 7f50787a6000-7f50788a4000 rw-p 00000000 00:00 0 7f50788a4000-7f50788a7000 ---p 00000000 00:00 0 7f50788a7000-7f50789a5000 rw-p 00000000 00:00 0 7f50789a5000-7f50789a8000 ---p 00000000 00:00 0 7f50789a8000-7f5078aa6000 rw-p 00000000 00:00 0 7f5078aa6000-7f5078aa9000 ---p 00000000 00:00 0 7f5078aa9000-7f5078ba7000 rw-p 00000000 00:00 0 7f5078ba7000-7f5078baa000 ---p 00000000 00:00 0 7f5078baa000-7f5078ca8000 rw-p 00000000 00:00 0 7f5078ca8000-7f5078cab000 ---p 00000000 00:00 0 7f5078cab000-7f5078da9000 rw-p 00000000 00:00 0 7f5078da9000-7f5078dac000 ---p 00000000 00:00 0 7f5078dac000-7f5078eaa000 rw-p 00000000 00:00 0 7f5078eaa000-7f5078ead000 ---p 00000000 00:00 0 7f5078ead000-7f5078fab000 rw-p 00000000 00:00 0 7f5078fab000-7f5078fac000 r--s 00005000 ca:01 131826 /usr/share/java/jetty6-core/jetty6-util5-6.1.18.jar 7f5078fac000-7f5078fad000 r--s 00004000 ca:01 131823 /usr/share/java/jetty6-core/jetty6-sslengine-6.1.18.jar 7f5078fad000-7f5078fb0000 r--s 00027000 ca:01 131824 /usr/share/java/jetty6-core/jetty6-util-6.1.18.jar 7f5078fb0000-7f5078fb2000 r--s 00006000 ca:01 131822 /usr/share/java/jetty6-core/jetty6-ajp-6.1.18.jar 7f5078fb2000-7f5078fb8000 r--s 0007a000 ca:01 131821 /usr/share/java/jetty6-core/jetty6-6.1.18.jar 7f5078fb8000-7f5078fba000 r--s 0001f000 ca:01 9163 /usr/share/java/jetty6-servlet-2.5-api-6.1.18.jar 7f5078fba000-7f5078fbe000 r--s 0007e000 ca:01 26369 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/jsse.jar 7f5078fbe000-7f5078fc0000 r--s 00003000 ca:01 131857 /usr/share/java/jetty6/start-6.1.18.jar 7f5078fc0000-7f5078fc2000 r--s 00000000 ca:01 394127 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/scripts/app/curb.js 7f5078fc2000-7f5078fc3000 ---p 00000000 00:00 0 7f5078fc3000-7f50790c3000 rw-p 00000000 00:00 0 7f50790c3000-7f50790c6000 ---p 00000000 00:00 0 7f50790c6000-7f50791c4000 rw-p 00000000 00:00 0 7f50791c4000-7f50791c7000 ---p 00000000 00:00 0 7f50791c7000-7f50792c5000 rw-p 00000000 00:00 0 7f50792c5000-7f50792c8000 ---p 00000000 00:00 0 7f50792c8000-7f50793c6000 rw-p 00000000 00:00 0 7f50793c6000-7f50793c9000 ---p 00000000 00:00 0 7f50793c9000-7f50794c7000 rw-p 00000000 00:00 0 7f50794c7000-7f50794ca000 ---p 00000000 00:00 0 7f50794ca000-7f50795c8000 rw-p 00000000 00:00 0 7f50795c8000-7f50795cb000 ---p 00000000 00:00 0 7f50795cb000-7f50796c9000 rw-p 00000000 00:00 0 7f50796c9000-7f50796ca000 ---p 00000000 00:00 0 7f50796ca000-7f5079ccf000 rw-p 00000000 00:00 0 7f5079ccf000-7f5079e63000 r--s 037fc000 ca:01 26384 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/rt.jar 7f5079e63000-7f5079e64000 ---p 00000000 00:00 0 7f5079e64000-7f5079f64000 rw-p 00000000 00:00 0 7f5079f64000-7f5079f65000 ---p 00000000 00:00 0 7f5079f65000-7f507a065000 rw-p 00000000 00:00 0 7f507a065000-7f507a066000 ---p 00000000 00:00 0 7f507a066000-7f507a1b5000 rw-p 00000000 00:00 0 7f507a1b5000-7f507ad82000 rw-p 00000000 00:00 0 7f507ad82000-7f507ad9d000 rw-p 00000000 00:00 0 7f507ad9d000-7f507add5000 rw-p 00000000 00:00 0 7f507add5000-7f507ae24000 rw-p 00000000 00:00 0 7f507ae24000-7f507b9f1000 rw-p 00000000 00:00 0 7f507b9f1000-7f507ba37000 rw-p 00000000 00:00 0 7f507ba37000-7f507ba3c000 ---p 00000000 00:00 0 7f507ba3c000-7f507bfff000 rw-p 00000000 00:00 0 7f507bfff000-7f507c000000 rw-p 00000000 00:00 0 7f507c000000-7f507c589000 rw-p 00000000 00:00 0 7f507c589000-7f5080000000 ---p 00000000 00:00 0 7f5080000000-7f5080006000 r--s 000fc000 ca:01 26382 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/resources.jar 7f5080006000-7f508000f000 r--s 0006d000 ca:01 395273 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/async-http-client-1.7.11.jar 7f508000f000-7f5080013000 r--s 0002a000 ca:01 394291 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/lift-common_2.10-2.5.jar 7f5080013000-7f5080046000 rw-p 00000000 00:00 0 7f5080046000-7f5080047000 ---p 00000000 00:00 0 7f5080047000-7f5080162000 rw-p 00000000 00:00 0 7f5080162000-7f508019a000 rw-p 00000000 00:00 0 7f508019a000-7f508046a000 rwxp 00000000 00:00 0 7f508046a000-7f508319a000 rw-p 00000000 00:00 0 7f508319a000-7f50831a1000 r-xp 00000000 ca:01 26318 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libzip.so 7f50831a1000-7f50833a0000 ---p 00007000 ca:01 26318 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libzip.so 7f50833a0000-7f50833a1000 rw-p 00006000 ca:01 26318 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libzip.so 7f50833a1000-7f50833ad000 r-xp 00000000 ca:01 29122 /lib64/libnss_files-2.12.so 7f50833ad000-7f50835ac000 ---p 0000c000 ca:01 29122 /lib64/libnss_files-2.12.so 7f50835ac000-7f50835ad000 r--p 0000b000 ca:01 29122 /lib64/libnss_files-2.12.so 7f50835ad000-7f50835ae000 rw-p 0000c000 ca:01 29122 /lib64/libnss_files-2.12.so 7f50835ae000-7f50835c4000 r-xp 00000000 ca:01 29116 /lib64/libnsl-2.12.so 7f50835c4000-7f50837c3000 ---p 00016000 ca:01 29116 /lib64/libnsl-2.12.so 7f50837c3000-7f50837c4000 r--p 00015000 ca:01 29116 /lib64/libnsl-2.12.so 7f50837c4000-7f50837c5000 rw-p 00016000 ca:01 29116 /lib64/libnsl-2.12.so 7f50837c5000-7f50837c7000 rw-p 00000000 00:00 0 7f50837c7000-7f50837f3000 r-xp 00000000 ca:01 26295 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libjava.so 7f50837f3000-7f50839f2000 ---p 0002c000 ca:01 26295 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libjava.so 7f50839f2000-7f50839f6000 rw-p 0002b000 ca:01 26295 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libjava.so 7f50839f6000-7f5083a04000 r-xp 00000000 ca:01 26317 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libverify.so 7f5083a04000-7f5083c03000 ---p 0000e000 ca:01 26317 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libverify.so 7f5083c03000-7f5083c05000 rw-p 0000d000 ca:01 26317 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libverify.so 7f5083c05000-7f5083c0c000 r-xp 00000000 ca:01 29140 /lib64/librt-2.12.so 7f5083c0c000-7f5083e0b000 ---p 00007000 ca:01 29140 /lib64/librt-2.12.so 7f5083e0b000-7f5083e0c000 r--p 00006000 ca:01 29140 /lib64/librt-2.12.so 7f5083e0c000-7f5083e0d000 rw-p 00007000 ca:01 29140 /lib64/librt-2.12.so 7f5083e0d000-7f5083e22000 r-xp 00000000 ca:01 29034 /lib64/libgcc_s-4.6.3-20120306.so.1 7f5083e22000-7f5084021000 ---p 00015000 ca:01 29034 /lib64/libgcc_s-4.6.3-20120306.so.1 7f5084021000-7f5084022000 rw-p 00014000 ca:01 29034 /lib64/libgcc_s-4.6.3-20120306.so.1 7f5084022000-7f50840a4000 r-xp 00000000 ca:01 29114 /lib64/libm-2.12.so 7f50840a4000-7f50842a3000 ---p 00082000 ca:01 29114 /lib64/libm-2.12.so 7f50842a3000-7f50842a4000 r--p 00081000 ca:01 29114 /lib64/libm-2.12.so 7f50842a4000-7f50842a5000 rw-p 00082000 ca:01 29114 /lib64/libm-2.12.so 7f50842a5000-7f508438d000 r-xp 00000000 ca:01 29738 /usr/lib64/libstdc++.so.6.0.16 7f508438d000-7f508458d000 ---p 000e8000 ca:01 29738 /usr/lib64/libstdc++.so.6.0.16 7f508458d000-7f5084595000 r--p 000e8000 ca:01 29738 /usr/lib64/libstdc++.so.6.0.16 7f5084595000-7f5084597000 rw-p 000f0000 ca:01 29738 /usr/lib64/libstdc++.so.6.0.16 7f5084597000-7f50845ac000 rw-p 00000000 00:00 0 7f50845ac000-7f5084eae000 r-xp 00000000 ca:01 26324 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so 7f5084eae000-7f50850ae000 ---p 00902000 ca:01 26324 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so 7f50850ae000-7f5085149000 rw-p 00902000 ca:01 26324 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so 7f5085149000-7f5085172000 rw-p 00000000 00:00 0 7f5085172000-7f50852f3000 r-xp 00000000 ca:01 5117 /lib64/libc-2.12.so 7f50852f3000-7f50854f3000 ---p 00181000 ca:01 5117 /lib64/libc-2.12.so 7f50854f3000-7f50854f7000 r--p 00181000 ca:01 5117 /lib64/libc-2.12.so 7f50854f7000-7f50854f8000 rw-p 00185000 ca:01 5117 /lib64/libc-2.12.so 7f50854f8000-7f50854fe000 rw-p 00000000 00:00 0 7f50854fe000-7f5085500000 r-xp 00000000 ca:01 29112 /lib64/libdl-2.12.so 7f5085500000-7f5085700000 ---p 00002000 ca:01 29112 /lib64/libdl-2.12.so 7f5085700000-7f5085701000 r--p 00002000 ca:01 29112 /lib64/libdl-2.12.so 7f5085701000-7f5085702000 rw-p 00003000 ca:01 29112 /lib64/libdl-2.12.so 7f5085702000-7f5085706000 r-xp 00000000 ca:01 26278 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/jli/libjli.so 7f5085706000-7f5085905000 ---p 00004000 ca:01 26278 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/jli/libjli.so 7f5085905000-7f5085906000 rw-p 00003000 ca:01 26278 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/jli/libjli.so 7f5085906000-7f508591d000 r-xp 00000000 ca:01 5141 /lib64/libpthread-2.12.so 7f508591d000-7f5085b1c000 ---p 00017000 ca:01 5141 /lib64/libpthread-2.12.so 7f5085b1c000-7f5085b1d000 r--p 00016000 ca:01 5141 /lib64/libpthread-2.12.so 7f5085b1d000-7f5085b1e000 rw-p 00017000 ca:01 5141 /lib64/libpthread-2.12.so 7f5085b1e000-7f5085b22000 rw-p 00000000 00:00 0 7f5085b22000-7f5085b38000 r-xp 00000000 ca:01 5278 /lib64/libz.so.1.2.5 7f5085b38000-7f5085d38000 ---p 00016000 ca:01 5278 /lib64/libz.so.1.2.5 7f5085d38000-7f5085d39000 rw-p 00016000 ca:01 5278 /lib64/libz.so.1.2.5 7f5085d39000-7f5085d57000 r-xp 00000000 ca:01 24413 /lib64/ld-2.12.so 7f5085d57000-7f5085d58000 r--s 00000000 ca:01 393626 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/css/widgets.css 7f5085d58000-7f5085d8c000 rw-p 00000000 00:00 0 7f5085d8c000-7f5085e40000 rw-p 00000000 00:00 0 7f5085e40000-7f5085e48000 rw-s 00000000 ca:01 5144 /tmp/hsperfdata_root/12576 7f5085e48000-7f5085e4b000 ---p 00000000 00:00 0 7f5085e4b000-7f5085f4e000 rw-p 00000000 00:00 0 7f5085f4e000-7f5085f4f000 r--s 00000000 ca:01 394898 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/css/reset.css 7f5085f4f000-7f5085f51000 r--s 0000d000 ca:01 394079 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/commons-fileupload-1.2.2.jar 7f5085f51000-7f5085f53000 r--s 00006000 ca:01 395043 /jetty6/tmp/Jetty_0_0_0_0_8080_root.war___.whto0i/webapp/WEB-INF/lib/paranamer-2.5.2.jar 7f5085f53000-7f5085f54000 rw-p 00000000 00:00 0 7f5085f54000-7f5085f55000 ---p 00000000 00:00 0 7f5085f55000-7f5085f56000 rw-p 00000000 00:00 0 7f5085f56000-7f5085f57000 r--p 0001d000 ca:01 24413 /lib64/ld-2.12.so 7f5085f57000-7f5085f58000 rw-p 0001e000 ca:01 24413 /lib64/ld-2.12.so 7f5085f58000-7f5085f59000 rw-p 00000000 00:00 0 7fff288ea000-7fff2891f000 rw-p 00000000 00:00 0 [stack] 7fff289ff000-7fff28a00000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] VM Arguments: jvm_args: -DSTART=/usr/share/jetty6/etc/start.config -Djava.awt.headless=true -Xmx9299m -Drun.mode=production -Djetty.home=/usr/share/jetty6 -Djava.io.tmpdir=/jetty6/tmp java_command: /usr/share/jetty6/lib/start.jar /etc/jetty6/jetty-logging.xml /etc/jetty6/jetty.xml Launcher Type: SUN_STANDARD Environment Variables: PATH=/sbin:/bin:/usr/sbin:/usr/bin USERNAME=root LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/amd64 SHELL=/bin/bash Signal Handlers: SIGSEGV: [libjvm.so+0x785000], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x785000], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x649b50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x649b50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x649b50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x649b50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x649d10], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x64c530], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGTERM: [libjvm.so+0x64c530], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x64c530], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Linux uname:Linux 3.2.34-55.46.amzn1.x86_64 #1 SMP Tue Nov 20 10:06:15 UTC 2012 x86_64 libc:glibc 2.12 NPTL 2.12 rlimit: STACK 8192k, CORE 0k, NPROC 1024, NOFILE 4096, AS infinity load average:0.65 1.24 0.77 /proc/meminfo: MemTotal: 15344044 kB MemFree: 10780424 kB Buffers: 175780 kB Cached: 2434004 kB SwapCached: 0 kB Active: 3057828 kB Inactive: 1250616 kB Active(anon): 1698708 kB Inactive(anon): 12 kB Active(file): 1359120 kB Inactive(file): 1250604 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 63096 kB Writeback: 0 kB AnonPages: 1698744 kB Mapped: 175420 kB Shmem: 52 kB Slab: 201292 kB SReclaimable: 187976 kB SUnreclaim: 13316 kB KernelStack: 2088 kB PageTables: 7632 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 7672020 kB Committed_AS: 1977452 kB VmallocTotal: 34359738367 kB VmallocUsed: 40696 kB VmallocChunk: 34359695464 kB DirectMap4k: 15736832 kB DirectMap2M: 0 kB CPU:total 4 (6 cores per cpu, 2 threads per core) family 6 model 44 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht Memory: 4k page, physical 15344044k(10780424k free), swap 0k(0k free) vm_info: OpenJDK 64-Bit Server VM (20.0-b12) for linux-amd64 JRE (1.6.0_24-b24), built on Jul 10 2013 21:27:14 by "mockbuild" with gcc 4.6.3 20120306 (Red Hat 4.6.3-2) time: Wed Sep 4 10:45:29 2013 elapsed time: 18 seconds -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/08c688d5/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 08:55:31 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 15:55:31 +0000 Subject: [Bug 907] Exception launching the Eclipse Platform In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=907 --- Comment #1 from Omair Majid --- This is against a very old version of icedtea-web. Can you retry with a newer version? How can I reproduce this? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/a8452012/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 08:56:58 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 15:56:58 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 Steve changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #921 is|0 |1 obsolete| | --- Comment #9 from Steve --- Created attachment 928 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=928&action=edit Screen shot Iced Tea Web error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/0d163c87/attachment.html From aazores at redhat.com Fri Sep 6 08:57:33 2013 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Sep 2013 11:57:33 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <5229F796.4070708@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> Message-ID: <5229FB6D.2070301@redhat.com> On 09/06/13 11:41, Omair Majid wrote: > On 09/06/2013 06:08 AM, Jiri Vanek wrote: >> General nit - it would be necessary add javadocs why affected fields >> have been made synchronised and why affected methods are no longer >> synchronised. > Something to watch out for: the more you use low-level synchronization > features, the more the chances of unnecessary locking and/or deadlocks. > > If you can use higher level abstractions for concurrency/locking (eg: a > built in data structure or some form of work queue) it will also explain > (in code) what's going on _and_ most likely be more correct in terms of > locking. > > Cheers, > Omair > Well I did wrap the relevant member variables in Collections.synchronized{List,Set,Hash,Map,etc.}() to provide for atomic operations like add/remove, but even then you still need to synchronize when you're going to iterate over a collection. Not very much else is actually happening in this patch, if anything. The whole point is that a very very broad-scoped lock (the classloader instance itself) was being given to a thread for the sole purpose of ensuring that only one thread entered one specific method at a time, which was unnecessary locking and was what lead to issues. I suppose simply using a ReentrantLock or something and emulating this behaviour but using the new lock for only this one method could have also been done and would have avoided the problem. But to me iit seems that that's a bit of a hackish fix for the deadlock, rather than actually addressing the issue of not *really* needing to ensure that only one thread is in that method at a time. Rather we just need to ensure that all the member variables affected by that method call are used in a thread safe manner. Using the classloader instance lock to do this is very heavy handed. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 09:05:45 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 16:05:45 +0000 Subject: [Bug 1534] Eclipse / ZendStudio crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1534 --- Comment #3 from Thomas --- This is weird 'cause I didn't upgraded ZendStudio or Eclipse and this error happened right after an update of OpenJDK.. Anyway, thanks for your well-documented comment, I'll take a look on that... (In reply to comment #2 > Unfortunately the log you have attached shows that the error is arising in > native Eclipse/SWT code. It is not possible to fix this error in OpenJDK and > it has to be fixed in Eclipse/SWT/libsoup (wherever the error happens to be > in native code). > > There is a similar error that is a known issue in Eclipse which is fixed in > the 4.3 release: > https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 > > If you cannot switch to 4.3, comment 26 above mentions a workaround that you > may want to try. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/05d72802/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 10:42:24 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 17:42:24 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Wrong handling of |Inherit jnlp.packEnabled | in jnlp |and jnlp.versionEnabled | |like other properties -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/b1bdb9cb/attachment.html From omajid at redhat.com Fri Sep 6 10:46:39 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 06 Sep 2013 13:46:39 -0400 Subject: [icedtea-web] RFC: PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties Message-ID: <522A14FF.7020209@redhat.com> Hi, The attached patch fixes the inheritance of jnlp.packEnabled and jnlp.versionEnabled properties as seen by JNLPFile for the purposes of DownloadOptions. If one of those two properties is specified anywhere acceptable (in a general or os- or arch-specific section), it is applied to all jars. Okay to push? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1533-02.patch Type: text/x-patch Size: 6612 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/4b0f765b/pr1533-02.patch From gitne at gmx.de Fri Sep 6 12:16:00 2013 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 06 Sep 2013 21:16:00 +0200 Subject: [rfc][icedtea-web] Certificate viewer cleanup In-Reply-To: <5229A301.1070401@redhat.com> References: <201308291518.r7TFILBG011772@mail-web03.excite.co.jp> <5229A301.1070401@redhat.com> Message-ID: <522A29F0.8060201@gmx.de> Hello there! Jiri Vanek wrote: > On 08/29/2013 05:18 PM, Jacob Wisor wrote: >> "Jacob Wisor" wrote: >>>> "Jacob Wisor" wrote: >>>>>> * Replaced old insufficient certificate viewer's action buttons handling with proper handling >>>>>> * Made System-level certificates managable if current user has write access to a KeyStore (usually only root or admin) >>>>>> * Added informative tool tip to disabled buttons when certificates are unmanagable >>>>>> * Made certificate table uneditable >>>>>> * Made certificate info table uneditable >>>>>> * Made certificate info's descriptive JTextField have the same font size as its info table for better readability >>>>>> * Added certificate file filters with Windows/Linux preference >>>>>> * Added auto-suggested certificate file names when exporting >>>>>> * Added automatically generated mnemonics >>>>>> * Made labels link to corresponding JComponents >>>>>> * Added a border to certificate type label for better readability >>>>>> * Uniformed border sizes >>>>>> * Added removing of multiple certificates at once >>>>>> * Turned some only once occuring fields into static >>>>>> * Added proper exception handling when setting system look & feel, hence removed superfluous "throws Exception" from method signatures >>>>>> >>>>>> Happy reviewing! >>>>>> >>>>>> Jacob >>>> Pasting in this time. >>>> >>>> [...] >> I have realized I have missed to add a new file to the patch. I have updated the copyright headers too. >> > > Nice job, thank you! I have finally read it through! > > > As drawback there is bunch of exceptions: > java.io.EOFException > at java.io.DataInputStream.readInt(DataInputStream.java:392) > at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:645) > at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) > at java.security.KeyStore.load(KeyStore.java:1214) > at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:416) > at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:140) > at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:119) > at net.sourceforge.jnlp.security.KeyStores.getClientKeyStores(KeyStores.java:235) > at net.sourceforge.jnlp.security.VariableX509TrustManager.(VariableX509TrustManager.java:145) > at > net.sourceforge.jnlp.security.VariableX509TrustManager.getInstance(VariableX509TrustManager.java:439) > at > net.sourceforge.jnlp.security.VariableX509TrustManagerJDK7.(VariableX509TrustManagerJDK7.java:53) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at net.sourceforge.jnlp.runtime.JNLPRuntime.getSSLSocketTrustManager(JNLPRuntime.java:319) > at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:256) > at > net.sourceforge.jnlp.security.viewer.CertificateViewer.showCertificateViewer(CertificateViewer.java:103) > at net.sourceforge.jnlp.security.viewer.CertificateViewer.main(CertificateViewer.java:126) > at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:135) Could you please elaborate on when this happens and how to reproduce it? > and (more important) > > java.lang.NullPointerException > at net.sourceforge.jnlp.security.viewer.CertificatePane.readKeyStore(CertificatePane.java:316) > at net.sourceforge.jnlp.security.viewer.CertificatePane.repopulateTables(CertificatePane.java:344) > at net.sourceforge.jnlp.security.viewer.CertificatePane.access$1200(CertificatePane.java:90) > at > net.sourceforge.jnlp.security.viewer.CertificatePane$CertificateTypeListener.actionPerformed(CertificatePane.java:408) > at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260) > at javax.swing.JComboBox.setSelectedItem(JComboBox.java:588) > at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624) > at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:835) > at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) > at java.awt.Component.processMouseEvent(Component.java:6505) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3312) > at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:499) > at java.awt.Component.processEvent(Component.java:6270) > at java.awt.Container.processEvent(Container.java:2229) > at java.awt.Component.dispatchEventImpl(Component.java:4861) > at java.awt.Container.dispatchEventImpl(Container.java:2287) > at java.awt.Component.dispatchEvent(Component.java:4687) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) > at java.awt.Container.dispatchEventImpl(Container.java:2273) > at java.awt.Window.dispatchEventImpl(Window.java:2719) > at java.awt.Component.dispatchEvent(Component.java:4687) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) > at java.awt.EventQueue.access$200(EventQueue.java:103) > at java.awt.EventQueue$3.run(EventQueue.java:694) > at java.awt.EventQueue$3.run(EventQueue.java:692) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) > at java.awt.EventQueue$4.run(EventQueue.java:708) > at java.awt.EventQueue$4.run(EventQueue.java:706) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) > at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154) > at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182) > at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) > at java.awt.EventQueue.access$200(EventQueue.java:103) > at java.awt.EventQueue$3.run(EventQueue.java:694) > at java.awt.EventQueue$3.run(EventQueue.java:692) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) > at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) > > > Both are quite serious as they stop the redrawing of table. Same as above, please elaborate on how to reproduce. > Two ideas - when digging in this, maybe to switch ~/icedtea-web-image/bin/javaws -viewer from > Dialog to Frame would be nice - at least it will be accesible via alt+tab and maximiseable and so on... I am not sure whether altering the stand-alone certificate viewer (javaws -viewer) from JDialog to JFrame is a good idea. On Windows when running with Oracle JRE the dialog is accessible via Alt+Tab indeed, but it does not show up on the taskbar. I do not recall exactly, so please take my statement with a grain of salt, this is also Microsoft's intended behavior by design for system control dialogs in Windows versions prior to Vista. Regardless of that, I would not advise to move to JFrame because from a usability and UI style-guide point of view this stand-alone certificate viewer is a true dialog (system control dialog) and is supposed to be and behave as such. So, maximizing, minimizing, or resizing is probably contradicting the primary meaning of a quick utility or system control dialog. Hence this concept or UI style should be kept. Unless we were up to making some new UI for Window's Modern UI or GNOME 3 UI etc. then it would perhaps make sense to move to some other base UI component class. But, the Java Swing Framework has been specifically intended and developed as a classic windowing API. There is no other new UI framework in J2SE yet, so we are stuck with that for now and should also stick to its style-guide. Nevertheless, I would accept to have a custom Dialog class extending JFrame made which is going to shows up on the taskbar specifically and not be resizeable etc. as usual dialogs. > - the tool tip text are pretty good {except {0} error) but are hard to be seen. Most people do not > hover over disabled button. It would be nice to have them as label on visible(if useful)/invisible > paanel eg. between buttons and table. I have been thinking about it too and came to the conclusion that probably the best solution would be to either have a small information icon display on the affected buttons, so that users are going to get some hint as to hover over them or add a status bar at the bottom of the dialog. Yet, both solutions pose some problems. Adding an icon would actually require adding an icon resource which is probably not native to the windowing system and may look oddly on many windowing systems. Whereas a status bar may be to short or would become unproportionally big to present those explanatory texts/messages (which could of course be shortened). Anyway, I think it is best to keep the UI controls and their behavior as generic as possible. So, no dynamic hiding or showing of controls. Disabling and enabling buttons dynamically has been originally intended to handle the kind of situations we face here, namely making all possible actions or operations constantly visible to the user, and yet making him or her unintrusively aware of some actions not being available under certain circumstances. I would rather leave it as is, unless you can present me some adequate information icon (or perhaps stop icon?). > Few nits in inline: > > >> CertficateViewer_cleanup.patch >> >> >> diff -r 420d72e5cee7 netx/net/sourceforge/jnlp/resources/Messages.properties >> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >> @@ -275,6 +276,9 @@ >> SValidity=Validity >> >> # Certificate Viewer >> +CVCannotImport=You can not import certificates of this type because {0} > > Those {0} are never avaluated. > >> +CVCannotRemove=You can not remove certificates of this type because {0} > > The CVCannotImport/CVCannotRemove seems to me randomly switched with CVCause. > CVCannotImport/CVCannotRemove - are shown when I change certificate type, whether > CVCause is shown when user/system tab. > > I think both are valid at all time, so their concation would be nice. >> +CVCause=
  • you are not logged in as an administrator,
  • you have no file system write permission to the keystore file,
  • the keystore file is inaccesible via network,
  • the keystore file is write protected by file system attributes,
  • you do not have a FilePermission("write"), or
  • the keystore file is otherwise physically inaccesible.
>> CVCertificateViewer=Certificates >> CVCertificateType=Certificate Type >> CVDetails=Details I have made those messages evaluate correctly, but Mercurial has generated an incorrect diff for some reason... :-o So, as it seems what you were reviewing was not my correct final version. I assume that this is also the reason for those runtime exceptions you got. Sorry... While writing this email response, I have checked it manually again and it seems I have found a bug in Mercurial because although the code in the file is correct the diff to tip does not account for that. I will have to dig deeper into that before resubmitting this patch for rfc. >> @@ -302,6 +303,37 @@ >> } >> >> /** >> + * Checks whether the specified system-level or user-level {@link KeyStore} >> + * is writable. >> + * @param level >> + * @return {@code true} if the specified {@code KeyStore} is writable, >> + * {@code false} otherwise >> + * @see KeyStores.Level >> + */ >> + public static final boolean isKeyStoreWriteable(KeyStores.Level level, KeyStores.Type type) { >> + if (level == null) throw new IllegalArgumentException("level == " + level); >> + if (type == null) throw new IllegalArgumentException("type == " + type); >> + >> + FileOutputStream fileOutputStream = null; >> + >> + try { >> + fileOutputStream = new FileOutputStream(KeyStores.getKeyStoreLocation(level, type), true); >> + } catch (final FileNotFoundException fileNotFoundException) { >> + fileOutputStream = null; >> + } catch (final SecurityException securityException) { >> + fileOutputStream = null; >> + } finally { >> + if (fileOutputStream != null) try { >> + fileOutputStream.close(); >> + } catch (final IOException ioException) { >> + // Don't bother, fileOutputStream is probably closed anyway >> + } >> + } >> + >> + return fileOutputStream != null; > > > Its really enough? I did not know this "hack". Interesting :) It's no hack. What's a hack about it? Just checking whether a file can be opened for writing. Of course, this only works assuming that the semantics of FileOutputStream are identical across platforms. But then on the other hand, what would be Java if one was not to assume it, yes even expect it? FileOutputStream should even conceal perhaps file system driver or OS specific semantics. Btw, with regards to semantics across platforms those adding File.canRead(), File.canWrite(), and File.canExecute() have f*cked up hard because those methods are utterly OS specific. They should have provided a more generic file system access permissions model instead. It is totally contradicting Java's idea, but that's another story to be told... > Please add unittest for anyway. I assumed you would say that. ;-) >> + } >> + > ...snip... >> * "Issued To" and "Issued By" string pairs for certs. >> */ >> private String[][] issuedToAndBy = null; >> - private final String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; >> + private final static String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; >> + private final static String CER_EXTENSION = "cer", >> + CRT_EXTENSION = "crt", >> + PFX_EXTENSION = "pfx", >> + P12_EXTENSION = "p12", >> + PKCS12 = "PKCS #12"; > > I must say I'm quite confused by this extensions. What are they needed for now? (as they were not > needed before) I have put those Strings constants in because they are used with file filters where they are functional string parameters as well as simple user-friendly text. If one were to change those (for what ever reason) the appropriate functional parameters and user-friendly texts will change accordingly because both are based on the same "original" strings. If you insist I can put those into the code as literals, but as I said, this goes with losing the aforementioned convenience and coding safety. >> - private final CertificateType[] certificateTypes = new CertificateType[] { >> + private final static CertificateType[] certificateTypes = new CertificateType[] { > ... >> >> userTable = new JTable(null); >> systemTable = new JTable(null); >> - disableForSystem = new ArrayList(); > > Well I'm not sure about this expansion of array into four separated variables. > Althoug disableForSystem will become really irrelevant name. > > I would go with JComponent[] button = new JComponent{ >> + this.importButton = new JButton(); >> + this.exportButton = new JButton(); >> + this.removeButton = new JButton(); >> + this.detailButton = new JButton(); > } > > As I believe there are few cases where iteration will win over duplicate code. Sounds almost convincing, but why does this kind of helper array have to live and take up memory space during CertificatePane's entire lifetime when it is currently used by one method only, namely addComponents()? I would give into it if addComponents() was called very often and thus creating many throw-away helper arrays would become unacceptably costly. addComponents() is called only once. So, I do not see any solid reason for doing this. >> >> addComponents(); >> >> @@ -139,6 +167,9 @@ >> } else { >> currentKeyStoreLevel = Level.SYSTEM; >> } >> + this.importButton.setEnabled(this.isKeyStoreWriteable = >> + KeyStores.isKeyStoreWriteable(this.currentKeyStoreLevel, >> + this.currentKeyStoreType)); >> >> repopulateTables(); >> } >> @@ -163,9 +194,11 @@ >> certificateTypePanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); >> >> JLabel certificateTypeLabel = new JLabel(R("CVCertificateType")); >> + certificateTypeLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5)); >> >> certificateTypeCombo = new JComboBox(certificateTypes); >> certificateTypeCombo.addActionListener(new CertificateTypeListener()); >> + certificateTypeLabel.setLabelFor(this.certificateTypeCombo); >> >> certificateTypePanel.add(certificateTypeLabel, BorderLayout.LINE_START); >> certificateTypePanel.add(certificateTypeCombo, BorderLayout.CENTER); >> @@ -173,20 +206,24 @@ >> JPanel tablePanel = new JPanel(new BorderLayout()); >> >> // User Table >> - DefaultTableModel userTableModel = new DefaultTableModel(issuedToAndBy, columnNames); >> - userTable.setModel(userTableModel); >> + userTable.setModel(new NonEditableTableModel(issuedToAndBy, CertificatePane.columnNames)); >> userTable.getTableHeader().setReorderingAllowed(false); >> userTable.setFillsViewportHeight(true); >> + final CertificatePane.CertificateListSelectionListener certificateListSelectionListener; >> + userTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); >> + userTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener = >> + new CertificatePane.CertificateListSelectionListener()); >> JScrollPane userTablePane = new JScrollPane(userTable); >> userTablePane.setPreferredSize(TABLE_DIMENSION); >> userTablePane.setSize(TABLE_DIMENSION); >> userTablePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); >> >> // System Table >> - DefaultTableModel systemTableModel = new DefaultTableModel(issuedToAndBy, columnNames); >> - systemTable.setModel(systemTableModel); >> + systemTable.setModel(new NonEditableTableModel(issuedToAndBy, CertificatePane.columnNames)); >> systemTable.getTableHeader().setReorderingAllowed(false); >> systemTable.setFillsViewportHeight(true); >> + systemTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); >> + systemTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener); >> JScrollPane systemTablePane = new JScrollPane(systemTable); >> systemTablePane.setPreferredSize(TABLE_DIMENSION); >> systemTablePane.setSize(TABLE_DIMENSION); >> @@ -199,35 +236,50 @@ >> >> JPanel buttonPanel = new JPanel(new FlowLayout()); >> >> - String[] buttonNames = { R("CVImport"), R("CVExport"), R("CVRemove"), R("CVDetails") }; >> - char[] buttonMnemonics = { KeyEvent.VK_I, >> - KeyEvent.VK_E, >> - KeyEvent.VK_M, >> - KeyEvent.VK_D }; >> - ActionListener[] listeners = { new ImportButtonListener(), >> - new ExportButtonListener(), >> - new RemoveButtonListener(), >> - new DetailsButtonListener() }; >> - JButton button; >> + final String[] controlTexts = { >> + R("CVCertificateType"), >> + R("CVImport"), >> + R("CVExport"), >> + R("CVRemove"), >> + R("CVDetails"), >> + R("ButClose") >> + }; >> + final Map mnemonicsMap = UI.generateMnemonics(controlTexts); >> + certificateTypeLabel.setDisplayedMnemonic(mnemonicsMap.get(R("CVCertificateType"))); >> >> //get the max width >> int maxWidth = 0; >> - for (int i = 0; i < buttonNames.length; i++) { >> - button = new JButton(buttonNames[i]); >> + for (int i = 1; i < 5; i++) { > > buttonNames.length is definitively better then "5". >> + JButton button = new JButton(controlTexts[i]); >> maxWidth = Math.max(maxWidth, button.getMinimumSize().width); >> } >> >> - for (int i = 0; i < buttonNames.length; i++) { >> - button = new JButton(buttonNames[i]); >> - button.setMnemonic(buttonMnemonics[i]); >> - button.addActionListener(listeners[i]); >> - button.setSize(maxWidth, button.getSize().height); >> - // import and remove buttons >> - if (i == 0 || i == 2) { >> - disableForSystem.add(button); >> - } >> - buttonPanel.add(button); >> - } > > Yup, here is the duplicated code. I know there will be some ifs, but really iteration is preferred > way. >> + this.importButton.setText(controlTexts[1]); >> + this.importButton.setMnemonic(mnemonicsMap.get(controlTexts[1])); >> + this.importButton.addActionListener(new CertificatePane.ImportButtonListener()); >> + this.importButton.setSize(maxWidth, this.importButton.getSize().height); >> + buttonPanel.add(this.importButton); >> + >> + this.exportButton.setText(controlTexts[2]); >> + this.exportButton.setMnemonic(mnemonicsMap.get(controlTexts[2])); >> + this.exportButton.addActionListener(new CertificatePane.ExportButtonListener()); >> + this.exportButton.setSize(maxWidth, this.exportButton.getSize().height); >> + this.exportButton.setEnabled(false); >> + buttonPanel.add(this.exportButton); >> + >> + this.removeButton.setText(controlTexts[3]); >> + this.removeButton.setMnemonic(mnemonicsMap.get(controlTexts[3])); >> + this.removeButton.addActionListener(new CertificatePane.RemoveButtonListener()); >> + this.removeButton.setSize(maxWidth, this.removeButton.getSize().height); >> + this.removeButton.setEnabled(false); >> + buttonPanel.add(this.removeButton); >> + >> + this.detailButton.setText(controlTexts[4]); >> + this.detailButton.setMnemonic(mnemonicsMap.get(controlTexts[4])); >> + this.detailButton.addActionListener(new CertificatePane.DetailsButtonListener()); >> + this.detailButton.setSize(maxWidth, this.detailButton.getSize().height); >> + this.detailButton.setEnabled(false); >> + buttonPanel.add(this.detailButton); Iteration is definitely possible here, but I fear readability is going to suffer more in this case than having gains from code compactness. If the number of iterations were in the tenths or more I would do prefer iteration or size of code before readability. >> tablePanel.add(tabbedPane, BorderLayout.CENTER); >> tablePanel.add(buttonPanel, BorderLayout.SOUTH); > ...snip... >> >> @@ -112,12 +113,16 @@ >> private static void setSystemLookAndFeel() { >> try { >> UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); >> - } catch (Exception e) { >> + } catch (ClassNotFoundException classNotFoundException) {} >> + catch (InstantiationException instantiationException) {} >> + catch (IllegalAccessException illegalAccessException) {} >> + catch (UnsupportedLookAndFeelException unsupportedLookAndFeelException) {} >> + catch (ClassCastException classCastException) { >> // don't worry if we can't. >> } > > Well, not sure if worthy, but as you wish. I would be proably fan of ex.printstackTrace in case of > debug on. But I do not isnisits. Sure, I can add this. >> } >> >> - public static void main(String[] args) throws Exception { >> + public static void main(String[] args) { >> CertificateViewer.showCertificateViewer(); >> } > ... >> +/** >> + * Impementation of a certificate viewer. :-( typo. I will correct this right away. >> + *

>> + * The certificate viewer can be accessed via the "Certificates" tab or by > > I would add > * The certificate viewer can be accessed via the "Certificates" tab in itw-settings or by > > But do not isnists. >> + * invoking {@code javaws -viewer} on the command line. >> + *

>> + * @see net.sourceforge.jnlp.controlpanel.ControlPanel >> + */ > ...snip... >> + >> +/** >> + * This class provides methods and classes for common and recurring tasks while >> + * dealing with the UI that are not provided by the Java SE platform. >> + * @since 1.5 >> + */ >> +public final class UI { >> + /** >> + * Hide the default constructor from instantiating this class, because it is >> + * a mere collection of diverese helper functionalities encapsulated in either >> + * static methods or static nested classes. >> + */ >> + private UI() { >> + } >> + >> + /** >> + * Generates corresponding mnemonics to texts of controls like buttons, >> + * labels, check boxes, radio buttons, or menu items. This method is primarily >> + * useful for applications which control's texts are loaded from localized >> + * resources that either lack mnemonics for corresponding controls or when >> + * storing mnemonics in resources is not desired. >> + *

NOTE:
>> + * This method works with Latin, Greek, and Cyrillic alphabets only!

>> + * This method may produce multiple identical (recurring) mnemonics if a text >> + * does not have enough distinct letters. >> + * @todo Add support for right-to-left alphabets and other scripts. >> + * @param strings A {@link String} array with all Window's or Dialog's >> + * control's texts that shall get mnemonics >> + * @return a {@link HashMap} of texts with their corresponding mnemonic characters >> + */ > > Ugh. Although the idea behind this is really _excelent_ I doubt it a bit.Or I doubt its complexity. It is possible indeed. ;-) I have checked it. It requires specific code for some languages. And, it is okay, since we always know what language those texts are. I did not add support for other alpabets and scripts because I do not know them. In general, for alphabet scripts it is important to avoid using extended or composed characters as mnemonics as they may not be directly available on the keyboard. Of course, this may not be possible in every case. Some languages like Turkish or Vietnamese are quite likely to have words that are comprised of composed characters entirely, even though these languages use latin alphabets. Hence, in this case perhaps one is left with no other option than to use composed characters and adding language specific code to this method. I never claimed this method to be complete in every aspect. There is always room for improvement, so why not use it? ;-) > Before scratching it - few topics: > - is really mnemoic based on localisation desired behaviour? I'm in favour that it is not. Mostly > one simpli look into menu, and when he used this click and find click to often, he remebers the > mneonic. Maybe it is even better when all alnguages have them same. But you know more about > localisations then me. No, definitely not. Mnemonics are almost always based on controls' texts. One must not assume that mnemonics in e.g. English - the same letters - will be available with localized texts. For all alphabet scripts, except for Korean Hangul, localized mnemonics should be provided because this has been the UI style guide ever since and is relatively easy to implement. If one were to force identical mnemonics for all languages one would have to mix scripts or alphabets in *one* text (as this is by UI style guide the case for Chinese, Japanese, and Korean) and would have ugly " ()" suffixes to texts in scripts and alphabets where it is actually unnecessary. Anyway, it is a UI style guide principle to have localized mnemonics. After all, in some regions or for some languages multiple keyboard layouts are used in parallel. This makes stuff even more complicated. The same applies to accelerators or hot keys. They have to be localized too. So, some language specific code has to be added in the future anyway. And, as already mentioned we always know any text's language so it is no problem to put it all into one method (or maybe sub-methods). Actually, I could have added generic mnemonic support for Chinese, Japanese, and Korean because they use U.S. English mnemonics anyway. But since IcedTea-Web does not support these languages yet, adding this support should be better left to their specific localizers. > - the implementation should allwo default values - especialy for not "Latin, Greek, and Cyrillic " > or strings which "does not have enough distinct letters" As I mentioned above; There is always room for improvement. :-) Let us think about it when IcedTea-Web is about to get support for other languages. Besides, it is also a legal UI style guide to have multiple colliding or equal mnemonics when no other options are available. It is even better to have colliding mnemonics than none. > - I think that the implementation is too complicated according what it do (see inline) It is always going to be complicated as long as current human languages exist or are in use because almost all of them are not systematic. And, this is exactly the reason why we have computers in the first place. We deal with this complexity once and implement it, so that from then on it is handled by a stupid machine. > - first letters of words should be preffered If you read closely, they are indeed. ;-) > - it will need unittest;) Yes, possibly. But, this is going to require a per language unit test which will quickly become very elaborate. So, I am rather skeptical that it would be a good idea to insist on any unit test in this case since UI.generateMnemonics() does not provide any core or crucial functionality nor is it probable for this method to have any side effects (except for throwing an exception itself when fed with inadequate data) on other parts of the application. > I'm in grete favour to remove this from this changeset and proceed it as separate patch. Only if you are willing to search for some other open source code that deals with this problem (generating mnemonics based on language) sufficiently. I doubt you will find anything. ;-) >> + public static Map generateMnemonics(final String[] strings) { >> + if (strings == null) throw new IllegalArgumentException("strings"); > > At lest "input string was null" ;) Yep, always check parameters in public methods! :-) >> + >> + final int stringsLength = strings.length; >> + final HashMap hashMap = new HashMap(stringsLength); > This to shoudl be final Map hashMap = new HashMap... > >> + for (int index = 0; index < stringsLength; index++) { >> + // Remove all white spaces, because they must not be mnemonics > > maybe if (strings[index] == null) throw new IllegalArgumentException("strings") too? In this case I would rather prefer to see a NPE pop up and change the documentation to clearly state that an "array of {@code String}s" is to pass as parameter. Null checking the entire array may take a while if it is quite long. >> + final String s = strings[index], reducedString = s.replaceAll("[^A-Za-z0-9\u0391-\u03A9\u03B1-\u03C9\u0410-\u045F]" /*"[\\s\\p{Punct}\\p{Cntrl}\u0500-\uFFFF]"*/, ""); > s.replaceAll("/s","") should do the job ;) > - If you really wont to remove only whitespaces, but I see different in regex. > - Maybe jsut keep [A-Z,a-z] would be more usefull No, it is correct this way. Removing whitespaces only will leave all punctuation, mathematic, composed characters etc. in place. What is needed here is actually to have acceptable mnemonic characters left over only. >> + char mnemonic = '\u0000'; >> + final int reducedStringLength = reducedString.length(); >> + for (int charIndex = 0; charIndex < reducedStringLength && hashMap.containsValue(mnemonic = Character.toUpperCase(reducedString.charAt(charIndex))); charIndex++); > interesting line :) Pumped it to death! :-D Infact, Oracle's and OpenJDK's compiler does produce the most compact and fastest code when confronted with as little but as complex statements as possible. It is because language level optimizations in compilers are the easiest to implement and have received the most research attention, in contrast to bytecode level optimizations for example. >> + hashMap.put(s, mnemonic); >> + } >> + >> + return hashMap; >> + } >> + > > > I would probably move this to separate calss file. > > Also it would be nice to have some smoke test for this, but as I'm not sure of comlexity I do not > isnists. Why? Its purpose is concerned with UI, isn't it? >> + /** >> + * A table model that is in effect a {@link DefaultTableModel} except for no >> + * cell being editable. >> + * @see DefaultTableModel >> + */ >> + public static class NonEditableTableModel extends DefaultTableModel { >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @see DefaultTableModel#DefaultTableModel() >> + */ >> + public NonEditableTableModel() { >> + super(); >> + } >> + >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @param rowCount the number of rows the table holds >> + * @param columnCount the number of columns the table holds >> + * @see DefaultTableModel#DefaultTableModel(int,int) >> + */ >> + public NonEditableTableModel(final int rowCount, final int columnCount) { >> + super(rowCount, columnCount); >> + } >> + >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @param data the data of the table >> + * @param columnNames the names of the columns >> + * @see DefaultTableModel#DefaultTableModel(Object[][],Object[]) >> + */ >> + public NonEditableTableModel(final Object[][] data, final Object[] columnNames) { >> + super(data, columnNames); >> + } >> + >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @param columnNames {@code array} containing the names of the new columns; >> + * if this is {@code null} then the model has no columns >> + * @param rowCount the number of rows the table holds >> + * @see DefaultTableModel#DefaultTableModel(Object[],int) >> + */ >> + public NonEditableTableModel(final Object[] columnNames, final int rowCount) { >> + super(columnNames, rowCount); >> + } >> + >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @param columnNames {@code vector} containing the names of the new columns; >> + * if this is {@code null} then the model has no columns >> + * @param rowCount the number of rows the table holds >> + * @see DefaultTableModel#DefaultTableModel(Vector,int) >> + */ >> + public NonEditableTableModel(final Vector columnNames, final int rowCount) { >> + super(columnNames, rowCount); >> + } >> + >> + /** >> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >> + * purpose: make cells of certificate tables not editable. >> + * @param data the data of the table, a {@code Vector} of {@code Vector}s >> + * of {@code Object} values >> + * @param columnNames {@code vector} containing the names of the new columns >> + * @see DefaultTableModel#DefaultTableModel(Vector,Vector) >> + */ >> + public NonEditableTableModel(final Vector data, final Vector columnNames) { >> + super(data, columnNames); >> + } >> + >> + /** >> + * This method always returns {@code false} to make the table's cells not >> + * editable. >> + * @param row the row whose value to be queried >> + * @param column the column whose value to be queried >> + * @return always {@code false} >> + */ >> + @Override >> + public boolean isCellEditable(final int row, final int column) { >> + return false; >> + } >> + } >> +} >> \ No newline at end of file >> > > > Again - greate work! Thank you vcery much for it > > J. I will fix the mentioned nits as soon as possible which though may take quite a while because I am involved in some other stuff currently. Regards, Jacob From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 12:41:20 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 19:41:20 +0000 Subject: [Bug 907] Exception launching the Eclipse Platform In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=907 --- Comment #2 from Jeremy Nickurak --- Unfortunately I no longer have access to the application/environment in question. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/a74526a2/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 12:44:36 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 19:44:36 +0000 Subject: [Bug 1147] wrongly assume DNS available even behind a proxy In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1147 --- Comment #1 from Omair Majid --- The only requirement when is not present is that icedtea-web should be able to update the jnlp and jars from it's original source. The DNS resolution is probably a shortcut for this. Please update your patch so it skips DNS resolution but still uses the most-up-to-date version of the jars from the original location. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/a325c7bd/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 6 12:51:12 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 06 Sep 2013 19:51:12 +0000 Subject: [Bug 907] Exception launching the Eclipse Platform In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=907 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #3 from Omair Majid --- I am closing this as INVALID for the moment. Feel free to reopen if you can find a way to reproduce this. Thanks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/84a06deb/attachment.html From andrew at icedtea.classpath.org Fri Sep 6 13:36:51 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 06 Sep 2013 20:36:51 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 3 new changesets Message-ID: changeset 5068c5bade1d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5068c5bade1d author: andrew date: Fri Sep 06 18:08:01 2013 +0100 Removed tag icedtea-2.4.2 changeset e4526d518dac in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e4526d518dac author: andrew date: Fri Sep 06 21:36:31 2013 +0100 Correct error resulting from IcedTea 1.x hack. changeset 1320dcac2e08 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1320dcac2e08 author: andrew date: Fri Sep 06 21:36:36 2013 +0100 Added tag icedtea-2.4.2 for changeset e4526d518dac diffstat: .hgtags | 4 ++++ src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) diffs (23 lines): diff -r 394e5408306c -r 1320dcac2e08 .hgtags --- a/.hgtags Fri Sep 06 12:45:50 2013 +0100 +++ b/.hgtags Fri Sep 06 21:36:36 2013 +0100 @@ -353,3 +353,7 @@ fb25cdef17e9610db5cb89fc35c0c4abef5ad781 jdk7u40-b43 ed444a09a5fd32237deaef6e43804e20ba4f6352 jdk7u40-b60 e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 +e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +e4526d518dacc59adc253c7a6f49a79441d4e3d9 icedtea-2.4.2 diff -r 394e5408306c -r 1320dcac2e08 src/share/native/sun/awt/image/jpeg/imageioJPEG.c --- a/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Fri Sep 06 12:45:50 2013 +0100 +++ b/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Fri Sep 06 21:36:36 2013 +0100 @@ -1509,7 +1509,7 @@ // Set up to keep any APP2 markers, as these might contain ICC profile // data - jpegsavemarkers(cinfo, JPEG_APP1, 0xFFFF); + jpeg_save_markers(cinfo, JPEG_APP1, 0xFFFF); jpeg_save_markers(cinfo, ICC_MARKER, 0xFFFF); /* From gnu.andrew at redhat.com Fri Sep 6 15:59:38 2013 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Fri, 6 Sep 2013 23:59:38 +0100 Subject: IcedTea 1.11.13 Released! Message-ID: <20130906225913.GA20404@carrie.the212.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features including a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 6 support in the 1.11.x series with a number of bug fixes. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What?s New? =========== New in release 1.11.13 (2013-09-06): * Backports - S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY - S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) - S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll - S6636331: ConcurrentModificationException in AppContext code - S6636370: minor corrections and simplification of code in AppContext - S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 - S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 - S6793818: JpegImageReader is too greedy creating color profiles - S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 - S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 - S6840152: JVM crashes when heavyweight monitors are used - S6888215: memory leak in jpeg plugin - S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) - S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build - S6989760: cmm native compiler warnings - S6989774: imageio compiler warnings in native code - S7000225: Sanity check on sane-alsa-headers is broken - S7013519: [parfait] Integer overflows in 2D code - S7018912: [parfait] potential buffer overruns in imageio jpeg - S7022999: Can't build with FORCE_TIERED=0 - S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber - S7196533: TimeZone.getDefault() slow due to synchronization bottleneck - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() - S8014469: (tz) Support tzdata2013c - S8020054: (tz) Support tzdata2013d - S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances * Bug fixes - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. - RH995488: Java thinks that the default timezone is Busingen instead of Zurich The tarball can be downloaded from: http://icedtea.classpath.org/download/source/icedtea6-1.11.13.tar.gz or: http://icedtea.classpath.org/download/source/icedtea6-1.11.13.tar.xz For the first time, we provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea6-1.11.13.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea6-1.11.13.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: 3101efa8dd7c0470c375e41cd2adbaae63f6fb65d357b2033069f4f468b3ea08 icedtea6-1.11.13.tar.gz 4a92970ffba01374982e0cadb7bd8b4c125d628574294218810fa93db803df1d icedtea6-1.11.13.tar.gz.sig 3508f7e3b6560ab138e591f56be541f7b6050f33f25bdede1faa2eb0aff68324 icedtea6-1.11.13.tar.xz df4bc78ba9024770a468180a045182e92ee0005bed7159dcd40976f79f4b3467 icedtea6-1.11.13.tar.xz.sig The following people helped with these releases: * Andrew Hughes (all backports and fixes except those below & release management) * Omair Majid (initial version of RH995488) * Xerxes R?nby (PR1188 ARM fix) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.11.13.tar.gz or: $ tar xJf icedtea6-1.11.13.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea6-1.11.13/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130906/2c15626f/attachment.bin From andrew at icedtea.classpath.org Fri Sep 6 20:26:01 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 07 Sep 2013 03:26:01 +0000 Subject: /hg/release/icedtea6-1.11: 7 new changesets Message-ID: changeset ecd2b7356f84 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=ecd2b7356f84 author: Andrew John Hughes date: Wed Sep 04 12:25:58 2013 +0100 Update NEWS with missing backports and remove erroneous backport. 2013-09-02 Andrew John Hughes * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Remove patch which shouldn't have been backported to 1.11. * Makefile.am: (ICEDTEA_PATCHES): Remove 6893617. * NEWS: Add missing backport entries. changeset 46162ab5e258 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=46162ab5e258 author: Andrew John Hughes date: Wed Sep 04 12:27:13 2013 +0100 Prepare for 1.11.13 release. 2013-09-04 Andrew John Hughes * NEWS: Add release date of 1.11.13. * configure.ac: Prepare for 1.11.13. changeset 636eeb85c15e in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=636eeb85c15e author: Andrew John Hughes date: Fri Sep 06 12:19:02 2013 +0100 RH995488: Java thinks that the default timezone is Busingen instead of Zurich 2013-09-05 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/rh995488-rhel_tz_fix.patch: Use /etc/sysconfig/clock on RHEL & clones so that they don't search /usr/share/zoneinfo. * NEWS: Mention patch. changeset f4d047e0ad2d in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=f4d047e0ad2d author: Andrew John Hughes date: Fri Sep 06 12:20:11 2013 +0100 Bump release date. 2013-09-06 Andrew John Hughes * NEWS: Bump date. changeset a02969e09391 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=a02969e09391 author: Andrew John Hughes date: Fri Sep 06 23:33:32 2013 +0100 Credit Omair for original version of RH995488. 2013-09-06 Andrew John Hughes * ChangeLog: Credit Omair for original version of RH995488 patch. changeset 0729d519b51f in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=0729d519b51f author: Andrew John Hughes date: Fri Sep 06 23:33:38 2013 +0100 Added tag icedtea6-1.11.13 for changeset a02969e09391 changeset 5fb5a0032329 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=5fb5a0032329 author: Andrew John Hughes date: Sat Sep 07 04:25:38 2013 +0100 Start 1.11.14 release cycle. 2013-09-07 Andrew John Hughes * configure.ac: Set to 1.11.14pre. * NEWS: Add 1.11.14 section. diffstat: .hgtags | 1 + ChangeLog | 37 + Makefile.am | 4 +- NEWS | 10 +- configure.ac | 2 +- patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 ------------ patches/rh995488-rhel_tz_fix.patch | 77 +++ 7 files changed, 127 insertions(+), 238 deletions(-) diffs (437 lines): diff -r 88ad9f715193 -r 5fb5a0032329 .hgtags --- a/.hgtags Wed Sep 04 00:13:08 2013 +0100 +++ b/.hgtags Sat Sep 07 04:25:38 2013 +0100 @@ -35,3 +35,4 @@ f25e5db9397688f7268bb62aca5c63520b4bd08e icedtea6-1.11.10 d3fed928b8b9d76d6153789ac6daec5dd02aab4d icedtea6-1.11.11 eca41165787238e9d088af88d5a35e417cff21b7 icedtea6-1.11.12 +a02969e093910e938dddd09c03c52bcd1f53ed2d icedtea6-1.11.13 diff -r 88ad9f715193 -r 5fb5a0032329 ChangeLog --- a/ChangeLog Wed Sep 04 00:13:08 2013 +0100 +++ b/ChangeLog Sat Sep 07 04:25:38 2013 +0100 @@ -1,3 +1,40 @@ +2013-09-07 Andrew John Hughes + + * configure.ac: Set to 1.11.14pre. + * NEWS: Add 1.11.14 section. + +2013-09-06 Andrew John Hughes + + * ChangeLog: Credit Omair for original + version of RH995488 patch. + +2013-09-06 Andrew John Hughes + + * NEWS: Bump date. + +2013-09-05 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * patches/rh995488-rhel_tz_fix.patch: + Use /etc/sysconfig/clock on RHEL & clones + so that they don't search /usr/share/zoneinfo. + Main part of patch originally by Omair Majid. + * NEWS: Mention patch. + +2013-09-04 Andrew John Hughes + + * NEWS: Add release date of 1.11.13. + * configure.ac: Prepare for 1.11.13. + +2013-09-04 Andrew John Hughes + + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: + Remove patch which shouldn't have been backported to 1.11. + * Makefile.am: + (ICEDTEA_PATCHES): Remove 6893617. + * NEWS: Add missing backport entries. + 2013-09-02 Andrew John Hughes * Makefile.am: diff -r 88ad9f715193 -r 5fb5a0032329 Makefile.am --- a/Makefile.am Wed Sep 04 00:13:08 2013 +0100 +++ b/Makefile.am Sat Sep 07 04:25:38 2013 +0100 @@ -667,7 +667,6 @@ patches/openjdk/7196533-timezone_bottleneck.patch \ patches/openjdk/6636370-appcontext_simplification.patch \ patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch \ - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ patches/imageiojpeg_sync.patch \ patches/openjdk/8005194-scale_memory_leak.patch \ patches/openjdk/6563752-ss12_support.patch \ @@ -679,7 +678,8 @@ patches/openjdk/6980281-majorver_for_solaris.patch \ patches/openjdk/7000225-bad_tabs.patch \ patches/openjdk/7038711-fix_no-clobber_usage.patch \ - patches/disable-cc-incompatible-sanity-checks.patch + patches/disable-cc-incompatible-sanity-checks.patch \ + patches/rh995488-rhel_tz_fix.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 88ad9f715193 -r 5fb5a0032329 NEWS --- a/NEWS Wed Sep 04 00:13:08 2013 +0100 +++ b/NEWS Sat Sep 07 04:25:38 2013 +0100 @@ -11,12 +11,16 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.11.13 (2013-XX-XX): +New in release 1.11.14 (2013-10-XX): + +New in release 1.11.13 (2013-09-06): * Backports - S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY - S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) - S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll + - S6636331: ConcurrentModificationException in AppContext code + - S6636370: minor corrections and simplification of code in AppContext - S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 - S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 - S6793818: JpegImageReader is too greedy creating color profiles @@ -33,10 +37,14 @@ - S7018912: [parfait] potential buffer overruns in imageio jpeg - S7022999: Can't build with FORCE_TIERED=0 - S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber + - S7196533: TimeZone.getDefault() slow due to synchronization bottleneck - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8014469: (tz) Support tzdata2013c + - S8020054: (tz) Support tzdata2013d - S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances * Bug fixes - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich New in release 1.11.12 (2013-07-10): diff -r 88ad9f715193 -r 5fb5a0032329 configure.ac --- a/configure.ac Wed Sep 04 00:13:08 2013 +0100 +++ b/configure.ac Sat Sep 07 04:25:38 2013 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.11.13pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.11.14pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 88ad9f715193 -r 5fb5a0032329 patches/openjdk/6893617-cnctx_always_uses_default_orb.patch --- a/patches/openjdk/6893617-cnctx_always_uses_default_orb.patch Wed Sep 04 00:13:08 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +0,0 @@ -# HG changeset patch -# User coffeys -# Date 1340827826 -3600 -# Wed Jun 27 21:10:26 2012 +0100 -# Node ID 83f8283e47917f97b838257db5711e37be9b715e -# Parent 352fad83e8447dec768064f60dc85934db32ef27 -6893617: JDK 6 CNCtx always uses the default ORB -Reviewed-by: lancea - -diff --git a/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java b/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java ---- openjdk/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java -+++ openjdk/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 1999, 2012, 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 -@@ -59,8 +59,22 @@ - - private final static boolean debug = false; - -+ /* -+ * Implement one shared ORB among all CNCtx. However, there is a public constructor -+ * accepting an ORB, so we need the option of using a given ORB. -+ */ -+ private static ORB _defaultOrb; - ORB _orb; // used by ExceptionMapper and RMI/IIOP factory - public NamingContext _nc; // public for accessing underlying NamingContext -+ -+ private synchronized static ORB getDefaultOrb() { -+ if (_defaultOrb == null) { -+ _defaultOrb = CorbaUtils.getOrb(null, -1, -+ new Hashtable()); -+ } -+ return _defaultOrb; -+ } -+ - private NameComponent[] _name = null; - - Hashtable _env; // used by ExceptionMapper -@@ -113,8 +127,9 @@ - // rest is the INS name - // Return the parsed form to prevent subsequent lookup - // from parsing the string as a composite name -- // The caller should be aware that a toString() of the name -- // will yield its INS syntax, rather than a composite syntax -+ // The caller should be aware that a toString() of the name, -+ // which came from the environment will yield its INS syntax, -+ // rather than a composite syntax - return new ResolveResult(ctx, parser.parse(rest)); - } - -@@ -134,10 +149,10 @@ - if (orb == null || nctx == null) - throw new ConfigurationException( - "Must supply ORB or NamingContext"); -- _orb = orb; -- orbTracker = tracker; -- if (orbTracker != null) { -- orbTracker.incRefCount(); -+ if (orb != null) { -+ _orb = orb; -+ } else { -+ _orb = getDefaultOrb(); - } - _nc = nctx; - _env = env; -@@ -211,10 +226,13 @@ - org.omg.CORBA.ORB inOrb = null; - String ncIor = null; - -- if (env != null) { -+ if (inOrb == null && env != null) { - inOrb = (org.omg.CORBA.ORB) env.get("java.naming.corba.orb"); - } - -+ if (inOrb == null) -+ inOrb = getDefaultOrb(); // will create a default ORB if none exists -+ - // Extract PROVIDER_URL from environment - String provUrl = null; - if (env != null) { -@@ -225,13 +243,6 @@ - // Initialize the root naming context by using the IOR supplied - // in the PROVIDER_URL - ncIor = getStringifiedIor(provUrl); -- -- if (inOrb == null) { -- -- // no ORB instance specified; create one using env and defaults -- inOrb = CorbaUtils.getOrb(null, -1, env); -- orbTracker = new OrbReuseTracker(inOrb); -- } - setOrbAndRootContext(inOrb, ncIor); - } else if (provUrl != null) { - // Initialize the root naming context by using the URL supplied -@@ -257,14 +268,8 @@ - } - } else { - // No PROVIDER_URL supplied; initialize using defaults -- if (inOrb == null) { -- -- // No ORB instance specified; create one using env and defaults -- inOrb = CorbaUtils.getOrb(null, -1, env); -- orbTracker = new OrbReuseTracker(inOrb); -- if (debug) { -- System.err.println("Getting default ORB: " + inOrb + env); -- } -+ if (debug) { -+ System.err.println("Getting default ORB: " + inOrb + env); - } - setOrbAndRootContext(inOrb, (String)null); - } -@@ -285,6 +290,10 @@ - */ - private String initUsingIiopUrl(ORB defOrb, String url, Hashtable env) - throws NamingException { -+ -+ if (defOrb == null) -+ defOrb = getDefaultOrb(); -+ - try { - IiopUrl parsedUrl = new IiopUrl(url); - -@@ -296,19 +305,17 @@ - addr = (IiopUrl.Address)addrs.elementAt(i); - - try { -- if (defOrb != null) { -- try { -- String tmpUrl = "corbaloc:iiop:" + addr.host -- + ":" + addr.port + "/NameService"; -- if (debug) { -- System.err.println("Using url: " + tmpUrl); -- } -- org.omg.CORBA.Object rootCtx = -- defOrb.string_to_object(tmpUrl); -- setOrbAndRootContext(defOrb, rootCtx); -- return parsedUrl.getStringName(); -- } catch (Exception e) {} // keep going -- } -+ try { -+ String tmpUrl = "corbaloc:iiop:" + addr.host -+ + ":" + addr.port + "/NameService"; -+ if (debug) { -+ System.err.println("Using url: " + tmpUrl); -+ } -+ org.omg.CORBA.Object rootCtx = -+ defOrb.string_to_object(tmpUrl); -+ setOrbAndRootContext(defOrb, rootCtx); -+ return parsedUrl.getStringName(); -+ } catch (Exception e) {} // keep going - - // Get ORB - if (debug) { -@@ -316,12 +323,8 @@ - + " and port " + addr.port); - } - -- // Get ORB -- ORB orb = CorbaUtils.getOrb(addr.host, addr.port, env); -- orbTracker = new OrbReuseTracker(orb); -- - // Assign to fields -- setOrbAndRootContext(orb, (String)null); -+ setOrbAndRootContext(defOrb, (String)null); - return parsedUrl.getStringName(); - - } catch (NamingException ne) { -@@ -343,18 +346,16 @@ - */ - private String initUsingCorbanameUrl(ORB orb, String url, Hashtable env) - throws NamingException { -+ -+ if (orb == null) -+ orb = getDefaultOrb(); -+ - try { - CorbanameUrl parsedUrl = new CorbanameUrl(url); - - String corbaloc = parsedUrl.getLocation(); - String cosName = parsedUrl.getStringName(); - -- if (orb == null) { -- -- // No ORB instance specified; create one using env and defaults -- orb = CorbaUtils.getOrb(null, -1, env); -- orbTracker = new OrbReuseTracker(orb); -- } - setOrbAndRootContext(orb, corbaloc); - - return parsedUrl.getStringName(); -@@ -1115,9 +1116,6 @@ - } - - synchronized public void incEnumCount() { -- if (orbTracker == null) { -- return; -- } - enumCount++; - if (debug) { - System.out.println("incEnumCount, new count:" + enumCount); -@@ -1126,9 +1124,6 @@ - - synchronized public void decEnumCount() - throws NamingException { -- if (orbTracker == null) { -- return; -- } - enumCount--; - if (debug) { - System.out.println("decEnumCount, new count:" + enumCount + -@@ -1140,14 +1135,15 @@ - } - - synchronized public void close() throws NamingException { -- if (orbTracker == null) { -- return; -- } -+ - if (enumCount > 0) { - isCloseCalled = true; - return; - } -- orbTracker.decRefCount(); -+ -+ // Never destroy an orb in CNCtx. -+ // The orb we have is either the shared/default orb, or one passed in to a constructor -+ // from elsewhere, so that orb is somebody else's reponsibility. - } - - protected void finalize() { diff -r 88ad9f715193 -r 5fb5a0032329 patches/rh995488-rhel_tz_fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/rh995488-rhel_tz_fix.patch Sat Sep 07 04:25:38 2013 +0100 @@ -0,0 +1,77 @@ +diff --git a/src/solaris/native/java/util/TimeZone_md.c b/src/solaris/native/java/util/TimeZone_md.c +--- openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c ++++ openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c +@@ -52,6 +52,8 @@ + #ifdef __linux__ + + static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; ++static const char *REDHAT_RELEASE_FILE = "/etc/redhat-release"; ++static const char *SYSCONFIG_CLOCK_FILE = "/etc/sysconfig/clock"; + static const char *ZONEINFO_DIR = "/usr/share/zoneinfo"; + static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime"; + +@@ -225,6 +227,64 @@ + } + + /* ++ * Next, try the ZONE entry in /etc/sysconfig/clock. ++ */ ++ if ((fp = fopen(REDHAT_RELEASE_FILE, "r")) != NULL) { ++ char id[7]; ++ ++ /* Avoid this file on Fedora as may be buggy; RH489586 */ ++ if (fgets(id, sizeof (id), fp) != NULL && ++ strncmp(id, "Fedora", 6) != 0) { ++ (void) fclose(fp); ++ if ((fp = fopen(SYSCONFIG_CLOCK_FILE, "r")) != NULL) { ++ char line[256]; ++ ++ while (fgets(line, sizeof(line), fp) != NULL) { ++ char *p = line; ++ char *s; ++ ++ SKIP_SPACE(p); ++ if (*p != 'Z') { ++ continue; ++ } ++ if (strncmp(p, "ZONE=\"", 6) == 0) { ++ p += 6; ++ } else { ++ /* ++ * In case we need to parse it token by token. ++ */ ++ if (strncmp(p, "ZONE", 4) != 0) { ++ continue; ++ } ++ p += 4; ++ SKIP_SPACE(p); ++ if (*p++ != '=') { ++ break; ++ } ++ SKIP_SPACE(p); ++ if (*p++ != '"') { ++ break; ++ } ++ } ++ for (s = p; *s && *s != '"'; s++) ++ ; ++ if (*s != '"') { ++ /* this ZONE entry is broken. */ ++ break; ++ } ++ *s = '\0'; ++ tz = strdup(p); ++ break; ++ } ++ (void) fclose(fp); ++ if (tz != NULL) { ++ return tz; ++ } ++ } ++ } ++ } ++ ++ /* + * Next, try /etc/localtime to find the zone ID. + */ + if (lstat(DEFAULT_ZONEINFO_FILE, &statbuf) == -1) { From bugzilla-daemon at icedtea.classpath.org Sat Sep 7 00:25:56 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 07 Sep 2013 07:25:56 +0000 Subject: [Bug 1559] New: Not possible to build usable Closure Compiler Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1559 Bug ID: 1559 Summary: Not possible to build usable Closure Compiler Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: audvare at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 929 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=929&action=edit Their jar vs my jar decompressed diff Using latest git from Google's Closure's Compiler it seems class paths get set wrong in the generated Jar. This is not the case with their Jar. $ java -version java version "1.7.0_40" OpenJDK Runtime Environment (IcedTea 2.4.1) (Gentoo build 1.7.0_40-b31) OpenJDK 64-Bit Server VM (build 24.0-b50, mixed mode) I am on Gentoo and I build from source with these USE flags: X alsa cjk cups jbootstrap nsplugin nss webstart (everything else off) With their Jar https://code.google.com/p/closure-compiler/wiki/BinaryDownloads?tm=2: $ echo 'var b = {"a":true}' | java -jar compiler.jar var b={a:!0}; With my compiled Jar of the latest: $ echo 'var b = {"a":true}' | java -jar compiler.jar java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/mozilla/javascript/Token$CommentType at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:715) at com.google.javascript.jscomp.Compiler.compile(Compiler.java:647) at com.google.javascript.jscomp.Compiler.compile(Compiler.java:603) at com.google.javascript.jscomp.AbstractCommandLineRunner.doRun(AbstractCommandLineRunner.java:771) at com.google.javascript.jscomp.AbstractCommandLineRunner.run(AbstractCommandLineRunner.java:372) at com.google.javascript.jscomp.CommandLineRunner.main(CommandLineRunner.java:976) Caused by: java.lang.NoClassDefFoundError: org/mozilla/javascript/Token$CommentType at com.google.javascript.rhino.head.TokenStream.getToken(TokenStream.java:758) at com.google.javascript.rhino.head.Parser.peekToken(Parser.java:288) at com.google.javascript.rhino.head.Parser.parse(Parser.java:520) at com.google.javascript.rhino.head.Parser.parse(Parser.java:470) at com.google.javascript.jscomp.parsing.ParserRunner.parse(ParserRunner.java:133) at com.google.javascript.jscomp.JsAst.parse(JsAst.java:84) at com.google.javascript.jscomp.JsAst.getAstRoot(JsAst.java:50) at com.google.javascript.jscomp.CompilerInput.getAstRoot(CompilerInput.java:117) at com.google.javascript.jscomp.Compiler.parseInputs(Compiler.java:1327) at com.google.javascript.jscomp.Compiler.parse(Compiler.java:764) at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:723) at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:83) at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:650) at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:647) at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:677) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:679) Caused by: java.lang.ClassNotFoundException: org.mozilla.javascript.Token$CommentType at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 20 more To compile: git clone https://code.google.com/p/closure-compiler/ cd closure-compiler ant Don't know if it will help but I am including a diff of the extracted jars for comparison. Many files differ but this may only be because of different headers on each binary file because 2 different compilers. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130907/d7584258/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Sep 7 11:31:27 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 07 Sep 2013 18:31:27 +0000 Subject: [Bug 1560] New: Dummy Product (x86_64), package suse-12.1-x86_64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1560 Bug ID: 1560 Summary: Dummy Product (x86_64), package suse-12.1-x86_64 Classification: Unclassified Product: IcedTea Version: 6-1.11.4 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: lnvandrade at uneb.br CC: unassigned at icedtea.classpath.org Created attachment 930 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=930&action=edit file with erro log C [libsvllo.so+0xfb750] SvNumberFormatsSupplierObj::SetNumberFormatter(SvNumberFormatter*)+0x10 The crash happened outside the Java Virtual Machine in native code. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130907/5239e58c/attachment.html From jvanek at redhat.com Mon Sep 9 00:51:39 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Sep 2013 09:51:39 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <5229E975.7010307@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> Message-ID: <522D7E0B.2010604@redhat.com> On 09/06/2013 04:40 PM, Andrew Azores wrote: > On 09/06/2013 03:11 AM, Jiri Vanek wrote: >> On 09/05/2013 03:10 PM, Andrew Azores wrote: >>> (snip) >>> As Jacob says, I'd rather not throw a chained exception here because that would cause the entire >>> reproducer to halt, would it not? But if the messageBundle is not properly instantiated that's only >>> really a blocker for one test (clearCacheUnsucessfully). This exception being consumed would >>> manifest as a NPE in that later test, which would just result in that single test failing. Printing >>> the stack trace is agreeable enough but I don't really think the entire reproducer needs to stop if >>> we're going to be unable to run one test. >>> >> >> >> imho nope. If messages.properties would become unavailable, then it is so crucial that I would be happy even for whole test run failure. > > Hm yea, I suppose that's true. However, see below - > >> >> Also not >> >> } catch (IOException e) { >> >> e.printStackTrace(); >> >> } >> >> but >> >> >> } catch (IOException e) { >> ServerAccess.logException(ex); >> >> } >> >> (never use stdout/err in testcases, but always appropriate ServerAccess.log* function) >> >> >> >> In this particular case do as you wish. My recommendation would lead to separate changeset, where you will create static method getMessage(String key) somewhere in test-extensions/net/sourceforge/jnlp/tools (probably new utility class) which will encapsulate the >> >>>> + private static final String messageResourcePath = >> >>>> "net/sourceforge/jnlp/resources/Messages.properties"; >> >>>> + private static PropertyResourceBundle messageBundle = null; >> >>>> + >> >>>> + static { >> >>>> + try { >> >>>> + messageBundle = >> >>>> + new >> >>>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >> >>>> >> >>>> + } catch (IOException e) { >> >> with throw here :) >> >> >>>> + } >> >>>> + } >> and >> >>>> + String cacheClearError = messageBundle.getString("CCannotClearCache"); >> >> >> parts. >> >> The reason for this is, that the hardocded "evaluate string" is wide spread issue, and I believe some of the failures are because of small change in properties file (eg the "the" removal/addition or something like that) >> >> Also you can imprve it a bit more for localised messages too, and then make localisation reproducers/unittests much thinner. But this is even another chapter. >> >> Anyway I do not insists. >> >> >> >> > > I do like this idea, and I whipped up a quick utility class for it just now. But a side effect of extracting this logic out into a helper class is that the IOException thrown if the Messages.properties file(s) are not available is now only thrown when the new utility class is used. So in the case of this CacheReproducer, it only happens in the clearCacheUnsuccessfully test method. If something goes wrong in the utility class, eg Messages.properties is not available, then only this test fails. If we want the "stop the whole reproducer" behaviour we'll need to use static blocks or @BeforeClass annotated methods or something to force checking if the resources are available. > > Thanks, > I would consider it as ok :) if you implement properties singleton like this: getSingleton(){ if (singleton=null) then loadSingleton() } getMessage(key){ return getSingleton().getMessage(key) } Then relevant exception will be thrown during each use. So I guess the behaviour will be most correct. Thanx for stitching with it! J. From jvanek at redhat.com Mon Sep 9 04:50:37 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Sep 2013 13:50:37 +0200 Subject: [rfc][icedtea-web] Certificate viewer cleanup In-Reply-To: <522A29F0.8060201@gmx.de> References: <201308291518.r7TFILBG011772@mail-web03.excite.co.jp> <5229A301.1070401@redhat.com> <522A29F0.8060201@gmx.de> Message-ID: <522DB60D.20406@redhat.com> On 09/06/2013 09:16 PM, Jacob Wisor wrote: > Hello there! > > Jiri Vanek wrote: >> On 08/29/2013 05:18 PM, Jacob Wisor wrote: >>> "Jacob Wisor" wrote: >>>>> "Jacob Wisor" wrote: >>>>>>> * Replaced old insufficient certificate viewer's action buttons handling with proper handling >>>>>>> * Made System-level certificates managable if current user has write access to a KeyStore >>>>>>> (usually only root or admin) >>>>>>> * Added informative tool tip to disabled buttons when certificates are unmanagable >>>>>>> * Made certificate table uneditable >>>>>>> * Made certificate info table uneditable >>>>>>> * Made certificate info's descriptive JTextField have the same font size as its info table >>>>>>> for better readability >>>>>>> * Added certificate file filters with Windows/Linux preference >>>>>>> * Added auto-suggested certificate file names when exporting >>>>>>> * Added automatically generated mnemonics >>>>>>> * Made labels link to corresponding JComponents >>>>>>> * Added a border to certificate type label for better readability >>>>>>> * Uniformed border sizes >>>>>>> * Added removing of multiple certificates at once >>>>>>> * Turned some only once occuring fields into static >>>>>>> * Added proper exception handling when setting system look & feel, hence removed superfluous >>>>>>> "throws Exception" from method signatures >>>>>>> >>>>>>> Happy reviewing! >>>>>>> >>>>>>> Jacob >>>>> Pasting in this time. >>>>> >>>>> [...] >>> I have realized I have missed to add a new file to the patch. I have updated the copyright >>> headers too. >>> >> >> Nice job, thank you! I have finally read it through! >> >> ...snip... >> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) >> at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) >> >> >> Both are quite serious as they stop the redrawing of table. > > Same as above, please elaborate on how to reproduce. Well, no important work to do to reproduce - just start _any_ itw-settings, javaws or plugin.... > >> Two ideas - when digging in this, maybe to switch ~/icedtea-web-image/bin/javaws -viewer from >> Dialog to Frame would be nice - at least it will be accesible via alt+tab and maximiseable and so >> on... > > I am not sure whether altering the stand-alone certificate viewer (javaws -viewer) from JDialog to > JFrame is a good idea. On Windows when running with Oracle JRE the dialog is accessible via Alt+Tab > indeed, but it does not show up on the taskbar. I do not recall exactly, so please take my statement > with a grain of salt, this is also Microsoft's intended behavior by design for system control > dialogs in Windows versions prior to Vista. > Regardless of that, I would not advise to move to JFrame because from a usability and UI style-guide > point of view this stand-alone certificate viewer is a true dialog (system control dialog) and is > supposed to be and behave as such. So, maximizing, minimizing, or resizing is probably contradicting > the primary meaning of a quick utility or system control dialog. Hence this concept or UI style > should be kept. Unless we were up to making some new UI for Window's Modern UI or GNOME 3 UI etc. > then it would perhaps make sense to move to some other base UI component class. But, the Java Swing > Framework has been specifically intended and developed as a classic windowing API. There is no other > new UI framework in J2SE yet, so we are stuck with that for now and should also stick to its > style-guide. > Nevertheless, I would accept to have a custom Dialog class extending JFrame made which is going to > shows up on the taskbar specifically and not be resizeable etc. as usual dialogs. > ok. Here we disagree on 100% :) Please take bellow as my personal opinions: - non resizeable dialog window is most evil thing which can happen to any windows manager. - javaws -viewer is 100% stand alone application so it should be jframe (focusable both alt+tab and visible in application bar) - custom jdialog is perhaps to much work for to few - and do not solve the resizeability O:) If you disagree (as you looks you are), please do not include this sugestion in your changeset. If somebody else (me? :) ) will find it worthy of patch, then it will happen and we will see. >> - the tool tip text are pretty good {except {0} error) but are hard to be seen. Most people do not >> hover over disabled button. It would be nice to have them as label on visible(if useful)/invisible >> paanel eg. between buttons and table. > > I have been thinking about it too and came to the conclusion that probably the best solution would > be to either have a small information icon display on the affected buttons, so that users are going > to get some hint as to hover over them or add a status bar at the bottom of the dialog. Yet, both > solutions pose some problems. Adding an icon would actually require adding an icon resource which is > probably not native to the windowing system and may look oddly on many windowing systems. Whereas a > status bar may be to short or would become unproportionally big to present those explanatory > texts/messages (which could of course be shortened). > Anyway, I think it is best to keep the UI controls and their behavior as generic as possible. So, no > dynamic hiding or showing of controls. Disabling and enabling buttons dynamically has been > originally intended to handle the kind of situations we face here, namely making all possible > actions or operations constantly visible to the user, and yet making him or her unintrusively aware > of some actions not being available under certain circumstances. I would rather leave it as is, > unless you can present me some adequate information icon (or perhaps stop icon?). From abowe I like the status bar most. It Can show just part of the error mesage and add text like "hover mouse over button to see the full message). Or there can be something like "You are missing some permissions, hover mouse...", or "All your permissions looks correct" But otherwise I consider the solutions as equally ok and proceed as you wish. > >> Few nits in inline: >> >> >>> CertficateViewer_cleanup.patch >>> >>> >>> diff -r 420d72e5cee7 netx/net/sourceforge/jnlp/resources/Messages.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >>> @@ -275,6 +276,9 @@ >>> SValidity=Validity >>> # Certificate Viewer >>> +CVCannotImport=You can not import certificates of this type because {0} >> >> Those {0} are never avaluated. >> >>> +CVCannotRemove=You can not remove certificates of this type because {0} >> >> The CVCannotImport/CVCannotRemove seems to me randomly switched with CVCause. >> CVCannotImport/CVCannotRemove - are shown when I change certificate type, whether >> CVCause is shown when user/system tab. >> >> I think both are valid at all time, so their concation would be nice. >>> +CVCause=
  • you are not logged in as an administrator,
  • you have no file system write >>> permission to the keystore file,
  • the keystore file is inaccesible via >>> network,
  • the keystore file is write protected by file system attributes,
  • you do >>> not have a FilePermission("write"), or
  • the keystore file is otherwise >>> physically inaccesible.
>>> CVCertificateViewer=Certificates >>> CVCertificateType=Certificate Type >>> CVDetails=Details > > I have made those messages evaluate correctly, but Mercurial has generated an incorrect diff for > some reason... :-o > So, as it seems what you were reviewing was not my correct final version. I assume that this is also > the reason for those runtime exceptions you got. > Sorry... ouch. Please update then patch wehn you will found free cycle. > > While writing this email response, I have checked it manually again and it seems I have found a bug > in Mercurial because although the code in the file is correct the diff to tip does not account for > that. I will have to dig deeper into that before resubmitting this patch for rfc. > >>> @@ -302,6 +303,37 @@ >>> } >>> /** >>> + * Checks whether the specified system-level or user-level {@link KeyStore} >>> + * is writable. >>> + * @param level >>> + * @return {@code true} if the specified {@code KeyStore} is writable, >>> + * {@code false} otherwise >>> + * @see KeyStores.Level >>> + */ >>> + public static final boolean isKeyStoreWriteable(KeyStores.Level level, KeyStores.Type type) { >>> + if (level == null) throw new IllegalArgumentException("level == " + level); >>> + if (type == null) throw new IllegalArgumentException("type == " + type); >>> + >>> + FileOutputStream fileOutputStream = null; >>> + >>> + try { >>> + fileOutputStream = new FileOutputStream(KeyStores.getKeyStoreLocation(level, type), >>> true); >>> + } catch (final FileNotFoundException fileNotFoundException) { >>> + fileOutputStream = null; >>> + } catch (final SecurityException securityException) { >>> + fileOutputStream = null; >>> + } finally { >>> + if (fileOutputStream != null) try { >>> + fileOutputStream.close(); >>> + } catch (final IOException ioException) { >>> + // Don't bother, fileOutputStream is probably closed anyway >>> + } >>> + } >>> + >>> + return fileOutputStream != null; >> >> >> Its really enough? I did not know this "hack". Interesting :) > > It's no hack. What's a hack about it? Just checking whether a file can be opened for writing. Of Sorry for confuse you (Thats why I have used "hack" instead of hack). There is nothing hackhish on this! It was just unknow procedure for me. > course, this only works assuming that the semantics of FileOutputStream are identical across > platforms. But then on the other hand, what would be Java if one was not to assume it, yes even > expect it? FileOutputStream should even conceal perhaps file system driver or OS specific semantics. > In java there is to much switches like If linux then else.. If windows then ...else... So be not so sure about this:( > Btw, with regards to semantics across platforms those adding File.canRead(), File.canWrite(), and > File.canExecute() have f*cked up hard because those methods are utterly OS specific. They should yah :(( Sad example of above :( > have provided a more generic file system access permissions model instead. It is totally > contradicting Java's idea, but that's another story to be told... > >> Please add unittest for anyway. > > I assumed you would say that. ;-) definitely!-) > >>> + } >>> + >> ...snip... >>> * "Issued To" and "Issued By" string pairs for certs. >>> */ >>> private String[][] issuedToAndBy = null; >>> - private final String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; >>> + private final static String[] columnNames = { R("CVIssuedTo"), R("CVIssuedBy") }; >>> + private final static String CER_EXTENSION = "cer", >>> + CRT_EXTENSION = "crt", >>> + PFX_EXTENSION = "pfx", >>> + P12_EXTENSION = "p12", >>> + PKCS12 = "PKCS #12"; >> >> I must say I'm quite confused by this extensions. What are they needed for now? (as they were not >> needed before) > > I have put those Strings constants in because they are used with file filters where they are > functional string parameters as well as simple user-friendly text. If one were to change those (for > what ever reason) the appropriate functional parameters and user-friendly texts will change > accordingly because both are based on the same "original" strings. > If you insist I can put those into the code as literals, but as I said, this goes with losing the > aforementioned convenience and coding safety. fair enough. I have quicky checked the rest of netx and it looks like there is no more of those strings. > >>> - private final CertificateType[] certificateTypes = new CertificateType[] { >>> + private final static CertificateType[] certificateTypes = new CertificateType[] { >> ... >>> userTable = new JTable(null); >>> systemTable = new JTable(null); >>> - disableForSystem = new ArrayList(); >> >> Well I'm not sure about this expansion of array into four separated variables. >> Althoug disableForSystem will become really irrelevant name. >> >> I would go with JComponent[] button = new JComponent{ >>> + this.importButton = new JButton(); >>> + this.exportButton = new JButton(); >>> + this.removeButton = new JButton(); >>> + this.detailButton = new JButton(); >> } >> >> As I believe there are few cases where iteration will win over duplicate code. > > Sounds almost convincing, but why does this kind of helper array have to live and take up memory > space during CertificatePane's entire lifetime when it is currently used by one method only, namely > addComponents()? I would give into it if addComponents() was called very often and thus creating > many throw-away helper arrays would become unacceptably costly. addComponents() is called only once. > So, I do not see any solid reason for doing this. Jsut to think about - Do we need to care about fe bytes long arrays to be garbage-collected - imho not. But we need to take care about errornes of duplicate code. I would really lik to encourage you to proceed with the array. > >>> addComponents(); >>> @@ -139,6 +167,9 @@ >>> } else { >>> currentKeyStoreLevel = Level.SYSTEM; >>> } >>> + this.importButton.setEnabled(this.isKeyStoreWriteable = >>> + KeyStores.isKeyStoreWriteable(this.currentKeyStoreLevel, >>> + this.currentKeyStoreType)); >>> repopulateTables(); >>> } >>> @@ -163,9 +194,11 @@ >>> certificateTypePanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); >>> JLabel certificateTypeLabel = new JLabel(R("CVCertificateType")); >>> + certificateTypeLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5)); >>> certificateTypeCombo = new JComboBox(certificateTypes); >>> certificateTypeCombo.addActionListener(new CertificateTypeListener()); >>> + certificateTypeLabel.setLabelFor(this.certificateTypeCombo); >>> certificateTypePanel.add(certificateTypeLabel, BorderLayout.LINE_START); >>> certificateTypePanel.add(certificateTypeCombo, BorderLayout.CENTER); >>> @@ -173,20 +206,24 @@ >>> JPanel tablePanel = new JPanel(new BorderLayout()); >>> // User Table >>> - DefaultTableModel userTableModel = new DefaultTableModel(issuedToAndBy, columnNames); >>> - userTable.setModel(userTableModel); >>> + userTable.setModel(new NonEditableTableModel(issuedToAndBy, CertificatePane.columnNames)); >>> userTable.getTableHeader().setReorderingAllowed(false); >>> userTable.setFillsViewportHeight(true); >>> + final CertificatePane.CertificateListSelectionListener certificateListSelectionListener; >>> + >>> userTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); >>> + userTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener = >>> + new CertificatePane.CertificateListSelectionListener()); >>> JScrollPane userTablePane = new JScrollPane(userTable); >>> userTablePane.setPreferredSize(TABLE_DIMENSION); >>> userTablePane.setSize(TABLE_DIMENSION); >>> userTablePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); >>> // System Table >>> - DefaultTableModel systemTableModel = new DefaultTableModel(issuedToAndBy, columnNames); >>> - systemTable.setModel(systemTableModel); >>> + systemTable.setModel(new NonEditableTableModel(issuedToAndBy, >>> CertificatePane.columnNames)); >>> systemTable.getTableHeader().setReorderingAllowed(false); >>> systemTable.setFillsViewportHeight(true); >>> + >>> systemTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); >>> + systemTable.getSelectionModel().addListSelectionListener(certificateListSelectionListener); >>> JScrollPane systemTablePane = new JScrollPane(systemTable); >>> systemTablePane.setPreferredSize(TABLE_DIMENSION); >>> systemTablePane.setSize(TABLE_DIMENSION); >>> @@ -199,35 +236,50 @@ >>> JPanel buttonPanel = new JPanel(new FlowLayout()); >>> - String[] buttonNames = { R("CVImport"), R("CVExport"), R("CVRemove"), R("CVDetails") }; >>> - char[] buttonMnemonics = { KeyEvent.VK_I, >>> - KeyEvent.VK_E, >>> - KeyEvent.VK_M, >>> - KeyEvent.VK_D }; >>> - ActionListener[] listeners = { new ImportButtonListener(), >>> - new >>> ExportButtonListener(), >>> - new >>> RemoveButtonListener(), >>> - new >>> DetailsButtonListener() }; >>> - JButton button; >>> + final String[] controlTexts = { >>> + R("CVCertificateType"), >>> + R("CVImport"), >>> + R("CVExport"), >>> + R("CVRemove"), >>> + R("CVDetails"), >>> + R("ButClose") >>> + }; >>> + final Map mnemonicsMap = UI.generateMnemonics(controlTexts); >>> + certificateTypeLabel.setDisplayedMnemonic(mnemonicsMap.get(R("CVCertificateType"))); >>> //get the max width >>> int maxWidth = 0; >>> - for (int i = 0; i < buttonNames.length; i++) { >>> - button = new JButton(buttonNames[i]); >>> + for (int i = 1; i < 5; i++) { >> >> buttonNames.length is definitively better then "5". >>> + JButton button = new JButton(controlTexts[i]); >>> maxWidth = Math.max(maxWidth, button.getMinimumSize().width); >>> } >>> - for (int i = 0; i < buttonNames.length; i++) { >>> - button = new JButton(buttonNames[i]); >>> - button.setMnemonic(buttonMnemonics[i]); >>> - button.addActionListener(listeners[i]); >>> - button.setSize(maxWidth, button.getSize().height); >>> - // import and remove buttons >>> - if (i == 0 || i == 2) { >>> - disableForSystem.add(button); >>> - } >>> - buttonPanel.add(button); >>> - } >> >> Yup, here is the duplicated code. I know there will be some ifs, but really iteration is preferred >> way. >>> + this.importButton.setText(controlTexts[1]); >>> + this.importButton.setMnemonic(mnemonicsMap.get(controlTexts[1])); >>> + this.importButton.addActionListener(new CertificatePane.ImportButtonListener()); >>> + this.importButton.setSize(maxWidth, this.importButton.getSize().height); >>> + buttonPanel.add(this.importButton); >>> + >>> + this.exportButton.setText(controlTexts[2]); >>> + this.exportButton.setMnemonic(mnemonicsMap.get(controlTexts[2])); >>> + this.exportButton.addActionListener(new CertificatePane.ExportButtonListener()); >>> + this.exportButton.setSize(maxWidth, this.exportButton.getSize().height); >>> + this.exportButton.setEnabled(false); >>> + buttonPanel.add(this.exportButton); >>> + >>> + this.removeButton.setText(controlTexts[3]); >>> + this.removeButton.setMnemonic(mnemonicsMap.get(controlTexts[3])); >>> + this.removeButton.addActionListener(new CertificatePane.RemoveButtonListener()); >>> + this.removeButton.setSize(maxWidth, this.removeButton.getSize().height); >>> + this.removeButton.setEnabled(false); >>> + buttonPanel.add(this.removeButton); >>> + >>> + this.detailButton.setText(controlTexts[4]); >>> + this.detailButton.setMnemonic(mnemonicsMap.get(controlTexts[4])); >>> + this.detailButton.addActionListener(new CertificatePane.DetailsButtonListener()); >>> + this.detailButton.setSize(maxWidth, this.detailButton.getSize().height); >>> + this.detailButton.setEnabled(false); >>> + buttonPanel.add(this.detailButton); > > Iteration is definitely possible here, but I fear readability is going to suffer more in this case > than having gains from code compactness. If the number of iterations were in the tenths or more I > would do prefer iteration or size of code before readability. > >>> tablePanel.add(tabbedPane, BorderLayout.CENTER); >>> tablePanel.add(buttonPanel, BorderLayout.SOUTH); >> ...snip... >>> @@ -112,12 +113,16 @@ >>> private static void setSystemLookAndFeel() { >>> try { >>> UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); >>> - } catch (Exception e) { >>> + } catch (ClassNotFoundException classNotFoundException) {} >>> + catch (InstantiationException instantiationException) {} >>> + catch (IllegalAccessException illegalAccessException) {} >>> + catch (UnsupportedLookAndFeelException unsupportedLookAndFeelException) {} >>> + catch (ClassCastException classCastException) { >>> // don't worry if we can't. >>> } >> >> Well, not sure if worthy, but as you wish. I would be proably fan of ex.printstackTrace in case of >> debug on. But I do not isnisits. > > Sure, I can add this. > >>> } >>> - public static void main(String[] args) throws Exception { >>> + public static void main(String[] args) { >>> CertificateViewer.showCertificateViewer(); >>> } >> ... >>> +/** >>> + * Impementation of a certificate viewer. > > :-( typo. I will correct this right away. I'm the last one who can note this. Thank you! > >>> + *

>>> + * The certificate viewer can be accessed via the "Certificates" tab or by >> >> I would add >> * The certificate viewer can be accessed via the "Certificates" tab in itw-settings or by not passed? :( >> >> But do not isnists. >>> + * invoking {@code javaws -viewer} on the command line. >>> + *

>>> + * @see net.sourceforge.jnlp.controlpanel.ControlPanel >>> + */ >> ...snip... >>> + >>> +/** >>> + * This class provides methods and classes for common and recurring tasks while >>> + * dealing with the UI that are not provided by the Java SE platform. >>> + * @since 1.5 >>> + */ >>> +public final class UI { >>> + /** >>> + * Hide the default constructor from instantiating this class, because it is >>> + * a mere collection of diverese helper functionalities encapsulated in either >>> + * static methods or static nested classes. >>> + */ >>> + private UI() { >>> + } >>> + >>> + /** >>> + * Generates corresponding mnemonics to texts of controls like buttons, >>> + * labels, check boxes, radio buttons, or menu items. This method is primarily >>> + * useful for applications which control's texts are loaded from localized >>> + * resources that either lack mnemonics for corresponding controls or when >>> + * storing mnemonics in resources is not desired. >>> + *

NOTE:
>>> + * This method works with Latin, Greek, and Cyrillic alphabets only!

>>> + * This method may produce multiple identical (recurring) mnemonics if a text >>> + * does not have enough distinct letters. >>> + * @todo Add support for right-to-left alphabets and other scripts. >>> + * @param strings A {@link String} array with all Window's or Dialog's >>> + * control's texts that shall get mnemonics >>> + * @return a {@link HashMap} of texts with their corresponding mnemonic characters >>> + */ >> >> Ugh. Although the idea behind this is really _excelent_ I doubt it a bit.Or I doubt its complexity. > > It is possible indeed. ;-) I have checked it. It requires specific code for some languages. And, it > is okay, since we always know what language those texts are. > I did not add support for other alpabets and scripts because I do not know them. In general, for > alphabet scripts it is important to avoid using extended or composed characters as mnemonics as they > may not be directly available on the keyboard. Of course, this may not be possible in every case. > Some languages like Turkish or Vietnamese are quite likely to have words that are comprised of > composed characters entirely, even though these languages use latin alphabets. Hence, in this case > perhaps one is left with no other option than to use composed characters and adding language > specific code to this method. > I never claimed this method to be complete in every aspect. There is always room for improvement, so > why not use it? ;-) > >> Before scratching it - few topics: >> - is really mnemoic based on localisation desired behaviour? I'm in favour that it is not. Mostly >> one simpli look into menu, and when he used this click and find click to often, he remebers the >> mneonic. Maybe it is even better when all alnguages have them same. But you know more about >> localisations then me. > > No, definitely not. Mnemonics are almost always based on controls' texts. One must not assume that > mnemonics in e.g. English - the same letters - will be available with localized texts. For all > alphabet scripts, except for Korean Hangul, localized mnemonics should be provided because this has > been the UI style guide ever since and is relatively easy to implement. If one were to force > identical mnemonics for all languages one would have to mix scripts or alphabets in *one* text (as > this is by UI style guide the case for Chinese, Japanese, and Korean) and would have ugly " > ()" suffixes to texts in scripts and alphabets where it is actually unnecessary. Anyway, > it is a UI style guide principle to have localized mnemonics. > After all, in some regions or for some languages multiple keyboard layouts are used in parallel. > This makes stuff even more complicated. The same applies to accelerators or hot keys. They have to > be localized too. So, some language specific code has to be added in the future anyway. And, as > already mentioned we always know any text's language so it is no problem to put it all into one > method (or maybe sub-methods). > > Actually, I could have added generic mnemonic support for Chinese, Japanese, and Korean because they > use U.S. English mnemonics anyway. But since IcedTea-Web does not support these languages yet, > adding this support should be better left to their specific localizers. > >> - the implementation should allwo default values - especialy for not "Latin, Greek, and Cyrillic " >> or strings which "does not have enough distinct letters" > > As I mentioned above; There is always room for improvement. :-) Let us think about it when > IcedTea-Web is about to get support for other languages. Besides, it is also a legal UI style guide > to have multiple colliding or equal mnemonics when no other options are available. It is even better > to have colliding mnemonics than none. > >> - I think that the implementation is too complicated according what it do (see inline) > > It is always going to be complicated as long as current human languages exist or are in use because > almost all of them are not systematic. And, this is exactly the reason why we have computers in the > first place. We deal with this complexity once and implement it, so that from then on it is handled > by a stupid machine. > >> - first letters of words should be preffered > > If you read closely, they are indeed. ;-) > >> - it will need unittest;) > > Yes, possibly. But, this is going to require a per language unit test which will quickly become very I dont think so. You do not need to do complex tests. Imho very simple test with few input strings anch asserts what is in returned map. They should also serve as documentin what the hell is it dooing (on corner cases) :) Don't forget you do not need properties in this test, so it will become compeltely language-independent. > elaborate.So, I am rather skeptical that it would be a good idea to insist on any unit test in this > case since UI.generateMnemonics() does not provide any core or crucial functionality nor is it > probable for this method to have any side effects (except for throwing an exception itself when fed > with inadequate data) on other parts of the application. > >> I'm in grete favour to remove this from this changeset and proceed it as separate patch. > > Only if you are willing to search for some other open source code that deals with this problem > (generating mnemonics based on language) sufficiently. I doubt you will find anything. ;-) Ugh, I doubt too. But I also doubt of language depndent mnemonics. See - ctrl+c, ctrl+v ctrl+o, ctrl-n, ctrl-s - all are well known international mnemonics. If you can move this to separate changeset, it would really be the best. > >>> + public static Map generateMnemonics(final String[] strings) { >>> + if (strings == null) throw new IllegalArgumentException("strings"); >> >> At lest "input string was null" ;) > > Yep, always check parameters in public methods! :-) > >>> + >>> + final int stringsLength = strings.length; >>> + final HashMap hashMap = new HashMap(stringsLength); >> This to shoudl be final Map hashMap = new HashMap... >> >>> + for (int index = 0; index < stringsLength; index++) { >>> + // Remove all white spaces, because they must not be mnemonics >> >> maybe if (strings[index] == null) throw new IllegalArgumentException("strings") too? > > In this case I would rather prefer to see a NPE pop up and change the documentation to clearly state > that an "array of {@code String}s" is to pass as parameter. Null checking the entire array may take > a while if it is quite long. I do not feel convinced but do as you wish. > >>> + final String s = strings[index], reducedString = >>> s.replaceAll("[^A-Za-z0-9\u0391-\u03A9\u03B1-\u03C9\u0410-\u045F]" >>> /*"[\\s\\p{Punct}\\p{Cntrl}\u0500-\uFFFF]"*/, ""); >> s.replaceAll("/s","") should do the job ;) >> - If you really wont to remove only whitespaces, but I see different in regex. >> - Maybe jsut keep [A-Z,a-z] would be more usefull > > No, it is correct this way. Removing whitespaces only will leave all punctuation, mathematic, > composed characters etc. in place. What is needed here is actually to have acceptable mnemonic Then the comemnt is wrong > characters left over only. Then I would go with simple s.replaceAll("[^A-Za-z0-9]", "" ) > >>> + char mnemonic = '\u0000'; >>> + final int reducedStringLength = reducedString.length(); >>> + for (int charIndex = 0; charIndex < reducedStringLength && >>> hashMap.containsValue(mnemonic = Character.toUpperCase(reducedString.charAt(charIndex))); >>> charIndex++); >> interesting line :) > > Pumped it to death! :-D > Infact, Oracle's and OpenJDK's compiler does produce the most compact and fastest code when > confronted with as little but as complex statements as possible. It is because language level > optimizations in compilers are the easiest to implement and have received the most research > attention, in contrast to bytecode level optimizations for example. Well, Premature optimalization is root of all evil :) Readable code in non-performance-critical parts is much more prefeared then optimized one. So again - I do not feel convinced but do as you wish. > >>> + hashMap.put(s, mnemonic); >>> + } >>> + >>> + return hashMap; >>> + } >>> + >> >> >> I would probably move this to separate calss file. >> >> Also it would be nice to have some smoke test for this, but as I'm not sure of comlexity I do not >> isnists. > > Why? Its purpose is concerned with UI, isn't it? Yes it is. Butit is long enough to deserve it. > >>> + /** >>> + * A table model that is in effect a {@link DefaultTableModel} except for no >>> + * cell being editable. >>> + * @see DefaultTableModel >>> + */ >>> + public static class NonEditableTableModel extends DefaultTableModel { >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @see DefaultTableModel#DefaultTableModel() >>> + */ >>> + public NonEditableTableModel() { >>> + super(); >>> + } >>> + >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @param rowCount the number of rows the table holds >>> + * @param columnCount the number of columns the table holds >>> + * @see DefaultTableModel#DefaultTableModel(int,int) >>> + */ >>> + public NonEditableTableModel(final int rowCount, final int columnCount) { >>> + super(rowCount, columnCount); >>> + } >>> + >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @param data the data of the table >>> + * @param columnNames the names of the columns >>> + * @see DefaultTableModel#DefaultTableModel(Object[][],Object[]) >>> + */ >>> + public NonEditableTableModel(final Object[][] data, final Object[] columnNames) { >>> + super(data, columnNames); >>> + } >>> + >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @param columnNames {@code array} containing the names of the new columns; >>> + * if this is {@code null} then the model has no columns >>> + * @param rowCount the number of rows the table holds >>> + * @see DefaultTableModel#DefaultTableModel(Object[],int) >>> + */ >>> + public NonEditableTableModel(final Object[] columnNames, final int rowCount) { >>> + super(columnNames, rowCount); >>> + } >>> + >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @param columnNames {@code vector} containing the names of the new columns; >>> + * if this is {@code null} then the model has no columns >>> + * @param rowCount the number of rows the table holds >>> + * @see DefaultTableModel#DefaultTableModel(Vector,int) >>> + */ >>> + public NonEditableTableModel(final Vector columnNames, final int rowCount) { >>> + super(columnNames, rowCount); >>> + } >>> + >>> + /** >>> + * Constructs a {@link javax.swing.table.TableModel} that serves only one >>> + * purpose: make cells of certificate tables not editable. >>> + * @param data the data of the table, a {@code Vector} of {@code Vector}s >>> + * of {@code Object} values >>> + * @param columnNames {@code vector} containing the names of the new columns >>> + * @see DefaultTableModel#DefaultTableModel(Vector,Vector) >>> + */ >>> + public NonEditableTableModel(final Vector data, final Vector columnNames) { >>> + super(data, columnNames); >>> + } >>> + >>> + /** >>> + * This method always returns {@code false} to make the table's cells not >>> + * editable. >>> + * @param row the row whose value to be queried >>> + * @param column the column whose value to be queried >>> + * @return always {@code false} >>> + */ >>> + @Override >>> + public boolean isCellEditable(final int row, final int column) { >>> + return false; >>> + } >>> + } >>> +} >>> \ No newline at end of file >>> >> >> >> Again - greate work! Thank you vcery much for it >> >> J. > > I will fix the mentioned nits as soon as possible which though may take quite a while because I am > involved in some other stuff currently. > > Regards, > Jacob From ptisnovs at icedtea.classpath.org Mon Sep 9 05:24:38 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 09 Sep 2013 12:24:38 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltBasicTests test suite. Message-ID: changeset 0ee7c02d1623 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=0ee7c02d1623 author: Pavel Tisnovsky date: Mon Sep 09 14:28:23 2013 +0200 Ten new tests added into BitBltBasicTests test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 152 +++++++++++++++++++++++ 2 files changed, 157 insertions(+), 0 deletions(-) diffs (174 lines): diff -r ae9ab4968fb3 -r 0ee7c02d1623 ChangeLog --- a/ChangeLog Fri Sep 06 15:12:01 2013 +0200 +++ b/ChangeLog Mon Sep 09 14:28:23 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-09 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Ten new tests added into BitBltBasicTests test suite. + 2013-09-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r ae9ab4968fb3 -r 0ee7c02d1623 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Fri Sep 06 15:12:01 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Mon Sep 09 14:28:23 2013 +0200 @@ -5822,6 +5822,158 @@ } /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture3BufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture3Image(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Mon Sep 9 05:27:58 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 09 Sep 2013 12:27:58 +0000 Subject: /hg/rhino-tests: Added new test testAsSubclass into the test sui... Message-ID: changeset ae49fa6139e3 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ae49fa6139e3 author: Pavel Tisnovsky date: Mon Sep 09 14:31:44 2013 +0200 Added new test testAsSubclass into the test suite SimpleBindingsClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/SimpleBindingsClassTest.java | 166 ++++++++++++++++++++++++ 2 files changed, 171 insertions(+), 0 deletions(-) diffs (188 lines): diff -r c42e7838e219 -r ae49fa6139e3 ChangeLog --- a/ChangeLog Fri Sep 06 15:15:25 2013 +0200 +++ b/ChangeLog Mon Sep 09 14:31:44 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-09 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Added new test testAsSubclass into the test suite SimpleBindingsClassTest. + 2013-09-06 Pavel Tisnovsky * src/org/RhinoTests/CompiledScriptClassTest.java: diff -r c42e7838e219 -r ae49fa6139e3 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Fri Sep 06 15:15:25 2013 +0200 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Mon Sep 09 14:31:44 2013 +0200 @@ -1288,6 +1288,172 @@ } /** + * Test for method javax.script.SimpleBindings.getClass().asSubclass() + */ + protected void testAsSubclass() { + try { + this.simpleBindingsClass.asSubclass(simpleBindingsClass); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.simpleBindingsClass.asSubclass(Object.class); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Void.class); + throw new AssertionError("Class.asSubclass(java.lang.Void.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Number.class); + throw new AssertionError("Class.asSubclass(java.lang.Number.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Byte.class); + throw new AssertionError("Class.asSubclass(java.lang.Byte.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Double.class); + throw new AssertionError("Class.asSubclass(java.lang.Double.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Float.class); + throw new AssertionError("Class.asSubclass(java.lang.Float.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Integer.class); + throw new AssertionError("Class.asSubclass(java.lang.Integer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Long.class); + throw new AssertionError("Class.asSubclass(java.lang.Long.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.Short.class); + throw new AssertionError("Class.asSubclass(java.lang.Short.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.String.class); + throw new AssertionError("Class.asSubclass(java.lang.String.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.StringBuffer.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuffer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.lang.StringBuilder.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuilder.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Color.class); + throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Font.class); + throw new AssertionError("Class.asSubclass(java.awt.Font.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Image.class); + throw new AssertionError("Class.asSubclass(java.awt.Image.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(javax.swing.JPanel.class); + throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(javax.swing.JColorChooser.class); + throw new AssertionError("Class.asSubclass(javax.swing.JColorChooser.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(javax.swing.JScrollBar.class); + throw new AssertionError("Class.asSubclass(javax.swing.JScrollBar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(javax.swing.JSlider.class); + throw new AssertionError("Class.asSubclass(javax.swing.JSlider.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for method javax.script.SimpleBindings.getClass().cast() */ protected void testCast() { From andrew at icedtea.classpath.org Mon Sep 9 06:28:30 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Sep 2013 13:28:30 +0000 Subject: /hg/icedtea6: Add release notes for 1.11.13. Message-ID: changeset 1f7c8917ad9c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1f7c8917ad9c author: Andrew John Hughes date: Mon Sep 09 14:28:21 2013 +0100 Add release notes for 1.11.13. 2013-09-09 Andrew John Hughes * NEWS: Add release notes for 1.11.13. diffstat: ChangeLog | 5 +++++ NEWS | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 0 deletions(-) diffs (55 lines): diff -r 0dbdbf696a34 -r 1f7c8917ad9c ChangeLog --- a/ChangeLog Thu Sep 05 19:36:32 2013 +0100 +++ b/ChangeLog Mon Sep 09 14:28:21 2013 +0100 @@ -1,3 +1,8 @@ +2013-09-09 Andrew John Hughes + + * NEWS: + Add release notes for 1.11.13. + 2013-09-05 Andrew John Hughes * Makefile.am: diff -r 0dbdbf696a34 -r 1f7c8917ad9c NEWS --- a/NEWS Thu Sep 05 19:36:32 2013 +0100 +++ b/NEWS Mon Sep 09 14:28:21 2013 +0100 @@ -59,6 +59,39 @@ - JVM_IsVMGeneratedMethodIx stub - Dummy implementation of sun.misc.Perf natives +New in release 1.11.13 (2013-09-06): + +* Backports + - S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY + - S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) + - S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll + - S6636331: ConcurrentModificationException in AppContext code + - S6636370: minor corrections and simplification of code in AppContext + - S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 + - S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 + - S6793818: JpegImageReader is too greedy creating color profiles + - S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 + - S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 + - S6840152: JVM crashes when heavyweight monitors are used + - S6888215: memory leak in jpeg plugin + - S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) + - S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build + - S6989760: cmm native compiler warnings + - S6989774: imageio compiler warnings in native code + - S7000225: Sanity check on sane-alsa-headers is broken + - S7013519: [parfait] Integer overflows in 2D code + - S7018912: [parfait] potential buffer overruns in imageio jpeg + - S7022999: Can't build with FORCE_TIERED=0 + - S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber + - S7196533: TimeZone.getDefault() slow due to synchronization bottleneck + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8014469: (tz) Support tzdata2013c + - S8020054: (tz) Support tzdata2013d + - S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances +* Bug fixes + - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel. + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich + New in release 1.12.6 (2013-07-10): * Security fixes From jvanek at redhat.com Mon Sep 9 06:49:53 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Sep 2013 15:49:53 +0200 Subject: [icedtea-web] RFC: PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: <522A14FF.7020209@redhat.com> References: <522A14FF.7020209@redhat.com> Message-ID: <522DD201.3080008@redhat.com> On 09/06/2013 07:46 PM, Omair Majid wrote: > Hi, > > The attached patch fixes the inheritance of jnlp.packEnabled and > jnlp.versionEnabled properties as seen by JNLPFile for the purposes of > DownloadOptions. If one of those two properties is specified anywhere > acceptable (in a general or os- or arch-specific section), it is applied > to all jars. > > Okay to push? Looks like yes. except the nit on bottom, ok head + 1.4 > > Thanks, > Omair > -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F > 6648 4681 > > > pr1533-02.patch > > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,18 @@ > +2013-09-06 Omair Majid > + > + * netx/net/sourceforge/jnlp/JNLPFile.java > + (getDownloadOptionsForJar): Rename to ... > + (getDownloadOptions): New method. Look up jnlp.packEnabled and > + jnlp.versionEnabled in any resources element. > + * netx/net/sourceforge/jnlp/PluginBridge.java > + (getDownloadOptionsForJar): Rename to ... > + (getDownloadOptions): New method. > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > + (initializeResources): Invoke file.getDownloadResources. > + (getDownloadOptionsForJar): Remove. > + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java > + (testDownloadOptions): New method. > + > 2013-09-04 Andrew Azores > > * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made > diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java > @@ -20,7 +20,6 @@ > > import java.io.IOException; > import java.io.InputStream; > -import java.io.Reader; > import java.net.URL; > import java.util.ArrayList; > import java.util.Arrays; > @@ -791,29 +790,17 @@ > } > > /** > - * XXX: this method does a "==" comparison between the input JARDesc and > - * jars it finds through getResourcesDescs(). If ever the implementation > - * of that function should change to return copies of JARDescs objects, > - * then the "jar == aJar" comparison below should change accordingly. > - * @param jar the jar whose download options to get. > - * @return the download options. > + * @return the download options to use for downloading jars listed in this jnlp file. > */ > - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { > + public DownloadOptions getDownloadOptions() { > boolean usePack = false; > boolean useVersion = false; > - ResourcesDesc[] descs = getResourcesDescs(); > - for (ResourcesDesc desc: descs) { > - JARDesc[] jars = desc.getJARs(); > - for (JARDesc aJar: jars) { > - if (jar == aJar) { > - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { > - usePack = true; > - } > - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { > - useVersion = true; > - } > - } > - } > + ResourcesDesc desc = getResources(); > + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { > + usePack = true; > + } > + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { > + useVersion = true; > } > return new DownloadOptions(usePack, useVersion); > } > diff --git a/netx/net/sourceforge/jnlp/PluginBridge.java b/netx/net/sourceforge/jnlp/PluginBridge.java > --- a/netx/net/sourceforge/jnlp/PluginBridge.java > +++ b/netx/net/sourceforge/jnlp/PluginBridge.java > @@ -228,7 +228,7 @@ > * {@inheritDoc } > */ > @Override > - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { > + public DownloadOptions getDownloadOptions() { > return new DownloadOptions(usePack, useVersion); > } > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -626,7 +626,7 @@ > > tracker.addResource(jars[i].getLocation(), > jars[i].getVersion(), > - getDownloadOptionsForJar(jars[i]), > + file.getDownloadOptions(), > jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE > ); > } > @@ -1966,10 +1966,6 @@ > } > } > > - private DownloadOptions getDownloadOptionsForJar(JARDesc jar) { > - return file.getDownloadOptionsForJar(jar); > - } > - > /** > * Returns a set of paths that indicate the Class-Path entries in the > * manifest file. The paths are rooted in the same directory as the > diff --git a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java > @@ -45,6 +45,7 @@ > import java.util.Map; > > import net.sourceforge.jnlp.JNLPFile.Match; > +import net.sourceforge.jnlp.annotations.Bug; > import net.sourceforge.jnlp.mock.MockJNLPFile; > > import org.junit.Assert; > @@ -208,4 +209,39 @@ > Assert.assertEquals("os2", properties.get("os")); > Assert.assertEquals("arch2", properties.get("arch")); > } > + > + @Bug(id={"PR1533"}) > + @Test > + public void testDownloadOptions() throws MalformedURLException, ParseException { > + String os = System.getProperty("os.name"); > + String arch = System.getProperty("os.arch"); > + > + String jnlpContents = "\n" + > + "\n" + > + " \n" + > + " Parsing Test\n" + > + " IcedTea\n" + > + " \n" + > + " \n" + > + " \n" + > + " " + > + " " + > + " \n" + > + " " + > + " " + > + " \n" + > + " " + > + " " + > + " \n" + > + " \n" + > + ""; > + > + URL codeBase = new URL("http://icedtea.classpath.org"); > + InputStream is = new ByteArrayInputStream(jnlpContents.getBytes()); > + JNLPFile jnlpFile = new JNLPFile(is, codeBase, new ParserSettings(false,false,false)); > + DownloadOptions downloadOptions = jnlpFile.getDownloadOptions(); > + > + Assert.assertTrue(downloadOptions.useExplicitPack()); > + Assert.assertTrue(downloadOptions.useExplicitVersion()); Maybe add test which will set different os and arch, and and will assert false on above? > + } > } > From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 07:07:46 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 14:07:46 +0000 Subject: [Bug 1557] JVM Crash on Latest Amazon EC2 6.0_24-b24 IcedTea6 1.11.11.90 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1557 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|6-1.11.11 |6-1.11.12 Severity|critical |normal --- Comment #1 from Andrew John Hughes --- Do you have a reproducer for this? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/f8bc40c1/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 07:12:05 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 14:12:05 +0000 Subject: [Bug 1559] Not possible to build usable Closure Compiler In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1559 --- Comment #1 from Andrew John Hughes --- org.mozilla.javascript.* is Rhino. Try adding Rhino's js.jar onto the classpath or rebuilding IcedTea with USE="rhino". This will bring in the org.mozilla.javascript classes. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/56037143/attachment.html From aazores at redhat.com Mon Sep 9 08:07:16 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 09 Sep 2013 11:07:16 -0400 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522D7E0B.2010604@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> <522D7E0B.2010604@redhat.com> Message-ID: <522DE424.5030207@redhat.com> On 09/09/2013 03:51 AM, Jiri Vanek wrote: > On 09/06/2013 04:40 PM, Andrew Azores wrote: >> On 09/06/2013 03:11 AM, Jiri Vanek wrote: >>> On 09/05/2013 03:10 PM, Andrew Azores wrote: >>>> (snip) >>>> As Jacob says, I'd rather not throw a chained exception here >>>> because that would cause the entire >>>> reproducer to halt, would it not? But if the messageBundle is not >>>> properly instantiated that's only >>>> really a blocker for one test (clearCacheUnsucessfully). This >>>> exception being consumed would >>>> manifest as a NPE in that later test, which would just result in >>>> that single test failing. Printing >>>> the stack trace is agreeable enough but I don't really think the >>>> entire reproducer needs to stop if >>>> we're going to be unable to run one test. >>>> >>> >>> >>> imho nope. If messages.properties would become unavailable, then it >>> is so crucial that I would be happy even for whole test run failure. >> >> Hm yea, I suppose that's true. However, see below - >> >>> >>> Also not >>> >> } catch (IOException e) { >>> >> e.printStackTrace(); >>> >> } >>> >>> but >>> >>> >> } catch (IOException e) { >>> ServerAccess.logException(ex); >>> >> } >>> >>> (never use stdout/err in testcases, but always appropriate >>> ServerAccess.log* function) >>> >>> >>> >>> In this particular case do as you wish. My recommendation would lead >>> to separate changeset, where you will create static method >>> getMessage(String key) somewhere in >>> test-extensions/net/sourceforge/jnlp/tools (probably new utility >>> class) which will encapsulate the >>> >>>> + private static final String messageResourcePath = >>> >>>> "net/sourceforge/jnlp/resources/Messages.properties"; >>> >>>> + private static PropertyResourceBundle messageBundle = null; >>> >>>> + >>> >>>> + static { >>> >>>> + try { >>> >>>> + messageBundle = >>> >>>> + new >>> >>>> >>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>> >>>> >>> >>>> + } catch (IOException e) { >>> >>> with throw here :) >>> >>> >>>> + } >>> >>>> + } >>> and >>> >>>> + String cacheClearError = >>> messageBundle.getString("CCannotClearCache"); >>> >>> >>> parts. >>> >>> The reason for this is, that the hardocded "evaluate string" is wide >>> spread issue, and I believe some of the failures are because of >>> small change in properties file (eg the "the" removal/addition or >>> something like that) >>> >>> Also you can imprve it a bit more for localised messages too, and >>> then make localisation reproducers/unittests much thinner. But this >>> is even another chapter. >>> >>> Anyway I do not insists. >>> >>> >>> >>> >> >> I do like this idea, and I whipped up a quick utility class for it >> just now. But a side effect of extracting this logic out into a >> helper class is that the IOException thrown if the >> Messages.properties file(s) are not available is now only thrown when >> the new utility class is used. So in the case of this >> CacheReproducer, it only happens in the clearCacheUnsuccessfully test >> method. If something goes wrong in the utility class, eg >> Messages.properties is not available, then only this test fails. If >> we want the "stop the whole reproducer" behaviour we'll need to use >> static blocks or @BeforeClass annotated methods or something to force >> checking if the resources are available. >> >> Thanks, >> > > I would consider it as ok :) > > if you implement properties singleton like this: > > > getSingleton(){ > if (singleton=null) then loadSingleton() > } > > getMessage(key){ > return getSingleton().getMessage(key) > } > > > Then relevant exception will be thrown during each use. So I guess the > behaviour will be most correct. > > Thanx for stitching with it! > > J. > Changelog: * tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java: new helper class for retrieving values from Messages.properties * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: refactor to use new MessageProperties helper class This'll throw an exception whenever you call #getMessage, so individual test methods using this will fail if the resource is not available, but the whole reproducer won't halt. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: CacheReproducer2.patch Type: text/x-patch Size: 4898 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/60f6fd2b/CacheReproducer2.patch From jvanek at redhat.com Mon Sep 9 08:16:47 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Sep 2013 17:16:47 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522DE424.5030207@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> <522D7E0B.2010604@redhat.com> <522DE424.5030207@redhat.com> Message-ID: <522DE65F.2010702@redhat.com> ..snip.. >>>> >>>> >>>> >>> >>> I do like this idea, and I whipped up a quick utility class for it just now. But a side effect of >>> extracting this logic out into a helper class is that the IOException thrown if the >>> Messages.properties file(s) are not available is now only thrown when the new utility class is >>> used. So in the case of this CacheReproducer, it only happens in the clearCacheUnsuccessfully >>> test method. If something goes wrong in the utility class, eg Messages.properties is not >>> available, then only this test fails. If we want the "stop the whole reproducer" behaviour we'll >>> need to use static blocks or @BeforeClass annotated methods or something to force checking if the >>> resources are available. >>> >>> Thanks, >>> >> >> I would consider it as ok :) >> >> if you implement properties singleton like this: >> >> >> getSingleton(){ >> if (singleton=null) then loadSingleton() >> } >> >> getMessage(key){ >> return getSingleton().getMessage(key) >> } >> >> >> Then relevant exception will be thrown during each use. So I guess the behaviour will be most >> correct. >> >> Thanx for stitching with it! >> >> J. >> > > Changelog: > * tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java: new helper class for > retrieving values from Messages.properties > * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: refactor to use new > MessageProperties helper class > > This'll throw an exception whenever you call #getMessage, so individual test methods using this will > fail if the resource is not available, but the whole reproducer won't halt. > > Thanks, > > -- > Andrew A > > > CacheReproducer2.patch > > > diff --git a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java > --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java > +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java > @@ -51,6 +51,7 @@ > import net.sourceforge.jnlp.ProcessResult; > import net.sourceforge.jnlp.annotations.KnownToFail; > import net.sourceforge.jnlp.config.Defaults; > +import net.sourceforge.jnlp.tools.MessageProperties; > import org.junit.AfterClass; > import org.junit.Assert; > > @@ -77,17 +78,6 @@ > "locks" + File.separator + > "netx_running"); > > - private static final String messageResourcePath = "net/sourceforge/jnlp/resources/Messages.properties"; > - private static PropertyResourceBundle messageBundle = null; > - > - static { > - try { > - messageBundle = > - new PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); > - } catch (IOException e) { > - } > - } > - > String testS = "#netx file\n" > + "#Mon Dec 12 16:20:46 CET 2011\n" > + "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" > @@ -284,7 +274,7 @@ > Thread.sleep(1000); > pr = tryToClearcache(); > > - String cacheClearError = messageBundle.getString("CCannotClearCache"); This is incorrect. The message do not need to be en. Although most of us have english locales, the framework should solve this. > + String cacheClearError = MessageProperties.getMessage_en("CCannotClearCache"); > Assert.assertTrue("Stderr should contain " + cacheClearError + ", but did not.", pr.stderr.contains(cacheClearError)); > assertCacheIsNotEmpty(); > } > @@ -325,7 +315,6 @@ > } > > @Test > - @KnownToFail > public void testAlreadyLoadedCached11() throws Exception { > testsBody(CR11, 1); > testsBody(CR11, 2); > diff --git a/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java > new file mode 100644 > --- /dev/null > +++ b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java > @@ -0,0 +1,79 @@ > +package net.sourceforge.jnlp.tools; > + > +import java.util.PropertyResourceBundle; > +import java.io.IOException; > + > +public class MessageProperties { I like this enum! > + > + public enum Locale { > + en, > + de, > + cs, > + pl > + } > + > + private static final String resourcePath = "net/sourceforge/jnlp/resources/Messages"; > + private static final String resourceExtension = ".properties"; I would like see the loaded resources as singletons, and so avoid repeated loading. I would say static final Map can be enough. > + > + /* eg if given locale "de", returns a PropertyResourceBundle using > + * "net/sourceforge/jnlp/resources/Messages_de.properties". > + * if given "en", the same but using "net/sourceforge/jnlp/resources/Messages.properties" > + */ > + private static PropertyResourceBundle getMessageBundleFromLocale(Locale locale) throws IOException { > + final ClassLoader cl = MessageProperties.class.getClassLoader(); > + > + final String localizationCode; > + if (locale == Locale.en) { > + localizationCode = ""; > + } else { > + localizationCode = "_" + locale.toString(); > + } > + > + final String path = resourcePath + localizationCode + resourceExtension; > + return new PropertyResourceBundle(cl.getResourceAsStream(path)); > + } > + > + /** > + * Retrieve a localized message from resource file > + * @param locale the localization of Messages.properties to search > + * @param key > + * @return the message corresponding to the given key from the specified localization > + * @throws IOException if the specified Messages localization is unavailable > + */ The base method for this should be public static String getMessage(String key) throws IOException which will determine the locale and the call getMessage(Locale locale, String key) throws IOException { Also I think I would abandon the getMessage_XXX as they are easily to be used via your enum. But as you already wrote them.. :) And sorry to dig it - this class need unittest.. :( > + public static String getMessage(Locale locale, String key) throws IOException { > + return getMessageBundleFromLocale(locale).getString(key); > + } > + > + /** > + * Convenience method, same as {@link #getMessage(Locale, String)} with the locale > + * set to "en" > + */ > + public static String getMessage_en(String key) throws IOException { > + return getMessage(Locale.en, key); > + } > + > + /** > + * Convenience method, same as {@link #getMessage(Locale, String)} with the locale > + * set to "de" > + */ > + public static String getMessage_de(String key) throws IOException { > + return getMessage(Locale.de, key); > + } > + > + /** > + * Convenience method, same as {@link #getMessage(Locale, String)} with the locale > + * set to "cs" > + */ > + public static String getMessage_cs(String key) throws IOException { > + return getMessage(Locale.cs, key); > + } > + > + /** > + * Convenience method, same as {@link #getMessage(Locale, String)} with the locale > + * set to "pl" > + */ > + public static String getMessage_pl(String key) throws IOException { > + return getMessage(Locale.pl, key); > + } > + > +} > From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 08:18:47 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 15:18:47 +0000 Subject: [Bug 1531] Idk In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1531 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|64-bit |x86_64 Version|7-1.0 |2.1.1 Target Milestone|2.1.1 |--- -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/d778d25d/attachment.html From omajid at icedtea.classpath.org Mon Sep 9 08:33:22 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Mon, 09 Sep 2013 15:33:22 +0000 Subject: /hg/icedtea-web: PR1533: Inherit jnlp.packEnabled and jnlp.versi... Message-ID: changeset f59d6eba666c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f59d6eba666c author: Omair Majid date: Mon Sep 09 11:32:36 2013 -0400 PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties Treat jnlp.packEnabled and jnlp.versionEnabled just like other properties that can be set in one resource element and inherited/filtered in others. 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method. diffstat: ChangeLog | 16 ++++ netx/net/sourceforge/jnlp/JNLPFile.java | 29 ++----- netx/net/sourceforge/jnlp/PluginBridge.java | 2 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 6 +- tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java | 68 ++++++++++++++++++ 5 files changed, 94 insertions(+), 27 deletions(-) diffs (190 lines): diff -r bb8132ebc241 -r f59d6eba666c ChangeLog --- a/ChangeLog Wed Sep 04 13:48:42 2013 -0400 +++ b/ChangeLog Mon Sep 09 11:32:36 2013 -0400 @@ -1,3 +1,19 @@ +2013-09-09 Omair Majid + + * netx/net/sourceforge/jnlp/JNLPFile.java + (getDownloadOptionsForJar): Rename to ... + (getDownloadOptions): New method. Look up jnlp.packEnabled and + jnlp.versionEnabled in any resources element. + * netx/net/sourceforge/jnlp/PluginBridge.java + (getDownloadOptionsForJar): Rename to ... + (getDownloadOptions): New method. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (initializeResources): Invoke file.getDownloadResources. + (getDownloadOptionsForJar): Remove. + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java + (testDownloadOptionsAppliedEverywhere): New method. + (testDownloadOptionsFilteredOut): New method. + 2013-09-04 Andrew Azores * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made diff -r bb8132ebc241 -r f59d6eba666c netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 04 13:48:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Mon Sep 09 11:32:36 2013 -0400 @@ -20,7 +20,6 @@ import java.io.IOException; import java.io.InputStream; -import java.io.Reader; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; @@ -791,29 +790,17 @@ } /** - * XXX: this method does a "==" comparison between the input JARDesc and - * jars it finds through getResourcesDescs(). If ever the implementation - * of that function should change to return copies of JARDescs objects, - * then the "jar == aJar" comparison below should change accordingly. - * @param jar the jar whose download options to get. - * @return the download options. + * @return the download options to use for downloading jars listed in this jnlp file. */ - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { + public DownloadOptions getDownloadOptions() { boolean usePack = false; boolean useVersion = false; - ResourcesDesc[] descs = getResourcesDescs(); - for (ResourcesDesc desc: descs) { - JARDesc[] jars = desc.getJARs(); - for (JARDesc aJar: jars) { - if (jar == aJar) { - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { - usePack = true; - } - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { - useVersion = true; - } - } - } + ResourcesDesc desc = getResources(); + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { + usePack = true; + } + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { + useVersion = true; } return new DownloadOptions(usePack, useVersion); } diff -r bb8132ebc241 -r f59d6eba666c netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Wed Sep 04 13:48:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Mon Sep 09 11:32:36 2013 -0400 @@ -228,7 +228,7 @@ * {@inheritDoc } */ @Override - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { + public DownloadOptions getDownloadOptions() { return new DownloadOptions(usePack, useVersion); } diff -r bb8132ebc241 -r f59d6eba666c netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 04 13:48:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Sep 09 11:32:36 2013 -0400 @@ -626,7 +626,7 @@ tracker.addResource(jars[i].getLocation(), jars[i].getVersion(), - getDownloadOptionsForJar(jars[i]), + file.getDownloadOptions(), jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); } @@ -1966,10 +1966,6 @@ } } - private DownloadOptions getDownloadOptionsForJar(JARDesc jar) { - return file.getDownloadOptionsForJar(jar); - } - /** * Returns a set of paths that indicate the Class-Path entries in the * manifest file. The paths are rooted in the same directory as the diff -r bb8132ebc241 -r f59d6eba666c tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Wed Sep 04 13:48:42 2013 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Mon Sep 09 11:32:36 2013 -0400 @@ -45,6 +45,7 @@ import java.util.Map; import net.sourceforge.jnlp.JNLPFile.Match; +import net.sourceforge.jnlp.annotations.Bug; import net.sourceforge.jnlp.mock.MockJNLPFile; import org.junit.Assert; @@ -208,4 +209,71 @@ Assert.assertEquals("os2", properties.get("os")); Assert.assertEquals("arch2", properties.get("arch")); } + + @Bug(id={"PR1533"}) + @Test + public void testDownloadOptionsAppliedEverywhere() throws MalformedURLException, ParseException { + String os = System.getProperty("os.name"); + String arch = System.getProperty("os.arch"); + + String jnlpContents = "\n" + + "\n" + + " \n" + + " Parsing Test\n" + + " IcedTea\n" + + " \n" + + " \n" + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " \n" + + ""; + + URL codeBase = new URL("http://icedtea.classpath.org"); + InputStream is = new ByteArrayInputStream(jnlpContents.getBytes()); + JNLPFile jnlpFile = new JNLPFile(is, codeBase, new ParserSettings(false,false,false)); + DownloadOptions downloadOptions = jnlpFile.getDownloadOptions(); + + Assert.assertTrue(downloadOptions.useExplicitPack()); + Assert.assertTrue(downloadOptions.useExplicitVersion()); + } + + @Bug(id={"PR1533"}) + @Test + public void testDownloadOptionsFilteredOut() throws MalformedURLException, ParseException { + String jnlpContents = "\n" + + "\n" + + " \n" + + " Parsing Test\n" + + " IcedTea\n" + + " \n" + + " \n" + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " \n" + + ""; + + URL codeBase = new URL("http://icedtea.classpath.org"); + InputStream is = new ByteArrayInputStream(jnlpContents.getBytes()); + JNLPFile jnlpFile = new JNLPFile(is, codeBase, new ParserSettings(false,false,false)); + DownloadOptions downloadOptions = jnlpFile.getDownloadOptions(); + + Assert.assertFalse(downloadOptions.useExplicitPack()); + Assert.assertFalse(downloadOptions.useExplicitVersion()); + } } From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 08:33:31 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 15:33:31 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 --- Comment #8 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=f59d6eba666c author: Omair Majid date: Mon Sep 09 11:32:36 2013 -0400 PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties Treat jnlp.packEnabled and jnlp.versionEnabled just like other properties that can be set in one resource element and inherited/filtered in others. 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/3df5b787/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 08:42:08 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 15:42:08 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 --- Comment #9 from Omair Majid --- I believe the most recent fix solves the problem. Could you build HEAD from source to confirm? Instruction to build/install are available here: http://icedtea.classpath.org/wiki/IcedTea-Web#Getting_IcedTea-Web Use the 'bleeding edge'. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/daf20305/attachment.html From omajid at redhat.com Mon Sep 9 08:55:30 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 09 Sep 2013 11:55:30 -0400 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522DE424.5030207@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> <522D7E0B.2010604@redhat.com> <522DE424.5030207@redhat.com> Message-ID: <522DEF72.1000501@redhat.com> Hi, On 09/09/2013 11:07 AM, Andrew Azores wrote: > On 09/09/2013 03:51 AM, Jiri Vanek wrote: >> if you implement properties singleton like this: >> >> >> getSingleton(){ >> if (singleton=null) then loadSingleton() >> } >> >> getMessage(key){ >> return getSingleton().getMessage(key) >> } This is not thread safe (if that matters). Simply adding 'sycnhronized' to getSingleton will make it much more expensive. Use an enum. It's the simplest way to make a singleton safely: enum Singleton { INSTANCE; } > diff --git a/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java > new file mode 100644 > --- /dev/null > +++ b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java > @@ -0,0 +1,79 @@ > +package net.sourceforge.jnlp.tools; You are missing the license header here. > + /* eg if given locale "de", returns a PropertyResourceBundle using > + * "net/sourceforge/jnlp/resources/Messages_de.properties". > + * if given "en", the same but using "net/sourceforge/jnlp/resources/Messages.properties" > + */ > + private static PropertyResourceBundle getMessageBundleFromLocale(Locale locale) throws IOException { > + final ClassLoader cl = MessageProperties.class.getClassLoader(); > + > + final String localizationCode; > + if (locale == Locale.en) { > + localizationCode = ""; > + } else { > + localizationCode = "_" + locale.toString(); > + } > + > + final String path = resourcePath + localizationCode + resourceExtension; > + return new PropertyResourceBundle(cl.getResourceAsStream(path)); > + } This looks like it's re-inventing the wheel. This fallback is already part of ResourceBundle class [1][2]. You can just use that and avoid implementing this method entirely. As a bonus, you will get support for Country and Variant along with Language. Thanks, Omair [1] http://docs.oracle.com/javase/tutorial/i18n/resbundle/concept.html [2] http://docs.oracle.com/javase/6/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader) -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 09:47:41 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 16:47:41 +0000 Subject: [Bug 1108] jnlp files encoded in not-utf8 encoding with special characters are not loaded In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1108 --- Comment #2 from Omair Majid --- Please let me know how to reproduce this. If there's now way to trigger this incorrect behaviour, I am going to close this as INVALID. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/159ed0f1/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 12:22:06 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 19:22:06 +0000 Subject: [Bug 1557] JVM Crash on Latest Amazon EC2 6.0_24-b24 IcedTea6 1.11.11.90 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1557 --- Comment #2 from Brandon Hudgeons --- I have been unable to construct a reproduceable test case; I'm working to do so, but the crashes are not happening regularly enough to allow me to achieve sufficient focus on where the problem might occur. It is happening now about once every few days on an always-on server. As I said, I'm collecting the crash files; I can attach more of them if it would help. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/b612b420/attachment.html From andrew at icedtea.classpath.org Mon Sep 9 12:29:23 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Sep 2013 19:29:23 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 4 new changesets Message-ID: changeset 85988345bbcc in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=85988345bbcc author: andrew date: Mon Sep 09 20:18:12 2013 +0100 Cleanup file resources properly in TimeZone_md. changeset 4bf5ac86e0e4 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4bf5ac86e0e4 author: andrew date: Mon Sep 09 20:18:21 2013 +0100 Removed tag icedtea-2.4.2 changeset e75bf1c831a5 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e75bf1c831a5 author: andrew date: Mon Sep 09 20:18:25 2013 +0100 Added tag icedtea-2.4.2 for changeset 4bf5ac86e0e4 changeset 5a6e6d2ee57d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5a6e6d2ee57d author: andrew date: Mon Sep 09 20:28:47 2013 +0100 Merge diffstat: .hgtags | 5 +++++ src/solaris/native/java/util/TimeZone_md.c | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diffs (43 lines): diff -r e4526d518dac -r 5a6e6d2ee57d .hgtags --- a/.hgtags Fri Sep 06 21:36:31 2013 +0100 +++ b/.hgtags Mon Sep 09 20:28:47 2013 +0100 @@ -355,3 +355,8 @@ e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +e4526d518dacc59adc253c7a6f49a79441d4e3d9 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +4bf5ac86e0e46f1d8eafa18fa64c442666975f6a icedtea-2.4.2 diff -r e4526d518dac -r 5a6e6d2ee57d src/solaris/native/java/util/TimeZone_md.c --- a/src/solaris/native/java/util/TimeZone_md.c Fri Sep 06 21:36:31 2013 +0100 +++ b/src/solaris/native/java/util/TimeZone_md.c Mon Sep 09 20:28:47 2013 +0100 @@ -250,6 +250,7 @@ } } (void) fclose(fp); + fp = NULL; if (tz != NULL) { return tz; } @@ -306,12 +307,15 @@ tz = strdup(p); break; } - (void) fclose(fp); - if (tz != NULL) { - return tz; - } } } + if (fp != NULL) { + (void) fclose(fp); + fp = NULL; + } + if (tz != NULL) { + return tz; + } } /* From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 14:03:38 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Sep 2013 21:03:38 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 --- Comment #10 from mnl at mnl.de --- Works, great. Hope it will find its way downstream in less than a year. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130909/bbae2f3c/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Sep 9 18:14:35 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 01:14:35 +0000 Subject: [Bug 1559] Not possible to build usable Closure Compiler In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1559 --- Comment #2 from Andrew Udvare --- I tried both. None worked. Still getting the same error. What this project attempts to do during the build process is re-namespace a forked copy of Rhino from org/mozilla/* to com/google/rhino, as seen with this target in their build.xml: I do not know how I could verify that this step is performed successfully. Could it be that com.tonicsystems.jarjar.JarJarTask is not working properly with ant? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/c639c0eb/attachment.html From ptisnovs at icedtea.classpath.org Tue Sep 10 04:43:27 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 10 Sep 2013 11:43:27 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset caa2fc835dda in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=caa2fc835dda author: Pavel Tisnovsky date: Tue Sep 10 13:47:12 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite InvocableClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/InvocableClassTest.java | 190 +++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) diffs (213 lines): diff -r ae49fa6139e3 -r caa2fc835dda ChangeLog --- a/ChangeLog Mon Sep 09 14:31:44 2013 +0200 +++ b/ChangeLog Tue Sep 10 13:47:12 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-10 Pavel Tisnovsky + + * src/org/RhinoTests/InvocableClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite InvocableClassTest. + 2013-09-09 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r ae49fa6139e3 -r caa2fc835dda src/org/RhinoTests/InvocableClassTest.java --- a/src/org/RhinoTests/InvocableClassTest.java Mon Sep 09 14:31:44 2013 +0200 +++ b/src/org/RhinoTests/InvocableClassTest.java Tue Sep 10 13:47:12 2013 +0200 @@ -1230,6 +1230,196 @@ } /** + * Test for method javax.script.Invocable.getClass().cast() + */ + protected void testCast() { + try { + this.invocableClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.invocableClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Invocable */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Tue Sep 10 04:45:12 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 10 Sep 2013 11:45:12 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 5fa126508a12 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=5fa126508a12 author: Pavel Tisnovsky date: Tue Sep 10 13:48:58 2013 +0200 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r 0ee7c02d1623 -r 5fa126508a12 ChangeLog --- a/ChangeLog Mon Sep 09 14:28:23 2013 +0200 +++ b/ChangeLog Tue Sep 10 13:48:58 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-10 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2013-09-09 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r 0ee7c02d1623 -r 5fa126508a12 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Sep 09 14:28:23 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Sep 10 13:48:58 2013 +0200 @@ -3602,6 +3602,156 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.green); + } + + /** * Entry point to the test suite. * * @param args not used in this case From gitne at gmx.de Tue Sep 10 05:24:12 2013 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 10 Sep 2013 14:24:12 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <5225FB0A.4080504@redhat.com> References: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> <5225FB0A.4080504@redhat.com> Message-ID: <522F0F6C.1080604@gmx.de> Hello, Jiri Vanek wrote: > On 09/03/2013 04:38 PM, Jacob Wisor wrote: >> "Jiri Vanek" wrote: >>> On 08/01/2013 05:14 PM, Jacob Wisor wrote: >>>> Hello, >>>> >>>> * Made temporary files location JFileChooser open at the currently specified location >>>> * Made temporary files location JFileChooser display a helpful title >>>> * Removed misleading "All Files" file filter from JFileChooser >>>> * Added new message to resources for JFileChooser's choose button >>>> * Fixed a few inconsistent messages in resource files >>> Thank you, such an "make it looks better" contributions are more then welcomed! >>>> @Jiri >>>> Please add a cs translation for the new "TIFPFileChooserChooseButton" message. >>> It will be "Vybrat", but I prefer to sync the translations in longer time periods in bulk. >> I understand. Please see further down. >> >>>> >>>> Temporary files FileChooser cleanup.patch >>>> >>>> >>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>> --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>> +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>> @@ -109,10 +109,12 @@ >>>> bLocation.addActionListener(new ActionListener() { >>>> @Override >>>> public void actionPerformed(ActionEvent e) { >>>> - JFileChooser fileChooser = new JFileChooser(); >>>> + JFileChooser fileChooser = new JFileChooser(location.getText()); >>> Tehre maybe should be some check if the location give sense. But The jefilechooser is probably handling this. >> This UI code should not check the location.getText()'s value. If anyone were to blame, it should be the job of the configuration loader/saver. And, as you have mentioned correctly JFileChooser will either not get constructed when its parameter value is not a correct path or it is going to be constructed with JFileChooser's default path (e.g. "My documents" on Windows or "~" on Un*x systems). >> >>>> fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); >>>> fileChooser.setFileHidingEnabled(false); >>>> - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { >>>> + fileChooser.setAcceptAllFileFilterUsed(false); >>> Why this? Isn't selection restricted enough by JFileChooser.DIRECTORIES_ONLY ? >> Because JFileChooser does not actually present a pure directory-chooser (like in Win32 API for example) when JFileChooser.DIRECTORIES_ONLY is set. The usual (swing) JFileChooser for files is being displayed. And, although AllFilesFilter does not present files even when selected it is simply misleading in this case. As always, the rule of thumb is to display as little UI elements as possible but enough as necessary only. >> >>>> + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); >>>> + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { >>>> // Check if we have permission to write to that location. >>>> String result = fileChooser.getSelectedFile().getAbsolutePath(); >>>> File dirLocation = new File(result); >>>> @@ -242,4 +244,4 @@ >>>> >>>> config.setProperty(properties[2], spCacheSize.getValue().toString()); >>>> } >>>> -} >>>> +} >>>> No newline at end of file >>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages.properties >>>> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >>>> @@ -291,7 +292,7 @@ >>>> CVUser=User >>>> CVSystem=System >>>> >>>> -#KeyStores: see KeyStores.java >>>> +# KeyStores: see KeyStores.java >>>> KS=KeyStore >>>> KSCerts=Trusted Certificates >>>> KSJsseCerts=Trusted JSSE Certificates >>>> @@ -461,6 +462,7 @@ >>>> TIFPCacheSize=Set the amount of disk space for storing temporary files >>>> TIFPDeleteFiles=Delete files >>>> TIFPViewFiles=View files... >>>> +TIFPFileChooserChooseButton=Choose >>> >>> It will be "Vybrat" >> Thank you, I am going to add this since it is no big issue. >> >>>> # Control Panel - Cache Viewer >>>> CVCPDialogTitle=Cache Viewer >>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>> @@ -278,6 +278,7 @@ >>>> CVUser=Uu017eivatel >>>> CVSystem=Systu00e9m >>>> >>>> +# KeyStores: see KeyStores.java >>>> KS=u00dalou017eiu0161tu011b klu00edu010du016f >>>> KSCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty >>>> KSJsseCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty JSSE >>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>> @@ -193,9 +194,10 @@ >>>> BOAbout=Zeigt eine Beispielanwendung. >>>> BONosecurity=Deaktiviert die sichere Laufzeitumgebung. >>>> BONoupdate=Deaktiviert die Pru00fcfung nach Aktualisierungen. >>>> -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberflu00e4chen. >>>> +BOHeadless=Deaktiviert Herunterladefenster und anderen Benutzeroberflu00e4chen. >>> >>> hmhmh, this.. "anderen Benutzeroberfl" loong space is caused by reason? Was it intentional split by "n" or unwilling action? >>> I would rather prefer single lines, as it is already an custom in itw properties. >> The reason for adding those spaces is because these messages are meant or supposed to be limited to 72 or 80 (don't recall the exact number while writing this email anymore) chars, but some do not fit this limit and have to be extended nicely. It simply looks cleaner when long messages are wrapped manually on that boundry instead of bluntly continuing without perhaps proper hyphenation. >> >>>> BOStrict=Aktiviert die strikte Pru00fcfung des JNLP-Dateiformats. >>>> BOViewer=Zeigt die Ansicht der vertrauenswu00fcrdigen Zertifikate. >>>> +BOXml=Verwendet einen strikten XML-Parser fu00fcr die JNLP-Datei. >>>> BXnofork=Keine weitere JVM erstellen. >>>> BXclearcache=Den JNLP-Anwendungszwischenspeicher su00e4ubern. >>>> BXignoreheaders=Die Pru00fcfung der Metadaten von Jar-Dateien auslassen. >>>> @@ -285,6 +287,7 @@ >>>> CVUser=Benutzer >>>> CVSystem=System >>>> >>>> +# KeyStores: see KeyStores.java >>>> KS=Schlu00fcsselspeicher >>>> KSCerts=Vertrauenswu00fcrdige Zertifikate >>>> KSJsseCerts=Vertrauenswu00fcrdige JSSE Zertifikate >>>> @@ -454,6 +457,7 @@ >>>> TIFPCacheSize=Menge des Plattenplatzes zur Speicherung temporu00e4rer Dateien >>>> TIFPDeleteFiles=Dateien lu00f6schen >>>> TIFPViewFiles=Dateien anzeigen... >>>> +TIFPFileChooserChooseButton=Auswu00e4hlen >>>> >>>> # Control Panel - Cache Viewer >>>> CVCPDialogTitle=Zwischenspeicheranzeige >>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>> @@ -196,6 +197,7 @@ >>>> BOHeadless=Wyu0142u0105cza okno pobierania i inne interfejsy graficzne >>>> BOStrict=Wu0142u0105cza u015bcisu0142e sprawdzanie format pliku JNLP >>>> BOViewer=Pokazuje podglu0105d zaufanych certyfikatu00f3w >>>> +BOXml=Stosuje u015bcisu0142y analizator sku0142adniowy XML do analizyn pliku JNLP >>>> BXnofork=Nie twu00f3rz nastu0119pnej JVM >>>> BXclearcache=Wyczyu015bu0107 pamiu0119u0107 podru0119cznu0105 aplikacji JNLP >>>> BXignoreheaders=Pomijaj weryfikacju0119 nagu0142u00f3wku00f3w pliku00f3w jar >>>> @@ -285,6 +287,7 @@ >>>> CVUser=Uu017cytkownik >>>> CVSystem=System >>>> >>>> +# KeyStores: see KeyStores.java >>>> KS=Baza kluczy >>>> KSCerts=Zaufane certyfikaty >>>> KSJsseCerts=Zaufane certyfikaty JSSE >>>> @@ -454,6 +457,7 @@ >>>> TIFPCacheSize=Nastaw wielkou015bu0107 miejsca na dysku do sku0142adowania pliku00f3w tymczasowych >>>> TIFPDeleteFiles=Usuu0144 pliki >>>> TIFPViewFiles=Przeglu0105daj pliki... >>>> +TIFPFileChooserChooseButton=Wybierz >>>> >>>> # Control Panel - Cache Viewer >>>> CVCPDialogTitle=Podglu0105d pamiu0119ci podru0119cznej >>> Thank you very much to stitch with it and sorry for nits! >> No problem and thank you for reviewing. After all, I will take this as a "yes to push". > > Please post final version of patch to this list. (with "Vvybrat") and with non-split lines. Unless you heavily insists. But I would rather stay with "as is properties style" > Otherwise I'm happy with patch. Although I do have a different opinion on javaws' switch description formatting, I have given in to Jiri's plea and reformatted messages in question. I have also added "TIFPFileChooserChooseButton=Vybrat" to Messages_cs.properties. This is my final version for review. I won't make any further modifications to this patch. If somebody feels displeased, is free do them himself. Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: Temporary files JFileChooser cleanup.patch Type: text/x-patch Size: 5565 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/56434803/TemporaryfilesJFileChoosercleanup.patch From jvanek at redhat.com Tue Sep 10 06:10:34 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 10 Sep 2013 15:10:34 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <522F0F6C.1080604@gmx.de> References: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> <5225FB0A.4080504@redhat.com> <522F0F6C.1080604@gmx.de> Message-ID: <522F1A4A.40804@redhat.com> On 09/10/2013 02:24 PM, Jacob Wisor wrote: > Hello, > > Jiri Vanek wrote: >> On 09/03/2013 04:38 PM, Jacob Wisor wrote: >>> "Jiri Vanek" wrote: >>>> On 08/01/2013 05:14 PM, Jacob Wisor wrote: >>>>> Hello, >>>>> >>>>> * Made temporary files location JFileChooser open at the currently specified location >>>>> * Made temporary files location JFileChooser display a helpful title >>>>> * Removed misleading "All Files" file filter from JFileChooser >>>>> * Added new message to resources for JFileChooser's choose button >>>>> * Fixed a few inconsistent messages in resource files >>>> Thank you, such an "make it looks better" contributions are more then welcomed! >>>>> @Jiri >>>>> Please add a cs translation for the new "TIFPFileChooserChooseButton" message. >>>> It will be "Vybrat", but I prefer to sync the translations in longer time periods in bulk. >>> I understand. Please see further down. >>> >>>>> >>>>> Temporary files FileChooser cleanup.patch >>>>> >>>>> >>>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>>> --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>>> +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java >>>>> @@ -109,10 +109,12 @@ >>>>> bLocation.addActionListener(new ActionListener() { >>>>> @Override >>>>> public void actionPerformed(ActionEvent e) { >>>>> - JFileChooser fileChooser = new JFileChooser(); >>>>> + JFileChooser fileChooser = new JFileChooser(location.getText()); >>>> Tehre maybe should be some check if the location give sense. But The jefilechooser is probably handling this. >>> This UI code should not check the location.getText()'s value. If anyone were to blame, it should be the job of the configuration loader/saver. And, as you have mentioned correctly JFileChooser will either not get constructed when its parameter value is not a correct path or it is going to be constructed with JFileChooser's default path (e.g. "My documents" on Windows or "~" on Un*x systems). >>> >>>>> fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); >>>>> fileChooser.setFileHidingEnabled(false); >>>>> - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { >>>>> + fileChooser.setAcceptAllFileFilterUsed(false); >>>> Why this? Isn't selection restricted enough by JFileChooser.DIRECTORIES_ONLY ? >>> Because JFileChooser does not actually present a pure directory-chooser (like in Win32 API for example) when JFileChooser.DIRECTORIES_ONLY is set. The usual (swing) JFileChooser for files is being displayed. And, although AllFilesFilter does not present files even when selected it is simply misleading in this case. As always, the rule of thumb is to display as little UI elements as possible but enough as necessary only. >>> >>>>> + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); >>>>> + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { >>>>> // Check if we have permission to write to that location. >>>>> String result = fileChooser.getSelectedFile().getAbsolutePath(); >>>>> File dirLocation = new File(result); >>>>> @@ -242,4 +244,4 @@ >>>>> >>>>> config.setProperty(properties[2], spCacheSize.getValue().toString()); >>>>> } >>>>> -} >>>>> +} >>>>> No newline at end of file >>>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages.properties >>>>> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >>>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >>>>> @@ -291,7 +292,7 @@ >>>>> CVUser=User >>>>> CVSystem=System >>>>> >>>>> -#KeyStores: see KeyStores.java >>>>> +# KeyStores: see KeyStores.java >>>>> KS=KeyStore >>>>> KSCerts=Trusted Certificates >>>>> KSJsseCerts=Trusted JSSE Certificates >>>>> @@ -461,6 +462,7 @@ >>>>> TIFPCacheSize=Set the amount of disk space for storing temporary files >>>>> TIFPDeleteFiles=Delete files >>>>> TIFPViewFiles=View files... >>>>> +TIFPFileChooserChooseButton=Choose >>>> >>>> It will be "Vybrat" >>> Thank you, I am going to add this since it is no big issue. >>> >>>>> # Control Panel - Cache Viewer >>>>> CVCPDialogTitle=Cache Viewer >>>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>>>> @@ -278,6 +278,7 @@ >>>>> CVUser=Uu017eivatel >>>>> CVSystem=Systu00e9m >>>>> >>>>> +# KeyStores: see KeyStores.java >>>>> KS=u00dalou017eiu0161tu011b klu00edu010du016f >>>>> KSCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty >>>>> KSJsseCerts=Du016fvu011bryhodnu00e9 certifiku00e1ty JSSE >>>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties >>>>> @@ -193,9 +194,10 @@ >>>>> BOAbout=Zeigt eine Beispielanwendung. >>>>> BONosecurity=Deaktiviert die sichere Laufzeitumgebung. >>>>> BONoupdate=Deaktiviert die Pru00fcfung nach Aktualisierungen. >>>>> -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberflu00e4chen. >>>>> +BOHeadless=Deaktiviert Herunterladefenster und anderen Benutzeroberflu00e4chen. >>>> >>>> hmhmh, this.. "anderen Benutzeroberfl" loong space is caused by reason? Was it intentional split by "n" or unwilling action? >>>> I would rather prefer single lines, as it is already an custom in itw properties. >>> The reason for adding those spaces is because these messages are meant or supposed to be limited to 72 or 80 (don't recall the exact number while writing this email anymore) chars, but some do not fit this limit and have to be extended nicely. It simply looks cleaner when long messages are wrapped manually on that boundry instead of bluntly continuing without perhaps proper hyphenation. >>> >>>>> BOStrict=Aktiviert die strikte Pru00fcfung des JNLP-Dateiformats. >>>>> BOViewer=Zeigt die Ansicht der vertrauenswu00fcrdigen Zertifikate. >>>>> +BOXml=Verwendet einen strikten XML-Parser fu00fcr die JNLP-Datei. >>>>> BXnofork=Keine weitere JVM erstellen. >>>>> BXclearcache=Den JNLP-Anwendungszwischenspeicher su00e4ubern. >>>>> BXignoreheaders=Die Pru00fcfung der Metadaten von Jar-Dateien auslassen. >>>>> @@ -285,6 +287,7 @@ >>>>> CVUser=Benutzer >>>>> CVSystem=System >>>>> >>>>> +# KeyStores: see KeyStores.java >>>>> KS=Schlu00fcsselspeicher >>>>> KSCerts=Vertrauenswu00fcrdige Zertifikate >>>>> KSJsseCerts=Vertrauenswu00fcrdige JSSE Zertifikate >>>>> @@ -454,6 +457,7 @@ >>>>> TIFPCacheSize=Menge des Plattenplatzes zur Speicherung temporu00e4rer Dateien >>>>> TIFPDeleteFiles=Dateien lu00f6schen >>>>> TIFPViewFiles=Dateien anzeigen... >>>>> +TIFPFileChooserChooseButton=Auswu00e4hlen >>>>> >>>>> # Control Panel - Cache Viewer >>>>> CVCPDialogTitle=Zwischenspeicheranzeige >>>>> diff -r f1eaa1ee7891 netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>>> --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>>> +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties >>>>> @@ -196,6 +197,7 @@ >>>>> BOHeadless=Wyu0142u0105cza okno pobierania i inne interfejsy graficzne >>>>> BOStrict=Wu0142u0105cza u015bcisu0142e sprawdzanie format pliku JNLP >>>>> BOViewer=Pokazuje podglu0105d zaufanych certyfikatu00f3w >>>>> +BOXml=Stosuje u015bcisu0142y analizator sku0142adniowy XML do analizyn pliku JNLP >>>>> BXnofork=Nie twu00f3rz nastu0119pnej JVM >>>>> BXclearcache=Wyczyu015bu0107 pamiu0119u0107 podru0119cznu0105 aplikacji JNLP >>>>> BXignoreheaders=Pomijaj weryfikacju0119 nagu0142u00f3wku00f3w pliku00f3w jar >>>>> @@ -285,6 +287,7 @@ >>>>> CVUser=Uu017cytkownik >>>>> CVSystem=System >>>>> >>>>> +# KeyStores: see KeyStores.java >>>>> KS=Baza kluczy >>>>> KSCerts=Zaufane certyfikaty >>>>> KSJsseCerts=Zaufane certyfikaty JSSE >>>>> @@ -454,6 +457,7 @@ >>>>> TIFPCacheSize=Nastaw wielkou015bu0107 miejsca na dysku do sku0142adowania pliku00f3w tymczasowych >>>>> TIFPDeleteFiles=Usuu0144 pliki >>>>> TIFPViewFiles=Przeglu0105daj pliki... >>>>> +TIFPFileChooserChooseButton=Wybierz >>>>> >>>>> # Control Panel - Cache Viewer >>>>> CVCPDialogTitle=Podglu0105d pamiu0119ci podru0119cznej >>>> Thank you very much to stitch with it and sorry for nits! >>> No problem and thank you for reviewing. After all, I will take this as a "yes to push". >> >> Please post final version of patch to this list. (with "Vvybrat") and with non-split lines. Unless you heavily insists. But I would rather stay with "as is properties style" >> Otherwise I'm happy with patch. > > Although I do have a different opinion on javaws' switch description formatting, I have given in to Jiri's plea and reformatted messages in question. > > I have also added "TIFPFileChooserChooseButton=Vybrat" to Messages_cs.properties. > > This is my final version for review. I won't make any further modifications to this patch. If somebody feels displeased, is free do them himself. > Yup, go on and push. Please do not forget to add correct Chnagelog entry (If you are not sure with it, feel free to post it for review before push!) Thank you for contribution! J. From andrew at icedtea.classpath.org Tue Sep 10 09:03:37 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:03:37 +0000 Subject: /hg/release/icedtea7-2.4: 6 new changesets Message-ID: changeset 2c63ffcca0e4 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=2c63ffcca0e4 author: Andrew John Hughes date: Thu Sep 05 15:33:45 2013 +0100 Update NEWS with latest OpenJDK changes. 2013-09-05 Andrew John Hughes * NEWS: Add new OpenJDK changes, remove duplicates listed in 2.4.0 which were in earlier security releases. changeset 103457918876 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=103457918876 author: Andrew John Hughes date: Thu Jul 25 01:33:41 2013 +0100 Re-enable system LCMS is 2.5 or above is available. 2013-07-24 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Turn system LCMS back on by default if the version is 2.5 or above with the latest security fixes. changeset e7a6203cee05 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=e7a6203cee05 author: Andrew John Hughes date: Thu Sep 05 15:49:42 2013 +0100 Mention LCMS 2 change. 2013-07-24 Andrew John Hughes * NEWS: Mention LCMS 2 change. changeset 523f48931154 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. changeset 86332904c46e in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=86332904c46e author: Andrew John Hughes date: Tue Sep 10 15:55:35 2013 +0100 RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors RH995488: Java thinks that the default timezone is Busingen instead of Zurich 2013-09-09 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Update to final icedtea-2.4.2 tag. (JDK_SHA256SUM): Likewise. * NEWS: Update with additional JDK bug fixes RH661505 & RH995488. changeset 41272f3d7393 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=41272f3d7393 author: Andrew John Hughes date: Tue Sep 10 17:03:29 2013 +0100 Make versioning variables more obvious and name tarballs better. 2013-09-10 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Renamed from OPENJDK_VERSION. (COMBINED_VERSION): Use BUILD_VERSION. (ICEDTEA_ENV): Likewise. (dist-openjdk): Should really use COMBINED_VERSION. (dist-openjdk-fsg): Likewise. (dist-openjdk-fsg-tz): Additional target which makes an xz tarball instead of a zip (for Jiri ;) diffstat: ChangeLog | 62 +++++++++++++++++++++++++++ INSTALL | 3 + Makefile.am | 25 ++++++++--- NEWS | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- acinclude.m4 | 44 ++++++++++++++++-- configure.ac | 2 + 6 files changed, 237 insertions(+), 31 deletions(-) diffs (431 lines): diff -r 273d9d59b77b -r 41272f3d7393 ChangeLog --- a/ChangeLog Thu Sep 05 00:21:03 2013 +0100 +++ b/ChangeLog Tue Sep 10 17:03:29 2013 +0100 @@ -1,3 +1,65 @@ +2013-09-10 Andrew John Hughes + + * Makefile.am: + (BUILD_VERSION): Renamed from OPENJDK_VERSION. + (COMBINED_VERSION): Use BUILD_VERSION. + (ICEDTEA_ENV): Likewise. + (dist-openjdk): Should really use COMBINED_VERSION. + (dist-openjdk-fsg): Likewise. + (dist-openjdk-fsg-tz): Additional target which + makes an xz tarball instead of a zip (for Jiri ;) + +2013-09-09 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Update to final icedtea-2.4.2 + tag. + (JDK_SHA256SUM): Likewise. + * NEWS: Update with additional JDK bug fixes + RH661505 & RH995488. + +2013-09-09 Andrew John Hughes + + * NEWS: Mention RH991170, PR1536, PR1551, PR1552, + PR1553 and PR1554. + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm + and support arm64|aarch64. + (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD + for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with + sparcv9 which is what INSTALL_ARCH_DIR is set to. + +2013-08-30 Andrew John Hughes + + * INSTALL: Update with --enable-system-kerberos + option. + * Makefile.am: + (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS + and KRB5_CFLAGS. + * acinclude.m4: + (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos + option (on by default) which checks for libkrb5 and + the krb5.h header. + * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. + +2013-07-24 Andrew John Hughes + + * NEWS: Mention LCMS 2 change. + +2013-07-24 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Turn system LCMS back on by + default if the version is 2.5 or above with the + latest security fixes. + +2013-09-05 Andrew John Hughes + + * NEWS: + Add new OpenJDK changes, remove duplicates + listed in 2.4.0 which were in earlier + security releases. + 2013-09-04 Andrew John Hughes * Makefile.am, diff -r 273d9d59b77b -r 41272f3d7393 INSTALL --- a/INSTALL Thu Sep 05 00:21:03 2013 +0100 +++ b/INSTALL Tue Sep 10 17:03:29 2013 +0100 @@ -201,6 +201,9 @@ * --with-rhino: Include Javascript support using Rhino (location may optionally be specified). * --with-additional-vms=vm-list: Additional VMs to build using the system described below. +* --enable-system-kerberos: Link against the system Kerberos library and + query it at runtime to obtain the cache location, rather than using a + hardcoded value. Testing ======= diff -r 273d9d59b77b -r 41272f3d7393 Makefile.am --- a/Makefile.am Thu Sep 05 00:21:03 2013 +0100 +++ b/Makefile.am Tue Sep 10 17:03:29 2013 +0100 @@ -1,20 +1,20 @@ # Dependencies -OPENJDK_VERSION = b60 JDK_UPDATE_VERSION = 40 -COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) +BUILD_VERSION = b60 +COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) CORBA_CHANGESET = 5ea58899ae9f JAXP_CHANGESET = 135f46e0e653 JAXWS_CHANGESET = a2ff16e5361f -JDK_CHANGESET = b2611b1a750c +JDK_CHANGESET = 4bf5ac86e0e4 LANGTOOLS_CHANGESET = 06ea051f7ffe OPENJDK_CHANGESET = 6125b83238df CORBA_SHA256SUM = 41fc9041d7804bbd519290325c0a21b48405ed96ccf557037189b007391d33a8 JAXP_SHA256SUM = 3e043ea822cf18232fb0897431a2c900c8d29dce59e33bd8e3236ed1ac6c8fde JAXWS_SHA256SUM = ac21931af93267188fb6dac8ed5eb44121e25e55fe432c19184c20c17cc9ceda -JDK_SHA256SUM = e6475b1db792fa58530cef272b1aad6176eca8bd4822f6a58ed27f4d84df2437 +JDK_SHA256SUM = 8cc46ef5d73a3a6445b411637fee5cc5f086e400d42b36f1f42eba4caee2a11a LANGTOOLS_SHA256SUM = d2de1d2e98ebea56d2367f0003e5f4b5031d55ed529a7c524df8eba9da08c735 OPENJDK_SHA256SUM = bc5703a7c31a6f1de53259768f613fa1f451d721d3301c58a59513dc3953d95b @@ -433,7 +433,7 @@ ICEDTEA_ENV = \ ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ - BUILD_NUMBER="$(OPENJDK_VERSION)" \ + BUILD_NUMBER="$(BUILD_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.7.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ @@ -586,6 +586,13 @@ COMPRESS_JARS="true" endif +if USE_SYSTEM_KERBEROS +ICEDTEA_ENV += \ + SYSTEM_KRB5="true" \ + KRB5_LIBS="${KRB5_LIBS}" \ + KRB5_CFLAGS="${KRB5_CFLAGS}" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ @@ -851,11 +858,15 @@ # Creates archive of openjdk. dist-openjdk: stamps/extract-cacao.stamp find openjdk/ -name \\.hg* | xargs rm -rf - $(ZIP) -r openjdk-$(OPENJDK_VERSION) openjdk/ + $(ZIP) -r openjdk-$(COMBINED_VERSION) openjdk/ # Creates archive of openjdk that is compliant with Free Software guidelines. dist-openjdk-fsg: stamps/patch-fsg.stamp - $(ZIP) -r openjdk-fsg-$(OPENJDK_VERSION) openjdk/ + $(ZIP) -r openjdk-fsg-$(COMBINED_VERSION) openjdk/ + +dist-openjdk-fsg-xz: stamps/patch-fsg.stamp + tardir=openjdk/ && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c \ + >openjdk-fsg-$(COMBINED_VERSION).tar.xz # OpenJDK Source Preparation Targets # ================================== diff -r 273d9d59b77b -r 41272f3d7393 NEWS --- a/NEWS Thu Sep 05 00:21:03 2013 +0100 +++ b/NEWS Tue Sep 10 17:03:29 2013 +0100 @@ -14,6 +14,119 @@ New in release 2.4.2 (2013-XX-XX): +* System LCMS 2 support again enabled by default, requiring 2.5 or above. +* OpenJDK + - S7122222: GC log is limited to 2G for 32-bit + - S7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand + - S7165807: Non optimized initialization of NSS crypto library leads to scalability issues + - S7199324: IPv6: JMXConnectorServer.getConnectionIDs() return IDs contradicting to address grammar + - S8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + - S8001424: G1: Rename certain G1-specific flags + - S8001425: G1: Change the default values for certain G1 specific flags + - S8004859: Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform + - S8005019: JTable passes row index instead of length when inserts selection interval + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8006941: [macosx] Deadlock in drag and drop + - S8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier() + - S8009168: accessibility.properties syntax issue + - S8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c + - S8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82 + - S8011569: ARM -- avoid native stack walking + - S8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr + - S8012144: multiple SIGSEGVs fails on staxf + - S8012156: tools/javac/file/zip/T6865530.java fails for win32/64 + - S8012241: NMT huge memory footprint, it usually leads to OOME + - S8012366: Fix for 8007815 breaks down when only building OpenJDK (without deploy and install forests) + - S8013546: compiler/8011901/Test8011901.java fails with CompilationError: Compilation failed + - S8013719: Increment build # of hs23.21 to b02 + - S8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment + - S8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box. + - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number + - S8014805: NPE is thrown during certpath validation if certificate does not have AuthorityKeyIdentifier extension + - S8014850: Third Party License Readme updates for 7u40 + - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it + - S8015237: Parallelize string table scanning during strong root processing + - S8015411: Bump the hsx build number for 7u21-b50 for customer + - S8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity + - S8015576: CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database + - S8015668: overload resolution: performance regression in JDK 7 + - S8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace + - S8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state + - S8016102: Increment build # of hs23.25 to b02 for 7u25-b31 psu + - S8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' + - S8016133: Regression: diff. behavior with user-defined SAXParser + - S8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block + - S8016331: Minor issues in event tracing metadata + - S8016648: FEATURE_SECURE_PROCESSING set to true or false causes SAXParseException to be thrown + - S8016734: Remove extra code due to duplicated push + - S8016737: After clicking on "Print UNCOLLATED" button, the print out come in order 'Page 1', 'Page 2', 'Page 1' + - S8016740: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose + - S8016767: Provide man pages generated from DARB for OpenJDK + - S8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed + - S8017159: Unexclude sun/tools/JMAP/Basic.sh test + - S8017173: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated + - S8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger + - S8017189: [macosx] AWT program menu disabled on Mac + - S8017252: new hotspot build - hs24-b51 + - S8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites + - S8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased + - S8017510: Add a regression test for 8005956 + - S8017566: Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl + - S8017588: SA: jstack -l throws UnalignedAddressException while attaching to core file for java that was started with CMS GC + - S8019155: Update makefiles with correct jfr packages + - S8019201: Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException + - S8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame + - S8019265: [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6 + - S8019298: new hotspot build - hs24-b52 + - S8019381: HashMap.isEmpty is non-final, potential issues for get/remove + - S8019541: 7u40 l10n resource file translation update + - S8019587: [macosx] Possibility to set the same frame for the different screens + - S8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs + - S8019628: [macosx] closed/java/awt/Modal/BlockedMouseInputTest/BlockedMouseInputTest.html failed since 7u40b30 on MacOS + - S8019826: Test com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java fails with NPE + - S8019933: new hotspot build - hs24-b53 + - S8019979: Replace CheckPackageAccess test with better one from closed repo + - S8020038: [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread + - S8020054: (tz) Support tzdata2013d + - S8020155: PSR:PERF G1 not collecting old regions when humongous allocations interfer + - S8020215: Different execution plan when using JIT vs interpreter + - S8020228: Restore the translated version of logging_xx.properties + - S8020298: [macosx] Incorrect merge in the lwawt code + - S8020319: Update Japanese man pages for 7u40 + - S8020371: [macosx] applets with Drag and Drop fail with IllegalArgumentException + - S8020381: new hotspot build - hs24-b54 + - S8020425: Product options incorrectly removed in minor version + - S8020430: NullPointerException in xml sqe nightly result on 2013-07-12 + - S8020433: Crash when using -XX:+RestoreMXCSROnJNICalls + - S8020498: Crash when both libnet.so and libmawt.so are loaded + - S8020525: Increment build # of hs23.25 to b03 for 7u25-b34 psu + - S8020547: Event based tracing needs a UNICODE string type + - S8020625: [TESTBUG] java/util/HashMap/OverrideIsEmpty.java doesn't compile for jdk7u + - S8020701: Avoid crashes in WatcherThread + - S8020796: new hotspot build - hs24-b55 + - S8020811: [macosx] Merge fault 7u25-7u40: Missed focus fix JDK-8012330 + - S8020940: Valid OCSP responses are rejected for backdated enquiries + - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances + - S8021008: Provide java and jcmd man pages for Mac (OpenJDK) + - S8021148: Regression in SAXParserImpl in 7u40 b34 (NPE) + - S8021353: Event based tracing is missing thread exit + - S8021381: JavaFX scene included in Swing JDialog not starting from Web Start + - S8021565: new hotspot build - hs24-b56 + - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries + - S8022548: SPECJVM2008 has errors introduced in 7u40-b34 + - S8023751: Need to backout 8020943, was pushed to hs24 without approval +* New features + - RH991170: java does not use correct kerberos credential cache + - PR1536: Allow use of system Kerberos to obtain cache location + - PR1551: Add build support for Zero AArch64 + - PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. + - PR1553: Add Debian AArch64 support + - PR1554: Fix build on Mac OS X +* Bug fixes + - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich + - Cleanup file resources properly in TimeZone_md. + New in release 2.4.1 (2013-07-05): * Security fixes @@ -30,7 +143,7 @@ - S8001308: Update display of applet windows - S8001309: Better handling of annotation interfaces - S8001318, CVE-2013-2447: Socket.getLocalAddress not consistent with InetAddress.getLocalHost - - S8001330, CVE-2013-2443: Improve on checking order (non-Zero builds only) + - S8001330, CVE-2013-2443: Improve on checking order - S8003703, CVE-2013-2412: Update RMI connection dialog box - S8004288, CVE-2013-2449: (fs) Files.probeContentType problems - S8004584: Augment applet contextualization @@ -1054,11 +1167,8 @@ - S8005556: java/net/Socks/SocksV4Test.java is missing @run tag - S8005646: TEST_BUG: java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup leaves process running - S8005920: After pressing combination Windows Key and M key, the frame, the instruction and the dialog can't be minimized. - - S8005943: (process) Improved Runtime.exec - S8006120: Provide "Server JRE" for 7u train - - S8006309: More reliable control panel operation - S8006417: JComboBox.showPopup(), hidePopup() fails in JRE 1.7 on OS X - - S8006435: Improvements in JMX - S8006534: CLONE - TestLibrary.getUnusedRandomPort() fails intermittently-doesn't retry enough times - S8006536: [launcher] removes trailing slashes on arguments - S8006560: java/net/ipv6tests/B6521014.java fails intermittently @@ -1066,19 +1176,10 @@ - S8006669: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh fails on mac - S8006753: fix failed for JDK-8002415 White box testing API for HotSpot - S8006777: Improve TLS handling of invalid messages - - S8006790: Improve checking for windows - - S8006795: Improve font warning messages - - S8007014: Improve image handling - - S8007406: Improve accessibility of AccessBridge - S8007515: TEST_BUG: update ProblemList.txt and TEST.ROOT in jdk7u-dev to match jdk8 - - S8007617: Better validation of images - - S8007667: Better image reading - - S8007675: Improve color conversion - S8007688: Blacklist known bad certificate - S8007701: Hotspot trace allocation events - - S8007918: Better image writing - S8008081: Print outs do not have matching arguments - - S8008140: Better method handle resolution - S8008223: java/net/BindException/Test.java fails rarely - S8008249: Sync ICU into JDK : - S8008379: TEST_BUG: Fail automatically with java.lang.NullPointerException. @@ -1088,18 +1189,13 @@ - S8008920: Tracing events for heap statistics - S8009032: Implement evacuation info event - S8009165: Fix for 8008817 needs revision - - S8009305: Improve AWT data transfer - S8009399: Bump the hsx build number for APRIL CPU - S8009460: C2compiler crash in machnode::in_regmask(unsigned int) - S8009463: Regression test test\java\lang\Runtime\exec\ArgWithSpaceAndFinalBackslash.java failing. - S8009530: ICU Kern table support broken - S8009610: Blacklist certificate used with malware. - S8009634: TEST_BUG: sun/misc/Version/Version.java handle 2 digit minor in VM version - - S8009677: Better setting of setters - - S8009699: Methodhandle lookup - S8009750: javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java should run in other vm mode - - S8009814: Better driver management - - S8009857: Problem with plugin - S8009881: TEST_BUG: javax/swing/JTree/8004298/bug8004298.java should be modified - S8010166: TEST_BUG: fix for 8009634 overlooks possible version strings (sun/misc/Version/Version.java) - S8010294: Refactor HeapInspection to make it more reusable diff -r 273d9d59b77b -r 41272f3d7393 acinclude.m4 --- a/acinclude.m4 Thu Sep 05 00:21:03 2013 +0100 +++ b/acinclude.m4 Tue Sep 10 17:03:29 2013 +0100 @@ -23,6 +23,13 @@ BUILD_ARCH_DIR=arm INSTALL_ARCH_DIR=arm JRE_ARCH_DIR=arm + ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + arm64|aarch64) + BUILD_ARCH_DIR=aarch64 + INSTALL_ARCH_DIR=aarch64 + JRE_ARCH_DIR=aarch64 + ARCHFLAG="-D_LITTLE_ENDIAN" ;; mips) BUILD_ARCH_DIR=mips @@ -695,10 +702,10 @@ ZERO_LIBARCH="${INSTALL_ARCH_DIR}" dnl can't use AC_CHECK_SIZEOF on multilib case "${ZERO_LIBARCH}" in - i386|ppc|s390|sparc) + arm|i386|ppc|s390|sh|sparc) ZERO_BITSPERWORD=32 ;; - amd64|ppc64|s390x|sparc64) + aarch64|alpha|amd64|ia64|ppc64|s390x|sparcv9) ZERO_BITSPERWORD=64 ;; *) @@ -1937,18 +1944,17 @@ [ AC_MSG_CHECKING([whether to use the system LCMS install]) AC_ARG_ENABLE([system-lcms], - [AS_HELP_STRING(--enable-system-lcms,use the system LCMS [[default=no]])], + [AS_HELP_STRING(--enable-system-lcms,use the system LCMS [[default=yes]])], [ ENABLE_SYSTEM_LCMS="${enableval}" ], [ - ENABLE_SYSTEM_LCMS="no" + ENABLE_SYSTEM_LCMS="yes" ]) AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS}) if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then - AC_MSG_WARN([System LCMS may not have the latest security updates]) dnl Check for LCMS2 headers and libraries. - PKG_CHECK_MODULES(LCMS2, lcms2,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) + PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.5,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) if test "x${LCMS2_FOUND}" = xno then AC_MSG_ERROR([Could not find LCMS2; install LCMS2 or build with --disable-system-lcms to use the in-tree copy.]) @@ -2062,6 +2068,32 @@ AC_SUBST(ENABLE_SYSTEM_GIF) ]) +dnl Check for Kerberos library in order to lookup cache location at runtime. +AC_DEFUN_ONCE([IT_CHECK_FOR_KERBEROS], +[ + AC_MSG_CHECKING([whether to use the system Kerberos install]) + AC_ARG_ENABLE([system-kerberos], + [AS_HELP_STRING(--enable-system-kerberos,use the system kerberos [[default=yes]])], + [ + ENABLE_SYSTEM_KERBEROS="${enableval}" + ], + [ + ENABLE_SYSTEM_KERBEROS="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_KERBEROS}) + if test x"${ENABLE_SYSTEM_KERBEROS}" = "xyes"; then + dnl Check for krb5 header and library. + AC_CHECK_LIB([krb5], [krb5_cc_default], + , [AC_MSG_ERROR([Could not find Kerberos library; install Kerberos or build with --disable-system-kerberos to use the default cache location.])]) + AC_CHECK_HEADER([krb5.h], + , [AC_MSG_ERROR([Could not find Kerberos header; install Kerberos or build with --disable-system-kerberos to use the default cache location.])]) + KRB5_LIBS="-lkrb5" + AC_SUBST(KRB5_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_KERBEROS, test x"${ENABLE_SYSTEM_KERBEROS}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_KERBEROS) +]) + AC_DEFUN_ONCE([IT_CHECK_FOR_GTK], [ AC_MSG_CHECKING([whether to use the system Gtk+ install]) diff -r 273d9d59b77b -r 41272f3d7393 configure.ac --- a/configure.ac Thu Sep 05 00:21:03 2013 +0100 +++ b/configure.ac Tue Sep 10 17:03:29 2013 +0100 @@ -197,6 +197,8 @@ AC_PATH_TOOL([GCJ],[gcj]) AC_SUBST([GCJ]) +IT_CHECK_FOR_KERBEROS + dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([X11/X.h],[] ,[AC_MSG_ERROR("xorg headers were not found - From bugzilla-daemon at icedtea.classpath.org Tue Sep 10 09:03:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:03:50 +0000 Subject: [Bug 1536] [IcedTea7] Allow use of system Kerberos to obtain cache location In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1536 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/46754d7b/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 10 09:03:53 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:03:53 +0000 Subject: [Bug 1552] [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/8773f8f7/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 10 09:03:55 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:03:55 +0000 Subject: [Bug 1554] [IcedTea7] Fix build on Mac OS X In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/0df44f34/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 10 09:03:58 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:03:58 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/62abf1d7/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 10 09:04:00 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Sep 2013 16:04:00 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=523f48931154 author: Andrew John Hughes date: Mon Sep 09 20:26:37 2013 +0100 Update NEWS and autoconf following recent fixes. 2013-09-09 Andrew John Hughes * NEWS: Mention RH991170, PR1536, PR1551, PR1552, PR1553 and PR1554. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/cb578079/attachment.html From gitne at gmx.de Tue Sep 10 12:34:07 2013 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 10 Sep 2013 21:34:07 +0200 Subject: [icedtea-web] Regression after refactoring for XDG specification In-Reply-To: <5225CF60.7030902@redhat.com> References: <201307301614.r6UGErq1009615@mail-web01.excite.co.jp> <5225CF60.7030902@redhat.com> Message-ID: <522F742F.1050001@gmx.de> Jiri Vanek schrieb: > On 07/30/2013 06:14 PM, Jacob Wisor wrote: >> "Jiri Vanek" wrote: >> [?] >> Looks good. Just one other thing: >> >> + File f = new File(value); >> + if (f.exists()) { >> + if (JNLPRuntime.isDebug()) { >> + System.out.println("OK: key " + key + " value: " + value + " exists"); >> + } >> + continue; >> + } >> + if (!f.mkdirs()) { >> + if (JNLPRuntime.isDebug()) { >> + System.out.println("ERROR: key " + key + " value: " + value + " not existed, and was NOT created"); >> >> This text should probably be written to stderr. >> >> + } >> + } else { >> + if (JNLPRuntime.isDebug()) { >> + System.out.println("OK: key " + key + " value: " + value + " not existed, and was created"); >> + } >> + } >> >> If the folder is a file that already exists, the folder in which the folder is created is write protected or the current user has no permission to write to it, or the path is for some reason not available (e.g. failed network connectivity) this circumstance is not handled gracefully and the user is not notified that his/her configuration cannot be saved. All that a user will get is a possibly cryptic exception on stderr that some value or property cannot be saved when clicking OK. The exact same exception pops up when the .cache folder could not have been silently created and then the cache viewer is opend. This is similar to the backup problem. >> > > Ok.Here it is. I think it is working pretty fine. The only thing I'm afraid is behavior of some reproducers. But with some luck this check will remain silent (== passed) and so no dialogue will be raised - not even under most terrific testcases;) > >> This may seem as nit picking, but it actually adds greatly to the usability of the application in case of an error or unusual system configuration. >> >> Nevertheless, thank you for addressing this issue, so please keep up the good work. > + private static void ensureMainDirs() { I am especially unhappy with this method's naming. I am aware that naming is a difficult task in CS, but it pays off investing time into it. What does it ensure main directories about? What happens if something cannot be or has not been ensured? Does possibly a RuntimeException be thrown? Except from that, what are main directories supposed to be? Perhaps root directories? What makes a directory so distinct to be "main"? So, please find an adequate name and add some documentation. Some language stuff: > + System.out.println("WARNING: key " + key + " do not have value, switching to default"); "WARNING: key " + key + " has no value, setting to default value" > + System.out.println("WARNING: key " + key + " do not have value, skipping"); "WARNING: key " + key + " has no value, skipping" > + System.err.println("ERROR: key " + key + " value: " + value + " not existed, and was NOT created"); "ERROR: Directory " + value + " denoted by key " + key + " does not exist and has not been created" > + System.out.println("OK: key " + key + " value: " + value + " not existed, and was created"); "OK: Directory " + value + " denoted by key " + key + " did not exist but has been created" > + //not private for testing > + static String testMainDir(File f, boolean verbose) { Since you have made this method not private please add some documentation on what this method's purpose is and what it does. It is definitely not self-explanatory, even after reading its code. And, as mentioned below it is probably unnecessary complex and seems to be mixing functional code with message generating code. If you really want to keep this differentiated error reporting feature, I would strongly advise to deglomerate functional and message generating code. > + StringBuilder messages = new StringBuilder(); > + if (!f.exists()) { > + String s = (R("DCmaindircheckNotexists", f.getAbsolutePath())); > + if (verbose) { > + System.err.println(s); > + } > + messages.append(s).append("\n"); > + } > + if (!f.isDirectory()) { > + String s = (R("DCmaindircheckNotdir", f.getAbsolutePath())); > + if (verbose) { > + System.err.println(s); > + } > + messages.append(s).append("\n"); > + } These two tests are redundant. File.isDirectory() implies a check for existence. It does not matter to the user or the application whether the desired directory does not exist or is not a directory. In effect the program cannot read from/write to the desired location. > + File testFile = null; > + boolean ok = false; Naming again. What is ok? > + try { > + testFile = File.createTempFile("maindir", "check", f); > + if (testFile.exists()) { > + ok = true; > + } > + try { > + FileUtils.saveFile("ww", testFile); > + String s = FileUtils.loadFileAsString(testFile); > + if (!s.trim().equals("ww")) { > + ok = false; > + } This test misses probably its point because it is testing for creating a *file* not a *directory*. Most file systems with DACLs distinguish between /creating/ files or directories, and between /creating/ and /writing/ into files or directories, so it is important to be precise here. Furthermore, it tests writing into a file instead of perhaps writing into a file in a subdirectory. > + } catch (Exception ex) { > + if (JNLPRuntime.isDebug()) { > + ex.printStackTrace(); > + } > + ok = false; > + } No really, you should *not* catch arbitrary exceptions. It ain't just some empty words. After all, this method is overly complex and does not add any value for the user. So I would advise you to discard this method. > diff -r 79bdc074df81 netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Aug 30 11:02:08 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Sep 03 13:56:53 2013 +0200 > @@ -304,6 +304,9 @@ > DCInternal=Internal error: {0} > DCSourceInternal= > DCUnknownSettingWithName=Property "{0}" is unknown. > +DCmaindircheckNotexists=After all tryes your configuration directory {0} do not exists > +DCmaindircheckNotdir=Your configuration directory {0} is not directory > +DCmaindircheckRwproblem=Your configuration directory {0} can not be read/written properly Although it is nice of you to make precise distinctions between error types to help the user it is actually not necessary and does not offer any additional help when analyzing this problem. All these messages can be fused into one sufficiently explanatory error message: DCCannotAccessConfig="Cannot access configuration in file {full path to config file}." This should probably be enough for an admin, even for a user. I would really advise this because it makes the code simpler and yet serves its purpose. Regards, Jacob From jvanek at redhat.com Tue Sep 10 13:19:43 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 10 Sep 2013 22:19:43 +0200 Subject: [rfc][icedtea-web] refactored logging Message-ID: <522F7EDF.5070407@redhat.com> hi! This patch is introducing bottleneck for all stdout/err and printstacktrace. By this it is first part of http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 "introduce new logging and think about abrt connection" Inspiration: - get rid of repeated if JNLPRuntime.isDebug - log properly into syslog (comming as next patch(*)(**) after this one s in) - also C part will log into syslog in simialr way - Pavel is on it - revive the old logger which logs into ~/..../logs to log more then few start up exception (if enabled) - maybe something more, I got very asleep :) The only real code is in extractedLogging-bottleNeck. The syslog writer(*) is not yet implemented and will be inside method write, which is now just dummy (**) The best way how to integrate the syslogs writer is still under research (tcp?, exec?) The extractedLogging-refactoring is extremely long, And I do not expect somebody to read it whole. It is moreover just all the same: - if (JNLPRuntime.isDebug()) - System.err.println("UNIQUEKEY=" + this.uniqueKey); + ItwLogger.getLogger().logErrorStream("UNIQUEKEY=" + this.uniqueKey); or - if (JNLPRuntime.isDebug()) - ex.printStackTrace(); + ItwLogger.getLogger().log(ex); or its variants without if (JNLPRuntime.isDebug()) and so adding "true" parameter which force logging always: - System.err.println("UNIQUEKEY=" + this.uniqueKey); + ItwLogger.getLogger().logErrorStream(true, "UNIQUEKEY=" + this.uniqueKey); or - ex.printStackTrace(); + ItwLogger.getLogger().log(true, ex); And hope I did not miss something or not changed if debug/if not debug (/me have to try reprodcuers with/without patch) The only real changes are minor and are in /tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java and removed duplicated code arround exceptionToString. netx/net/sourceforge/jnlp/ParseException.java (removed redundant code 1.3 compatibility..hehe) ps: Pavel had ordered this, so he should suffer the review O:P, but any comments to design welcomed /me hopes to not do te whole by-hand refactoring again J. -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-bottleNeck.patch Type: text/x-patch Size: 9040 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/9b037696/extractedLogging-bottleNeck.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-refactoring.patch Type: text/x-patch Size: 215078 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130910/9b037696/extractedLogging-refactoring.patch From omajid at redhat.com Tue Sep 10 14:24:35 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 10 Sep 2013 17:24:35 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <522F7EDF.5070407@redhat.com> References: <522F7EDF.5070407@redhat.com> Message-ID: <522F8E13.9070903@redhat.com> Hi Jiri, I am mostly interested in this patch as a user (especially if some else has agreed to a full review of this giant patch). But it caught my interest so I have a few questions. First, please don't abuse 'refactoring'. It's defined here: http://refactoring.com/. This patch is a change (probably a good one); it's not (just) a refactor. On 09/10/2013 04:19 PM, Jiri Vanek wrote: > This patch is introducing bottleneck for all stdout/err and > printstacktrace. I thought bottlenecks were bad? ;) > By this it is first part of > http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 "introduce > new logging and think about abrt connection" Okay, but that's not explaining things any better :) > Inspiration: > - get rid of repeated if JNLPRuntime.isDebug I am sure it's not relevant here, but OpenJDK switched from: log(foo) to if (debug) { log(foo) } in a couple of places due to performance reasons. Just something to keep in mind. > - log properly into syslog (comming as next patch(*)(**) after this one > s in) This sounds (at once) really cool and really scary. Can you elaborate on exactly what you mean by syslog? Is it the syslog protocol as defined in RFC 3164? What if a syslog daemon is not running? Can you describe the motivation for logging into syslog? Is this somethings lots of other user programs do? > - revive the old logger which logs into ~/..../logs to log more then > few start up exception (if enabled) Are you saying the old logger is broken? Can you elaborate? > - maybe something more, I got very asleep :) You mean to say, you are not working 24/7 any more? That's not acceptable :P > The only real code is in extractedLogging-bottleNeck. The syslog > writer(*) is not yet implemented and will be inside method write, which > is now just dummy Have you looked at existing implementations? Maybe we can reuse something? > (**) The best way how to integrate the syslogs writer is still under > research (tcp?, exec?) External-library? > The extractedLogging-refactoring is extremely long, And I do not expect > somebody to read it whole. > It is moreover just all the same: > > - if (JNLPRuntime.isDebug()) > - System.err.println("UNIQUEKEY=" + this.uniqueKey); > + ItwLogger.getLogger().logErrorStream("UNIQUEKEY=" + > this.uniqueKey); Just to be clear, logging is not the same as messages displayed on stderr. There are probably some messages that we still want to show to the user on stderr (and log too, maybe). > or > > - if (JNLPRuntime.isDebug()) > - ex.printStackTrace(); > + ItwLogger.getLogger().log(ex); > > or its variants without if (JNLPRuntime.isDebug()) and so adding "true" > parameter which force logging always: > > - System.err.println("UNIQUEKEY=" + this.uniqueKey); > + ItwLogger.getLogger().logErrorStream(true, "UNIQUEKEY=" + > this.uniqueKey); > > or > > - ex.printStackTrace(); > + ItwLogger.getLogger().log(true, ex); > > And hope I did not miss something or not changed if debug/if not debug > (/me have to try reprodcuers with/without patch) I am probably missing something, but why isn't ItwLogger a java.util.logging.Logger? Please add javadocs to indicate when to use which methods. Also, please add unit tests for (at least) the ItwLogger class. > The only real changes are minor and are in > /tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java s/baos1/outputStream and s/baos2/errorStream/ > and removed duplicated code arround exceptionToString. > netx/net/sourceforge/jnlp/ParseException.java (removed redundant code > 1.3 compatibility..hehe) A separate patch, please! Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From ptisnovs at icedtea.classpath.org Wed Sep 11 00:49:04 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 11 Sep 2013 07:49:04 +0000 Subject: /hg/rhino-tests: Added new test testCast (that checks Class.cast... Message-ID: changeset 9a2fbbac6020 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=9a2fbbac6020 author: Pavel Tisnovsky date: Wed Sep 11 09:52:46 2013 +0200 Added new test testCast (that checks Class.cast() method) into test test suite InvocableClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/ScriptContextClassTest.java | 190 +++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) diffs (213 lines): diff -r caa2fc835dda -r 9a2fbbac6020 ChangeLog --- a/ChangeLog Tue Sep 10 13:47:12 2013 +0200 +++ b/ChangeLog Wed Sep 11 09:52:46 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-11 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Added new test testCast (that checks Class.cast() method) into test + test suite InvocableClassTest. + 2013-09-10 Pavel Tisnovsky * src/org/RhinoTests/InvocableClassTest.java: diff -r caa2fc835dda -r 9a2fbbac6020 src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Tue Sep 10 13:47:12 2013 +0200 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Wed Sep 11 09:52:46 2013 +0200 @@ -1214,6 +1214,196 @@ } /** + * Test for method javax.script.ScriptContext.getClass().cast() + */ + protected void testCast() { + try { + this.scriptContextClass.cast(new Object()); + throw new AssertionError("Class.cast(new Object()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new Object().getClass()); + throw new AssertionError("Class.cast(new Object().getClass()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new String()); + throw new AssertionError("Class.cast(new String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Boolean.valueOf(true)); + throw new AssertionError("Class.cast(Boolean.valueOf(true)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Boolean.valueOf(false)); + throw new AssertionError("Class.cast(Boolean.valueOf(false)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Byte.valueOf((byte)42)); + throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Short.valueOf((short)42)); + throw new AssertionError("Class.cast(Short.valueOf((short)42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Integer.valueOf(42)); + throw new AssertionError("Class.cast(Integer.valueOf(42)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Long.valueOf(42L)); + throw new AssertionError("Class.cast(Long.valueOf(42L)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Float.valueOf(42f)); + throw new AssertionError("Class.cast(Float.valueOf(42f)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(Double.valueOf(42.)); + throw new AssertionError("Class.cast(Double.valueOf(42.)) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new Throwable()); + throw new AssertionError("Class.cast(new Throwable()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new RuntimeException()); + throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new Error()); + throw new AssertionError("Class.cast(new Error()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new java.lang.String()); + throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new java.lang.StringBuffer()); + throw new AssertionError("Class.cast(new java.lang.StringBuffer()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new java.lang.StringBuilder()); + throw new AssertionError("Class.cast(new java.lang.StringBuilder()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(java.awt.Color.black); + throw new AssertionError("Class.cast(java.awt.Color.black) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new java.awt.Frame()); + throw new AssertionError("Class.cast(new java.awt.Frame()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new java.awt.Frame(new String())); + throw new AssertionError("Class.cast(new java.awt.Frame(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new javax.swing.JLabel()); + throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new javax.swing.JLabel(new String())); + throw new AssertionError("Class.cast(new javax.swing.JLabel(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.cast(new javax.swing.JPanel()); + throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptContext */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Wed Sep 11 01:41:33 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 11 Sep 2013 08:41:33 +0000 Subject: /hg/gfx-test: Another six new tests added into BitBltAffineIdent... Message-ID: changeset bb14fd00b8c6 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=bb14fd00b8c6 author: Pavel Tisnovsky date: Wed Sep 11 10:45:17 2013 +0200 Another six new tests added into BitBltAffineIdentityTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 84 ++++++++++ 2 files changed, 89 insertions(+), 0 deletions(-) diffs (106 lines): diff -r 5fa126508a12 -r bb14fd00b8c6 ChangeLog --- a/ChangeLog Tue Sep 10 13:48:58 2013 +0200 +++ b/ChangeLog Wed Sep 11 10:45:17 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-11 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Another six new tests added into BitBltAffineIdentityTransformOp. + 2013-09-10 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 5fa126508a12 -r bb14fd00b8c6 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Sep 10 13:48:58 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Wed Sep 11 10:45:17 2013 +0200 @@ -688,6 +688,90 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp6); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From andrew at icedtea.classpath.org Wed Sep 11 05:39:32 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 11 Sep 2013 12:39:32 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Fix Zero following chan... Message-ID: changeset 09f439dfd7b9 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=09f439dfd7b9 author: andrew date: Wed Sep 11 04:42:47 2013 +0100 Fix Zero following changes to entry_frame_call_wrapper in 8016131 diffstat: src/cpu/zero/vm/entryFrame_zero.hpp | 4 ++-- src/cpu/zero/vm/frame_zero.inline.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diffs (26 lines): diff -r 24b23eb187fc -r 09f439dfd7b9 src/cpu/zero/vm/entryFrame_zero.hpp --- a/src/cpu/zero/vm/entryFrame_zero.hpp Thu Sep 05 15:10:41 2013 +0100 +++ b/src/cpu/zero/vm/entryFrame_zero.hpp Wed Sep 11 04:42:47 2013 +0100 @@ -58,8 +58,8 @@ JavaCallWrapper* call_wrapper, TRAPS); public: - JavaCallWrapper *call_wrapper() const { - return (JavaCallWrapper *) value_of_word(call_wrapper_off); + JavaCallWrapper **call_wrapper() const { + return (JavaCallWrapper **) addr_of_word(call_wrapper_off); } public: diff -r 24b23eb187fc -r 09f439dfd7b9 src/cpu/zero/vm/frame_zero.inline.hpp --- a/src/cpu/zero/vm/frame_zero.inline.hpp Thu Sep 05 15:10:41 2013 +0100 +++ b/src/cpu/zero/vm/frame_zero.inline.hpp Wed Sep 11 04:42:47 2013 +0100 @@ -132,7 +132,7 @@ return fp(); } -inline JavaCallWrapper* frame::entry_frame_call_wrapper() const { +inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const { return zero_entryframe()->call_wrapper(); } From andrew at icedtea.classpath.org Wed Sep 11 08:55:27 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 11 Sep 2013 15:55:27 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Set ZERO_BUILD in flags... Message-ID: changeset 56f4e181b8d4 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=56f4e181b8d4 author: andrew date: Wed Sep 11 16:55:12 2013 +0100 Set ZERO_BUILD in flags.make so it is set on rebuilds diffstat: make/bsd/makefiles/buildtree.make | 1 + make/linux/makefiles/buildtree.make | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diffs (30 lines): diff -r 09f439dfd7b9 -r 56f4e181b8d4 make/bsd/makefiles/buildtree.make --- a/make/bsd/makefiles/buildtree.make Wed Sep 11 04:42:47 2013 +0100 +++ b/make/bsd/makefiles/buildtree.make Wed Sep 11 16:55:12 2013 +0100 @@ -215,6 +215,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "ZERO_BUILD = $(ZERO_BUILD)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r 09f439dfd7b9 -r 56f4e181b8d4 make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Wed Sep 11 04:42:47 2013 +0100 +++ b/make/linux/makefiles/buildtree.make Wed Sep 11 16:55:12 2013 +0100 @@ -195,7 +195,6 @@ $(BUILDTREE_COMMENT); \ echo; \ echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \ - echo "JVM_VARIANTS = $(JVM_VARIANTS)"; \ sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \ echo; \ echo "GAMMADIR = $(GAMMADIR)"; \ @@ -210,6 +209,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "ZERO_BUILD = $(ZERO_BUILD)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ From ptisnovs at redhat.com Wed Sep 11 09:29:21 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 11 Sep 2013 12:29:21 -0400 (EDT) Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <522F8E13.9070903@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> Message-ID: <373357671.13028161.1378916961814.JavaMail.root@redhat.com> Hi Omair, ----- Omair Majid wrote: > Hi Jiri, > > I am mostly interested in this patch as a user (especially if some else > has agreed to a full review of this giant patch). But it caught my > interest so I have a few questions. > > First, please don't abuse 'refactoring'. It's defined here: > http://refactoring.com/. This patch is a change (probably a good one); > it's not (just) a refactor. > > On 09/10/2013 04:19 PM, Jiri Vanek wrote: > > This patch is introducing bottleneck for all stdout/err and > > printstacktrace. > > I thought bottlenecks were bad? ;) > > > By this it is first part of > > http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 "introduce > > new logging and think about abrt connection" > > Okay, but that's not explaining things any better :) > > > Inspiration: > > - get rid of repeated if JNLPRuntime.isDebug > > I am sure it's not relevant here, but OpenJDK switched from: > > log(foo) > > to > > if (debug) { > log(foo) > } > > in a couple of places due to performance reasons. Just something to keep > in mind. > > > - log properly into syslog (comming as next patch(*)(**) after this one > > s in) > > This sounds (at once) really cool and really scary. > > Can you elaborate on exactly what you mean by syslog? Is it the syslog > protocol as defined in RFC 3164? What if a syslog daemon is not running? Yeah we thought about this one. > > Can you describe the motivation for logging into syslog? Is this > somethings lots of other user programs do? The main problem with the current solution is that most users don't know how to enable debug output and also how to run ITW (+browser) from the console to see error output. Syslog might be better and I think it's now the standard way how applications might log its messages. > > > - revive the old logger which logs into ~/..../logs to log more then > > few start up exception (if enabled) > > Are you saying the old logger is broken? Can you elaborate? > > > - maybe something more, I got very asleep :) > > You mean to say, you are not working 24/7 any more? That's not acceptable :P Yeah, Jiri really should improve his ability to work 24/7! :) > > > The only real code is in extractedLogging-bottleNeck. The syslog > > writer(*) is not yet implemented and will be inside method write, which > > is now just dummy > > Have you looked at existing implementations? Maybe we can reuse something? We can, I'll inform you when simple demo will be created. > > > (**) The best way how to integrate the syslogs writer is still under > > research (tcp?, exec?) > > External-library? > > > The extractedLogging-refactoring is extremely long, And I do not expect > > somebody to read it whole. > > It is moreover just all the same: > > > > - if (JNLPRuntime.isDebug()) > > - System.err.println("UNIQUEKEY=" + this.uniqueKey); > > + ItwLogger.getLogger().logErrorStream("UNIQUEKEY=" + > > this.uniqueKey); > > Just to be clear, logging is not the same as messages displayed on > stderr. There are probably some messages that we still want to show to > the user on stderr (and log too, maybe). > > > or > > > > - if (JNLPRuntime.isDebug()) > > - ex.printStackTrace(); > > + ItwLogger.getLogger().log(ex); > > > > or its variants without if (JNLPRuntime.isDebug()) and so adding "true" > > parameter which force logging always: > > > > - System.err.println("UNIQUEKEY=" + this.uniqueKey); > > + ItwLogger.getLogger().logErrorStream(true, "UNIQUEKEY=" + > > this.uniqueKey); > > > > or > > > > - ex.printStackTrace(); > > + ItwLogger.getLogger().log(true, ex); > > > > And hope I did not miss something or not changed if debug/if not debug > > (/me have to try reprodcuers with/without patch) > > I am probably missing something, but why isn't ItwLogger a > java.util.logging.Logger? > > Please add javadocs to indicate when to use which methods. Also, please > add unit tests for (at least) the ItwLogger class. > > > The only real changes are minor and are in > > /tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java > > s/baos1/outputStream and s/baos2/errorStream/ > > > and removed duplicated code arround exceptionToString. > > netx/net/sourceforge/jnlp/ParseException.java (removed redundant code > > 1.3 compatibility..hehe) > > A separate patch, please! > > Cheers, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gitne at gmx.de Wed Sep 11 11:24:13 2013 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 11 Sep 2013 20:24:13 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <522F8E13.9070903@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> Message-ID: <5230B54D.6090002@gmx.de> Hello! Omair Majid wrote: > Hi Jiri, > > I am mostly interested in this patch as a user (especially if some else > has agreed to a full review of this giant patch). But it caught my > interest so I have a few questions. I have always appreciated when an application transitioned from a custom logging solution or added support for a native system logging facility. So, it is fair to say I am interested in this too. As Java currently does not provide an abstraction for native system logging facilities my question is: Where are you heading with this initiative? > [?] >> Inspiration: >> - get rid of repeated if JNLPRuntime.isDebug > > I am sure it's not relevant here, but OpenJDK switched from: > > log(foo) > > to > > if (debug) { > log(foo) > } > > in a couple of places due to performance reasons. Just something to keep > in mind. Perhaps this should be split off into a separate patch? >> - log properly into syslog (comming as next patch(*)(**) after this one >> s in) > > This sounds (at once) really cool and really scary. > > Can you elaborate on exactly what you mean by syslog? Is it the syslog > protocol as defined in RFC 3164? What if a syslog daemon is not running? > > Can you describe the motivation for logging into syslog? Is this > somethings lots of other user programs do? I am not sure whether this question can be answered in general. AFAICT, I am observing a shift especially in "business" applications transitioning to native system logging facilities. Where native system logging facilities may be syslog on Un*x like systems or the "Event Log" service in Windows. It is definitely a good idea and rather indicated for IcedTea-Web in my opinion. Having configurable logging options in IcedTea-Web is going to make admin's lives surely easier. But, native system logging support is probably going to require a dependency on a third party library like Apache's log4j. > [?] > External-library? I fear this is the only option if you want to have true native system logging support in IcedTea-Web. This is one of these field where Java has fallen behind. I do not how much of a problem this is ? given J2SE API's current state ? to add proper syslog support on Un*x systems in an application like IcedTea-Web but adding support for Windows' Event Log service definitely requires native bindings to Win32 API (which log4j does provide). In fact, there should be less of a problem with the plug-in itself because it is built and compiled for a specific native target system anyway. So, adding system dependent code with the help of the preprocessor is easy. Regards, Jacob From omajid at icedtea.classpath.org Wed Sep 11 12:20:22 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:20:22 +0000 Subject: /hg/release/icedtea-web-1.4: PR1533: Inherit jnlp.packEnabled an... Message-ID: changeset a875c8f789f2 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=a875c8f789f2 author: Omair Majid date: Wed Sep 11 15:19:42 2013 -0400 PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties Treat jnlp.packEnabled and jnlp.versionEnabled just like other properties that can be set in one resource element and inherited/filtered in others. 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method. diffstat: ChangeLog | 16 ++++ netx/net/sourceforge/jnlp/JNLPFile.java | 28 ++----- netx/net/sourceforge/jnlp/PluginBridge.java | 2 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 6 +- tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java | 68 ++++++++++++++++++ 5 files changed, 94 insertions(+), 26 deletions(-) diffs (182 lines): diff -r a0ca905f9ee7 -r a875c8f789f2 ChangeLog --- a/ChangeLog Tue Jul 30 09:41:12 2013 -0400 +++ b/ChangeLog Wed Sep 11 15:19:42 2013 -0400 @@ -1,3 +1,19 @@ +2013-09-09 Omair Majid + + * netx/net/sourceforge/jnlp/JNLPFile.java + (getDownloadOptionsForJar): Rename to ... + (getDownloadOptions): New method. Look up jnlp.packEnabled and + jnlp.versionEnabled in any resources element. + * netx/net/sourceforge/jnlp/PluginBridge.java + (getDownloadOptionsForJar): Rename to ... + (getDownloadOptions): New method. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (initializeResources): Invoke file.getDownloadResources. + (getDownloadOptionsForJar): Remove. + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java + (testDownloadOptionsAppliedEverywhere): New method. + (testDownloadOptionsFilteredOut): New method. + 2013-07-30 Andrew Azores * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java: (getProxiesWithoutCaching) added java.vm.name read permission to fix diff -r a0ca905f9ee7 -r a875c8f789f2 netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Jul 30 09:41:12 2013 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 11 15:19:42 2013 -0400 @@ -789,29 +789,17 @@ } /** - * XXX: this method does a "==" comparison between the input JARDesc and - * jars it finds through getResourcesDescs(). If ever the implementation - * of that function should change to return copies of JARDescs objects, - * then the "jar == aJar" comparison below should change accordingly. - * @param jar the jar whose download options to get. - * @return the download options. + * @return the download options to use for downloading jars listed in this jnlp file. */ - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { + public DownloadOptions getDownloadOptions() { boolean usePack = false; boolean useVersion = false; - ResourcesDesc[] descs = getResourcesDescs(); - for (ResourcesDesc desc: descs) { - JARDesc[] jars = desc.getJARs(); - for (JARDesc aJar: jars) { - if (jar == aJar) { - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { - usePack = true; - } - if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { - useVersion = true; - } - } - } + ResourcesDesc desc = getResources(); + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) { + usePack = true; + } + if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) { + useVersion = true; } return new DownloadOptions(usePack, useVersion); } diff -r a0ca905f9ee7 -r a875c8f789f2 netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Tue Jul 30 09:41:12 2013 -0400 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Wed Sep 11 15:19:42 2013 -0400 @@ -222,7 +222,7 @@ * {@inheritDoc } */ @Override - public DownloadOptions getDownloadOptionsForJar(JARDesc jar) { + public DownloadOptions getDownloadOptions() { return new DownloadOptions(usePack, useVersion); } diff -r a0ca905f9ee7 -r a875c8f789f2 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 30 09:41:12 2013 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 11 15:19:42 2013 -0400 @@ -639,7 +639,7 @@ tracker.addResource(jars[i].getLocation(), jars[i].getVersion(), - getDownloadOptionsForJar(jars[i]), + file.getDownloadOptions(), jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); } @@ -2078,10 +2078,6 @@ } } - private DownloadOptions getDownloadOptionsForJar(JARDesc jar) { - return file.getDownloadOptionsForJar(jar); - } - /** * Returns a set of paths that indicate the Class-Path entries in the * manifest file. The paths are rooted in the same directory as the diff -r a0ca905f9ee7 -r a875c8f789f2 tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Tue Jul 30 09:41:12 2013 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Wed Sep 11 15:19:42 2013 -0400 @@ -44,6 +44,7 @@ import java.util.Locale; import net.sourceforge.jnlp.JNLPFile.Match; +import net.sourceforge.jnlp.annotations.Bug; import net.sourceforge.jnlp.mock.MockJNLPFile; import org.junit.Assert; @@ -148,4 +149,71 @@ Assert.assertEquals("Sample Test", jnlpFile.getTitle()); Assert.assertEquals(2, jnlpFile.getResources().getJARs().length); } + + @Bug(id={"PR1533"}) + @Test + public void testDownloadOptionsAppliedEverywhere() throws MalformedURLException, ParseException { + String os = System.getProperty("os.name"); + String arch = System.getProperty("os.arch"); + + String jnlpContents = "\n" + + "\n" + + " \n" + + " Parsing Test\n" + + " IcedTea\n" + + " \n" + + " \n" + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " \n" + + ""; + + URL codeBase = new URL("http://icedtea.classpath.org"); + InputStream is = new ByteArrayInputStream(jnlpContents.getBytes()); + JNLPFile jnlpFile = new JNLPFile(is, codeBase, false); + DownloadOptions downloadOptions = jnlpFile.getDownloadOptions(); + + Assert.assertTrue(downloadOptions.useExplicitPack()); + Assert.assertTrue(downloadOptions.useExplicitVersion()); + } + + @Bug(id={"PR1533"}) + @Test + public void testDownloadOptionsFilteredOut() throws MalformedURLException, ParseException { + String jnlpContents = "\n" + + "\n" + + " \n" + + " Parsing Test\n" + + " IcedTea\n" + + " \n" + + " \n" + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " " + + " " + + " \n" + + " \n" + + ""; + + URL codeBase = new URL("http://icedtea.classpath.org"); + InputStream is = new ByteArrayInputStream(jnlpContents.getBytes()); + JNLPFile jnlpFile = new JNLPFile(is, codeBase, false); + DownloadOptions downloadOptions = jnlpFile.getDownloadOptions(); + + Assert.assertFalse(downloadOptions.useExplicitPack()); + Assert.assertFalse(downloadOptions.useExplicitVersion()); + } } From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:20:30 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:20:30 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 --- Comment #11 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea-web-1.4?cmd=changeset;node=a875c8f789f2 author: Omair Majid date: Wed Sep 11 15:19:42 2013 -0400 PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties Treat jnlp.packEnabled and jnlp.versionEnabled just like other properties that can be set in one resource element and inherited/filtered in others. 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/989fe4f3/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:47:42 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:47:42 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #8 from Richard Ullger --- Created attachment 933 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=933&action=edit Screen 1 of procedure to generate calculation error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/bcb8e547/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:52:18 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:52:18 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #9 from Richard Ullger --- Created attachment 934 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=934&action=edit Screen 2 of procedure to generate calculation error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/5d0fe3bb/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:53:14 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:53:14 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #10 from Richard Ullger --- Created attachment 935 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=935&action=edit Screen 3 of procedure to generate calculation error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/d92f7149/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:53:47 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:53:47 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #11 from Richard Ullger --- Created attachment 936 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=936&action=edit Screen 4 of procedure to generate calculation error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/31de9907/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 12:55:28 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 19:55:28 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #12 from Richard Ullger --- Hi Andrew, Appologies for the delay in replying, I've been away. I have attached four screenshots and marked them for reference from these notes. After launching the jnlp file you should get the default template displayed. This consists of several windows. We are only concerned with the main ProRealTime window (screen1 item1), which contains menus and tool buttons and a search text box; the Lists window (screen1 item2) and a price chart window (screen1 item3). You can close other windows if you wish. Ensure that the Lists window is displayed. You can do this by selecting it in the Display menu of the ProRealTime window. I believe that the error only occurs when the application is receiving data for the chart displayed, so the particular market has to be open. Foreign currency trades 24hrs and only closes at the weekend so it's best to use a forex chart. In the dropdown list in the Lists window (screen1 item4), select the Forex list. In the list of currencies, click on a currency pair to select it. In my example I selected GBP/CAD. The price chart for the currency is displayed in the chart window (screen1 item3). To add an indicator to the chart click on the indicator button (screen1 item5). The indicator window opens (screen2 item1). Select the Moving average (on price) indicator (screen2 item2). Click the Add button (screen2 item3). The indicator settings window opens (screen3 item1). Set Nbr Periods to 50 (screen3 item2). Click the close button (screen3 item3). You can see the moving average line drawn on the chart (screen3 item4). Screen4 shows the error that appeared as I went to add a second indicator. Richard. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/8ad1e943/attachment.html From omajid at redhat.com Wed Sep 11 13:05:06 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 11 Sep 2013 16:05:06 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <373357671.13028161.1378916961814.JavaMail.root@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> Message-ID: <5230CCF2.7040100@redhat.com> On 09/11/2013 12:29 PM, Pavel Tisnovsky wrote: >> Can you describe the motivation for logging into syslog? Is this >> somethings lots of other user programs do? > > The main problem with the current solution is that most users don't know > how to enable debug output The single place to configure (enable) logging for both javaws and plugin is itweb-settings, no? Should we be fixing that to make things more obvious? > and also how to run ITW (+browser) from the console > to see error output. Syslog might be better and I think it's now the standard > way how applications might log its messages. I don't know if I have seen anything other than system applications (or non-interactive) applications use syslog. What other applications that you can interact with on the command line do this? At least as far as programs are concerned, my first instinct is to look at --help (or -help or -h) for some sort of --verbose or -v or --debug flag and use that. Maybe I have been doing it wrong, but I can't remember looking at the syslog for any interactive programs, ever. For the browser plugin, I guess syslog makes a little bit more sense for standard logging messages. I am not sure the actual debug messages from the plugin (as in ~/.icedtea/logs/) are appropriate - maybe it will be too much noise? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gnu_andrew at member.fsf.org Wed Sep 11 13:25:11 2013 From: gnu_andrew at member.fsf.org (=?UTF-8?B?QW5kw6/Drw==?=) Date: Wed, 11 Sep 2013 21:25:11 +0100 Subject: Upcoming 2.4.2 Release Message-ID: Some of you may have seen that Oracle have released u40 [0]. I'm currently testing 2.4.2, which will bring the 2.4 branch up to date with upstream on u40: $ /home/andrew/build/icedtea7-2.4/bin/java -version java version "1.7.0_40" OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo build 1.7.0_40-b60) OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) I plan to release this coming Wednesday, the 18th of September, if all looks good by then. Xerxes is going to look at updating JamVM support on the branch in the meantime. I've successfully doing a full bootstrap on GNU/Linux x86_64 native and results are looking good for a full bootstrap on GNU/Linux ppc32 Zero. Feedback on other builds before release would be much appreciated. Thanks, -- Andii :-) [0] http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-September/007676.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 11 13:30:40 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Sep 2013 20:30:40 +0000 Subject: [Bug 1533] Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1533 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |1.4.1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130911/f3f0239a/attachment.html From ptisnovs at redhat.com Wed Sep 11 14:26:20 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 11 Sep 2013 17:26:20 -0400 (EDT) Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5230CCF2.7040100@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <5230CCF2.7040100@redhat.com> Message-ID: <694381891.13152326.1378934780468.JavaMail.root@redhat.com> ----- Omair Majid wrote: > On 09/11/2013 12:29 PM, Pavel Tisnovsky wrote: > >> Can you describe the motivation for logging into syslog? Is this > >> somethings lots of other user programs do? > > > > The main problem with the current solution is that most users don't know > > how to enable debug output > > The single place to configure (enable) logging for both javaws and > plugin is itweb-settings, no? Should we be fixing that to make things > more obvious? > > > and also how to run ITW (+browser) from the console > > to see error output. Syslog might be better and I think it's now the standard > > way how applications might log its messages. > > I don't know if I have seen anything other than system applications (or > non-interactive) applications use syslog. What other applications that > you can interact with on the command line do this? > > At least as far as programs are concerned, my first instinct is to look > at --help (or -help or -h) for some sort of --verbose or -v or --debug > flag and use that. Maybe I have been doing it wrong, but I can't > remember looking at the syslog for any interactive programs, ever. > Yes, I see your point and I think it's valid for *most time*. But I have an example where the standard logging (and -v, --verbose...) is not sufficient: - there was a problem (well not just one :) with Elluminate & ITW cache. ITW fail to start Elluminate for the first time (firefox was started from GUI, ie. w/o console as is usual), but other starts were affected by the first attempt to start Elluminate (IIRC cache contained wrong items). At this moment it was almost impossible for given user to clean everything to be able to repeat the issue (with logging enabled this time!). With syslog it would be quite easy to simply investigate what *was* wrong on the first attempt. -> standard logging to stderr is perfect when things could be preciselly repeated > For the browser plugin, I guess syslog makes a little bit more sense for > standard logging messages. I am not sure the actual debug messages from > the plugin (as in ~/.icedtea/logs/) are appropriate - maybe it will be > too much noise? I'm +1 to log failures only (incl. full ST if possible). > > Thanks, > Omair > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gitne at gmx.de Wed Sep 11 14:48:43 2013 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 11 Sep 2013 23:48:43 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <522F1A4A.40804@redhat.com> References: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> <5225FB0A.4080504@redhat.com> <522F0F6C.1080604@gmx.de> <522F1A4A.40804@redhat.com> Message-ID: <5230E53B.30600@gmx.de> Hi, Jiri Vanek wrote: > On 09/10/2013 02:24 PM, Jacob Wisor wrote: >> Hello, >> >> Jiri Vanek wrote: >> [?] >> Although I do have a different opinion on javaws' switch description >> formatting, I have given in to Jiri's plea and reformatted messages in >> question. >> >> I have also added "TIFPFileChooserChooseButton=Vybrat" to >> Messages_cs.properties. >> >> This is my final version for review. I won't make any further >> modifications to this patch. If somebody feels displeased, is free do >> them himself. >> > > > Yup, go on and push. Please do not forget to add correct Chnagelog entry > (If you are not sure with it, feel free to post it for review before push!) > > Thank you for contribution! > J. I was thinking about back porting this to 1.4. Is there anybody who can not live with that? IMHO this patch does not really add any /new/ functionality. It is just some cosmetic changes, so it should be okay, I guess. Regards, Jacob From jvanek at redhat.com Wed Sep 11 23:16:36 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 08:16:36 +0200 Subject: [rfc][icedtea-web] Temporary files location chooser cleanup In-Reply-To: <5230E53B.30600@gmx.de> References: <201309031438.r83EcorB012970@mail-web03.excite.co.jp> <5225FB0A.4080504@redhat.com> <522F0F6C.1080604@gmx.de> <522F1A4A.40804@redhat.com> <5230E53B.30600@gmx.de> Message-ID: <52315C44.7090708@redhat.com> On 09/11/2013 11:48 PM, Jacob Wisor wrote: > Hi, > > Jiri Vanek wrote: >> On 09/10/2013 02:24 PM, Jacob Wisor wrote: >>> Hello, >>> >>> Jiri Vanek wrote: >>> [?] >>> Although I do have a different opinion on javaws' switch description formatting, I have given in >>> to Jiri's plea and reformatted messages in question. >>> >>> I have also added "TIFPFileChooserChooseButton=Vybrat" to Messages_cs.properties. >>> >>> This is my final version for review. I won't make any further modifications to this patch. If >>> somebody feels displeased, is free do them himself. >>> >> >> >> Yup, go on and push. Please do not forget to add correct Chnagelog entry (If you are not sure with >> it, feel free to post it for review before push!) >> >> Thank you for contribution! >> J. > > I was thinking about back porting this to 1.4. Is there anybody who can not live with that? IMHO > this patch does not really add any /new/ functionality. It is just some cosmetic changes, so it > should be okay, I guess. Into released branches are mostly coming just bugfixes. However, its always author's (or anybody's wiling to do an backport) decision to propose the backport. So as you proposed, I think it will do no harm. Normally I would say "let it warm a while in head, then backport" but as fixes in 1.4 had multiplied, I have an release in mind. So if you wont this fix to be included in release, please speed up both head and 1.4 push. Please, double test ITW 1.4 when commited! J. From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 00:25:25 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 07:25:25 +0000 Subject: [Bug 1407] Fatal error has been detected by Java Runtime Environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1407 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |unassigned at icedtea.classpat | |h.org, xerxes at zafena.se Component|IcedRobot |IcedTea Resolution|--- |INVALID Product|IcedRobot |IcedTea --- Comment #2 from Xerxes R?nby --- This native crash bug is caused by a defect in the eclipse swt/browser/WebKit code: https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 Upgrade eclipse or use the workarounds suggested in the eclipse bugreport. Closing as invalid since the bug is fixed by eclipse and not caused by any of the icedtea components. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/45770ddc/attachment.html From jvanek at redhat.com Thu Sep 12 00:48:44 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 09:48:44 +0200 Subject: Upcoming release of 1.4.1 Message-ID: <523171DC.40609@redhat.com> Hi folks! As fixes for 1.4 are multiplying, I would like to propose release of icedtea-web 1.4 at the beginning of next week. Please consider branch frozen in that time, as it will be subject of testing. J. From aph at redhat.com Thu Sep 12 01:31:34 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 09:31:34 +0100 Subject: Fwd: Helping in any way I can In-Reply-To: <70061F6B-3365-4FF6-956D-A566411D3933@gmail.com> References: <70061F6B-3365-4FF6-956D-A566411D3933@gmail.com> Message-ID: <52317BE6.6030300@redhat.com> -------------- next part -------------- An embedded message was scrubbed... From: Jake Boomgaarden Subject: Helping in any way I can Date: Wed, 11 Sep 2013 15:48:50 -0500 Size: 4776 Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/8ddf08fd/HelpinginanywayIcan.eml From ptisnovs at icedtea.classpath.org Thu Sep 12 02:17:20 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 12 Sep 2013 09:17:20 +0000 Subject: /hg/gfx-test: Six new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset 7db4f8532b55 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=7db4f8532b55 author: Pavel Tisnovsky date: Thu Sep 12 11:21:03 2013 +0200 Six new tests added into BitBltAffineQuadrantRotateTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 87 +++++++++- 2 files changed, 90 insertions(+), 2 deletions(-) diffs (123 lines): diff -r bb14fd00b8c6 -r 7db4f8532b55 ChangeLog --- a/ChangeLog Wed Sep 11 10:45:17 2013 +0200 +++ b/ChangeLog Thu Sep 12 11:21:03 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-12 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Six new tests added into BitBltAffineQuadrantRotateTransformOp. + 2013-09-11 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r bb14fd00b8c6 -r 7db4f8532b55 src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Wed Sep 11 10:45:17 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Thu Sep 12 11:21:03 2013 +0200 @@ -44,7 +44,6 @@ import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; -import java.awt.image.ConvolveOp; @@ -72,7 +71,7 @@ @Zoom(1) public class BitBltAffineQuadrantRotateTransformOp extends BitBltAffineTransformOp { - private static final int NUM_ROTATIONS = 5; + private static final int NUM_ROTATIONS = 6; private static final AffineTransform RotateTransformation[] = new AffineTransform[NUM_ROTATIONS]; @@ -278,6 +277,90 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** * Entry point to the test suite. * * @param args not used in this case From jvanek at redhat.com Thu Sep 12 02:40:01 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 11:40:01 +0200 Subject: [icedtea-web] Regression after refactoring for XDG specification In-Reply-To: <522F742F.1050001@gmx.de> References: <201307301614.r6UGErq1009615@mail-web01.excite.co.jp> <5225CF60.7030902@redhat.com> <522F742F.1050001@gmx.de> Message-ID: <52318BF1.40607@redhat.com> Ok, painfull review indeed! I did my best, see below: On 09/10/2013 09:34 PM, Jacob Wisor wrote: > Jiri Vanek schrieb: >> On 07/30/2013 06:14 PM, Jacob Wisor wrote: ..snip... >>> Nevertheless, thank you for addressing this issue, so please keep up the good work. > >> + private static void ensureMainDirs() { > > I am especially unhappy with this method's naming. I am aware that naming is a > difficult task in CS, but it pays off investing time into it. What does it > ensure main directories about? What happens if something cannot be or has not > been ensured? Does possibly a RuntimeException be thrown? Except from that, what > are main directories supposed to be? Perhaps root directories? What makes a > directory so distinct to be "main"? So, please find an adequate name and add > some documentation. Ok. I refactored it a bit and added javadoc. I hope it is much cleaner now. Thanx for well deserved kick. > > Some language stuff: >> + System.out.println("WARNING: key " + key + " do not have > value, switching to default"); > > "WARNING: key " + key + " has no value, setting to default value" > >> + System.out.println("WARNING: key " + key + " do not have > value, skipping"); > > "WARNING: key " + key + " has no value, skipping" > >> + System.err.println("ERROR: key " + key + " value: " + > value + " not existed, and was NOT created"); > > "ERROR: Directory " + value + " denoted by key " + key + " does not exist and > has not been created" > >> + System.out.println("OK: key " + key + " value: " + value > + " not existed, and was created"); > > "OK: Directory " + value + " denoted by key " + key + " did not exist but has > been created" Used. Thank you. > >> + //not private for testing >> + static String testMainDir(File f, boolean verbose) { > > Since you have made this method not private please add some documentation on > what this method's purpose is and what it does. It is definitely not > self-explanatory, even after reading its code. And, as mentioned below it is > probably unnecessary complex and seems to be mixing functional code with message I hope fixed by refactoring. > generating code. If you really want to keep this differentiated error reporting > feature, I would strongly advise to deglomerate functional and message > generating code. Well, nothing else then pure laziness was on my side here:( Sorry! I have added wrapper class which is keeping the symptoms of failures, and message is generated later, based on those flags. > >> + StringBuilder messages = new StringBuilder(); >> + if (!f.exists()) { >> + String s = (R("DCmaindircheckNotexists", f.getAbsolutePath())); >> + if (verbose) { >> + System.err.println(s); >> + } >> + messages.append(s).append("\n"); >> + } >> + if (!f.isDirectory()) { >> + String s = (R("DCmaindircheckNotdir", f.getAbsolutePath())); >> + if (verbose) { >> + System.err.println(s); >> + } >> + messages.append(s).append("\n"); >> + } > > These two tests are redundant. File.isDirectory() implies a check for existence. > It does not matter to the user or the application whether the desired directory > does not exist or is not a directory. In effect the program cannot read > from/write to the desired location. Partially yes, and aprtially no. IsDirectory really implies fileExists, but the message then would be misleading. I really would like to keep those most common error cases separately. > >> + File testFile = null; >> + boolean ok = false; > > Naming again. What is ok? renamed. > >> + try { >> + testFile = File.createTempFile("maindir", "check", f); >> + if (testFile.exists()) { >> + ok = true; >> + } >> + try { >> + FileUtils.saveFile("ww", testFile); >> + String s = FileUtils.loadFileAsString(testFile); >> + if (!s.trim().equals("ww")) { >> + ok = false; >> + } > > This test misses probably its point because it is testing for creating a *file* > not a *directory*. Most file systems with DACLs distinguish between /creating/ > files or directories, and between /creating/ and /writing/ into files or > directories, so it is important to be precise here. Furthermore, it tests > writing into a file instead of perhaps writing into a file in a subdirectory. Fair enough. I forgot about this case utterly. The test is now testing also subdirectory artificaly created inisde real directory (call to testMainDir one more times) > >> + } catch (Exception ex) { >> + if (JNLPRuntime.isDebug()) { >> + ex.printStackTrace(); >> + } >> + ok = false; >> + } > > No really, you should *not* catch arbitrary exceptions. It ain't just some empty > words. Well.. There are cases where it brings moore good then wrong. Endless loops are very often implemented like: public void run(){ while (true){ try{ }catch(Throwable r){ log(t) } } } By otherwords, when exception should not , by no means, disturb the program - eg my case above - it does not sound so bad... I would like to keep the exception cough as it is. > > After all, this method is overly complex and does not add any value for the > user. So I would advise you to discard this method. > >> diff -r 79bdc074df81 netx/net/sourceforge/jnlp/resources/Messages.properties >> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Aug 30 > 11:02:08 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Sep 03 > 13:56:53 2013 +0200 >> @@ -304,6 +304,9 @@ >> DCInternal=Internal error: {0} >> DCSourceInternal= >> DCUnknownSettingWithName=Property "{0}" is unknown. >> +DCmaindircheckNotexists=After all tryes your configuration directory {0} do > not exists >> +DCmaindircheckNotdir=Your configuration directory {0} is not directory >> +DCmaindircheckRwproblem=Your configuration directory {0} can not be > read/written properly > > Although it is nice of you to make precise distinctions between error types to > help the user it is actually not necessary and does not offer any additional > help when analyzing this problem. All these messages can be fused into one I really think that two most common cases file instead of dir and insufficient privledges should be distinguished. Unless you stongly insists, I would like to keep the three messages as it was. > sufficiently explanatory error message: DCCannotAccessConfig="Cannot access > configuration in file {full path to config file}." This should probably be > enough for an admin, even for a user. I would really advise this because it > makes the code simpler and yet serves its purpose. Well.. eh.. yes.m I admit that the code is complex. Now it is even a bit more complex. I hope that refactoring made it much more readable, and taht testing is strong enough. I would like to keep the "three distinguish messages" but any idea to keep them, check all parts, and make the check algorithm a bit simpler is welcomed. > > Thank you very much, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: xdgForcingDirs4.patch Type: text/x-patch Size: 29966 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/02ba40d4/xdgForcingDirs4.patch From ptisnovs at icedtea.classpath.org Thu Sep 12 02:45:03 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 12 Sep 2013 09:45:03 +0000 Subject: /hg/rhino-tests: Added new test testAsSubclass into the test suite Message-ID: changeset 78bab1320e16 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=78bab1320e16 author: Pavel Tisnovsky date: Thu Sep 12 11:48:50 2013 +0200 Added new test testAsSubclass into the test suite ScriptContextClassTest. diffstat: ChangeLog | 8 +- src/org/RhinoTests/ScriptContextClassTest.java | 158 +++++++++++++++++++++++++ 2 files changed, 165 insertions(+), 1 deletions(-) diffs (187 lines): diff -r 9a2fbbac6020 -r 78bab1320e16 ChangeLog --- a/ChangeLog Wed Sep 11 09:52:46 2013 +0200 +++ b/ChangeLog Thu Sep 12 11:48:50 2013 +0200 @@ -1,8 +1,14 @@ +2013-09-12 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Added new test testAsSubclass into the test suite + ScriptContextClassTest. + 2013-09-11 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: Added new test testCast (that checks Class.cast() method) into test - test suite InvocableClassTest. + test suite ScriptContextClassTest. 2013-09-10 Pavel Tisnovsky diff -r 9a2fbbac6020 -r 78bab1320e16 src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Wed Sep 11 09:52:46 2013 +0200 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Thu Sep 12 11:48:50 2013 +0200 @@ -1214,6 +1214,164 @@ } /** + * Test for method javax.script.ScriptContext.getClass().asSubclass() + */ + protected void testAsSubclass() { + try { + this.scriptContextClass.asSubclass(scriptContextClass); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptContextClass.asSubclass(java.lang.Void.class); + throw new AssertionError("Class.asSubclass(java.lang.Void.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Number.class); + throw new AssertionError("Class.asSubclass(java.lang.Number.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Byte.class); + throw new AssertionError("Class.asSubclass(java.lang.Byte.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Double.class); + throw new AssertionError("Class.asSubclass(java.lang.Double.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Float.class); + throw new AssertionError("Class.asSubclass(java.lang.Float.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Integer.class); + throw new AssertionError("Class.asSubclass(java.lang.Integer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Long.class); + throw new AssertionError("Class.asSubclass(java.lang.Long.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.Short.class); + throw new AssertionError("Class.asSubclass(java.lang.Short.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.String.class); + throw new AssertionError("Class.asSubclass(java.lang.String.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.StringBuffer.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuffer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.lang.StringBuilder.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuilder.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Color.class); + throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Font.class); + throw new AssertionError("Class.asSubclass(java.awt.Font.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Image.class); + throw new AssertionError("Class.asSubclass(java.awt.Image.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(javax.swing.JPanel.class); + throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(javax.swing.JColorChooser.class); + throw new AssertionError("Class.asSubclass(javax.swing.JColorChooser.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(javax.swing.JScrollBar.class); + throw new AssertionError("Class.asSubclass(javax.swing.JScrollBar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(javax.swing.JSlider.class); + throw new AssertionError("Class.asSubclass(javax.swing.JSlider.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for method javax.script.ScriptContext.getClass().cast() */ protected void testCast() { From jvanek at redhat.com Thu Sep 12 03:11:46 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 12:11:46 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5230B54D.6090002@gmx.de> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <5230B54D.6090002@gmx.de> Message-ID: <52319362.1040504@redhat.com> On 09/11/2013 08:24 PM, Jacob Wisor wrote: > Hello! > > Omair Majid wrote: >> Hi Jiri, >> >> I am mostly interested in this patch as a user (especially if some else >> has agreed to a full review of this giant patch). But it caught my >> interest so I have a few questions. > > I have always appreciated when an application transitioned from a custom logging solution or added > support for a native system logging facility. So, it is fair to say I am interested in this too. > As Java currently does not provide an abstraction for native system logging facilities my question > is: Where are you heading with this initiative? Exactly where you have described - to provide native logging. > ... >> >> Can you describe the motivation for logging into syslog? Is this >> somethings lots of other user programs do? > > I am not sure whether this question can be answered in general. AFAICT, I am observing a shift > especially in "business" applications transitioning to native system logging facilities. Where > native system logging facilities may be syslog on Un*x like systems or the "Event Log" service in To achieve this also on windows will need some advices, as I have no idea how "event log" is working. However I will be more then happy to implement (or provide api for windows programmer :) )this for windows to. > Windows. It is definitely a good idea and rather indicated for IcedTea-Web in my opinion. Having > configurable logging options in IcedTea-Web is going to make admin's lives surely easier. But, > native system logging support is probably going to require a dependency on a third party library > like Apache's log4j. > >> [?] >> External-library? > > I fear this is the only option if you want to have true native system logging support in > IcedTea-Web. This is one of these field where Java has fallen behind. I do not how much of a problem > this is ? given J2SE API's current state ? to add proper syslog support on Un*x systems in an > application like IcedTea-Web but adding support for Windows' Event Log service definitely requires > native bindings to Win32 API (which log4j does provide). In fact, there should be less of a problem > with the plug-in itself because it is built and compiled for a specific native target system anyway. > So, adding system dependent code with the help of the preprocessor is easy. This is still under development. TBH I would like to avoid external library. All I ahve checked till now had serious drawbacks and were (with all theirs dependences) incredibly big. For linux logging right now the best appears tcp or native api. For windows I really have to de-dust my knowledge and dig more./ J. From jvanek at redhat.com Thu Sep 12 03:18:42 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 12:18:42 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5230CCF2.7040100@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <5230CCF2.7040100@redhat.com> Message-ID: <52319502.1080404@redhat.com> On 09/11/2013 10:05 PM, Omair Majid wrote: > On 09/11/2013 12:29 PM, Pavel Tisnovsky wrote: >>> Can you describe the motivation for logging into syslog? Is this >>> somethings lots of other user programs do? >> >> The main problem with the current solution is that most users don't know >> how to enable debug output > > The single place to configure (enable) logging for both javaws and > plugin is itweb-settings, no? Should we be fixing that to make things > more obvious? I think this is correct. The custom logging to file in ~/.../log/ can be enabled here. However this logger was practically unused. I have reused it, and fork more message into it so it become much more usefull. For system log, I would choose different approach. I would let it enabled by default, and allow to disable it in itw-settings - I will add this as separate patch once refactroing is inside. > >> and also how to run ITW (+browser) from the console >> to see error output. Syslog might be better and I think it's now the standard >> way how applications might log its messages. > > I don't know if I have seen anything other than system applications (or > non-interactive) applications use syslog. What other applications that > you can interact with on the command line do this? > > At least as far as programs are concerned, my first instinct is to look > at --help (or -help or -h) for some sort of --verbose or -v or --debug > flag and use that. Maybe I have been doing it wrong, but I can't No, you are doing it right. But you are an developer. And good one. I As pavel mentioned - many users can not find even the terminal... > remember looking at the syslog for any interactive programs, ever. Well, I'm checking them quite soon ifI tryu to find any debug outputs... > > For the browser plugin, I guess syslog makes a little bit more sense for > standard logging messages. I am not sure the actual debug messages from > the plugin (as in ~/.icedtea/logs/) are appropriate - maybe it will be > too much noise? ~/.config/icedtea-web/log since 1.5 O:) > > Thanks, > Omair > From jvanek at redhat.com Thu Sep 12 03:27:05 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 12:27:05 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <373357671.13028161.1378916961814.JavaMail.root@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> Message-ID: <523196F9.40704@redhat.com> On 09/11/2013 06:29 PM, Pavel Tisnovsky wrote: > Hi Omair, > > ----- Omair Majid wrote: >> Hi Jiri, >> >> I am mostly interested in this patch as a user (especially if some else >> has agreed to a full review of this giant patch). But it caught my >> interest so I have a few questions. >> >> First, please don't abuse 'refactoring'. It's defined here: >> http://refactoring.com/. This patch is a change (probably a good one); >> it's not (just) a refactor. It is refactoring - the other changes are consequence - eg skeleton methods into which the ex.prrintstacktrace or system.out/err are refactroed. eh.. I admit they grow a bit over the plan. >> >> On 09/10/2013 04:19 PM, Jiri Vanek wrote: >>> This patch is introducing bottleneck for all stdout/err and >>> printstacktrace. >> >> I thought bottlenecks were bad? ;) You can consider System.out/err as same battleneck. Althoug I see your point, the lgging is always bottlenck for logging :) >> >>> By this it is first part of >>> http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 "introduce >>> new logging and think about abrt connection" >> >> Okay, but that's not explaining things any better :) >> >>> Inspiration: >>> - get rid of repeated if JNLPRuntime.isDebug >> >> I am sure it's not relevant here, but OpenJDK switched from: >> >> log(foo) >> >> to >> >> if (debug) { >> log(foo) >> } >> I'm aware of it. But openjdk is generating endlessly more debugmessages... >> in a couple of places due to performance reasons. Just something to keep >> in mind. >> >>> - log properly into syslog (comming as next patch(*)(**) after this one >>> s in) >> >> This sounds (at once) really cool and really scary. >> >> Can you elaborate on exactly what you mean by syslog? Is it the syslog >> protocol as defined in RFC 3164? What if a syslog daemon is not running? > > Yeah we thought about this one. Research in progress:( > >> >> Can you describe the motivation for logging into syslog? Is this >> somethings lots of other user programs do? > > The main problem with the current solution is that most users don't know > how to enable debug output and also how to run ITW (+browser) from the console > to see error output. Syslog might be better and I think it's now the standard > way how applications might log its messages. > >> >>> - revive the old logger which logs into ~/..../logs to log more then >>> few start up exception (if enabled) >> >> Are you saying the old logger is broken? Can you elaborate? >> Not broken, as working, but broken as not doing its job - it was logging really only few, minor exceptions. User needs to be told about it (or found on his own how to enable it and where to found the logs) > >> >>> The only real code is in extractedLogging-bottleNeck. The syslog >>> writer(*) is not yet implemented and will be inside method write, which >>> is now just dummy >> >> Have you looked at existing implementations? Maybe we can reuse something? > > We can, I'll inform you when simple demo will be created. > >> >>> (**) The best way how to integrate the syslogs writer is still under >>> research (tcp?, exec?) >> >> External-library? As I wrote to jacob. All I know are incredibly big and complex. I hope to end with println int tcp socket... >> >> >> I am probably missing something, but why isn't ItwLogger a >> java.util.logging.Logger? Why it should be? /me being ironic, but have not found a real answer to this question >> >> Please add javadocs to indicate when to use which methods. Also, please >> add unit tests for (at least) the ItwLogger class. Sure! >> >>> The only real changes are minor and are in >>> /tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java >> >> s/baos1/outputStream and s/baos2/errorStream/ >> >>> and removed duplicated code arround exceptionToString. >>> netx/net/sourceforge/jnlp/ParseException.java (removed redundant code >>> 1.3 compatibility..hehe) >> >> A separate patch, please! Not so sure... I was removing processing of printstacktrace, which I repalced (elsewhere) by the ItwLogger call, so I would rather keep it inside. But next time I will keep it in mind and at least post it to review alongised with rest. J. From alex.kasko.lists at gmail.com Thu Sep 12 03:56:12 2013 From: alex.kasko.lists at gmail.com (Alex Kasko) Date: Thu, 12 Sep 2013 14:56:12 +0400 Subject: Upcoming 2.4.2 Release In-Reply-To: References: Message-ID: <52319DCC.9000408@gmail.com> On 09/12/2013 12:25 AM, And?? wrote: > Some of you may have seen that Oracle have released u40 [0]. I'm > currently testing 2.4.2, which will bring the 2.4 branch up to date > with upstream on u40: > > $ /home/andrew/build/icedtea7-2.4/bin/java -version > java version "1.7.0_40" > OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo > build 1.7.0_40-b60) > OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) > > I plan to release this coming Wednesday, the 18th of September, if all > looks good by then. > Xerxes is going to look at updating JamVM support on the branch in the meantime. > > I've successfully doing a full bootstrap on GNU/Linux x86_64 native > and results are looking good for a full bootstrap on GNU/Linux ppc32 > Zero. Feedback on other builds before release would be much > appreciated. Builds of 2.4.2pre+r41272f3d7393 preconfigured sources work on windows (i586, amd64) and linux (i586, amd64), but fail on macosx due to http://bugs.sun.com/view_bug.do?bug_id=8021771 Was broken by this commit - http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot/rev/370cbb35dbca Trying to rebuild with a workaround patch attached to bug right now. > > Thanks, > -- Regards, Alex Kasko From jvanek at redhat.com Thu Sep 12 06:01:53 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Sep 2013 15:01:53 +0200 Subject: [rfc][icedtea-web]Fixing make dist for both head and 1.4 Message-ID: <5231BB41.4000209@redhat.com> Hi! On head the make dist is broken by recent patch... blame be the reviewer (me) ! For 1.4 the dist tarball is generated without NEW_LINE_IFS and netx-dist-whitelist. As the tarball should be usable in same way as cloned repo and so all targets should pass, then Both files should be imho added. I have added them also for head dist (same patch..) and together with html-gen.sh which definitley belongs here. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: addTestFilesFormakeDist_1.4.patch Type: text/x-patch Size: 555 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/ccda34a2/addTestFilesFormakeDist_1.4.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: fixDist_head.patch Type: text/x-patch Size: 586 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/ccda34a2/fixDist_head.patch From alex.kasko.lists at gmail.com Thu Sep 12 06:46:27 2013 From: alex.kasko.lists at gmail.com (Alex Kasko) Date: Thu, 12 Sep 2013 17:46:27 +0400 Subject: Upcoming 2.4.2 Release In-Reply-To: <52319DCC.9000408@gmail.com> References: <52319DCC.9000408@gmail.com> Message-ID: <5231C5B3.1070604@gmail.com> On 09/12/2013 02:56 PM, Alex Kasko wrote: > On 09/12/2013 12:25 AM, And?? wrote: >> Some of you may have seen that Oracle have released u40 [0]. I'm >> currently testing 2.4.2, which will bring the 2.4 branch up to date >> with upstream on u40: >> >> $ /home/andrew/build/icedtea7-2.4/bin/java -version >> java version "1.7.0_40" >> OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo >> build 1.7.0_40-b60) >> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) >> >> I plan to release this coming Wednesday, the 18th of September, if all >> looks good by then. >> Xerxes is going to look at updating JamVM support on the branch in the >> meantime. >> >> I've successfully doing a full bootstrap on GNU/Linux x86_64 native >> and results are looking good for a full bootstrap on GNU/Linux ppc32 >> Zero. Feedback on other builds before release would be much >> appreciated. > Builds of 2.4.2pre+r41272f3d7393 preconfigured sources work on windows > (i586, amd64) and linux (i586, amd64), but fail on macosx due to > http://bugs.sun.com/view_bug.do?bug_id=8021771 > Was broken by this commit - > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot/rev/370cbb35dbca > > > Trying to rebuild with a workaround patch attached to bug right now. Mac OS X build works with the patch from bug 8021771. > >> >> Thanks, >> > > -- Regards, Alex Kasko From xerxes at zafena.se Thu Sep 12 07:11:34 2013 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Thu, 12 Sep 2013 16:11:34 +0200 Subject: Upcoming 2.4.2 Release - JamVM test logs ia32 & x86_64 In-Reply-To: References: Message-ID: <5231CB96.1060502@zafena.se> 2013-09-11 22:25, And?? skrev: > Some of you may have seen that Oracle have released u40 [0]. I'm > currently testing 2.4.2, which will bring the 2.4 branch up to date > with upstream on u40: > > $ /home/andrew/build/icedtea7-2.4/bin/java -version > java version "1.7.0_40" > OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo > build 1.7.0_40-b60) > OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) > > I plan to release this coming Wednesday, the 18th of September, if all > looks good by then. > Xerxes is going to look at updating JamVM support on the branch in the meantime. > > I've successfully doing a full bootstrap on GNU/Linux x86_64 native > and results are looking good for a full bootstrap on GNU/Linux ppc32 > Zero. Feedback on other builds before release would be much > appreciated. > > Thanks, > JamVM test logs, before jamvm update: ia32 & x86_64 Test procedure: apt-get install mercurial apt-get build-dep openjdk-7 hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 cd icedtea7-2.4 ./autogen.sh ./configure --enable-jamvm --disable-system-lcms ; make ; make check https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 ./openjdk.build/j2sdk-image/bin/java -version java version "1.7.0_40" IcedTea Runtime Environment (2.4.2pre+r41272f3d7393) (Ubuntu build 1.7.0_40-b60) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) --------------- jtreg console summary for hotspot --------------- Error: compiler/5091921/Test6850611.java Error: compiler/5091921/Test6905845.java Error: compiler/5091921/Test6931567.java Error: compiler/5091921/Test6959129.java Error: compiler/5091921/Test6992759.java Error: compiler/5091921/Test7020614.java Error: compiler/6866651/Test.java Error: compiler/6901572/Test.java FAILED: compiler/6990212/Test6990212.java FAILED: compiler/7009231/Test7009231.java Error: compiler/7024475/Test7024475.java FAILED: compiler/7088020/Test7088020.java Error: compiler/7100757/Test7100757.java FAILED: compiler/7141637/SpreadNullArg.java FAILED: compiler/7190310/Test7190310_unsafe.java Error: compiler/7196199/Test7196199.java Error: compiler/8004741/Test8004741.java FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java FAILED: compiler/membars/DekkerTest.java FAILED: gc/6581734/Test6581734.java FAILED: gc/6941923/test6941923.sh FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java FAILED: runtime/6294277/SourceDebugExtension.java FAILED: runtime/6626217/Test6626217.sh FAILED: runtime/6819213/TestBootNativeLibraryPath.java FAILED: runtime/6929067/Test6929067.sh FAILED: runtime/6981737/Test6981737.java FAILED: runtime/7110720/Test7110720.sh FAILED: runtime/7116786/Test7116786.java FAILED: runtime/7158988/FieldMonitor.java FAILED: runtime/7160757/Test7160757.java FAILED: runtime/7162488/Test7162488.sh Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java FAILED: runtime/NMT/BaselineWithParameter.java FAILED: runtime/NMT/CommandLineDetail.java FAILED: runtime/NMT/CommandLineEmptyArgument.java FAILED: runtime/NMT/CommandLineInvalidArgument.java FAILED: runtime/NMT/CommandLineSummary.java FAILED: runtime/NMT/CommandLineTurnOffNMT.java FAILED: runtime/NMT/JcmdDiffCallsite.java FAILED: runtime/NMT/JcmdScale.java FAILED: runtime/NMT/JcmdWithNMTDisabled.java FAILED: runtime/NMT/MallocTestType.java FAILED: runtime/NMT/PrintNMTStatistics.java FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java FAILED: runtime/NMT/ReleaseCommittedMemory.java FAILED: runtime/NMT/ShutdownTwice.java FAILED: runtime/NMT/SummaryAfterShutdown.java FAILED: runtime/NMT/SummarySanityCheck.java FAILED: runtime/NMT/ThreadedMallocTestType.java FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java Test results: passed: 205; failed: 48; error: 13 --------------- jtreg console summary for jdk --------------- FAILED: com/oracle/security/ucrypto/TestRSA.java --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java Error: tools/javac/Diagnostics/6769027/T6769027.java FAILED: tools/javac/processing/6499119/ClassProcessor.java Test results: passed: 1,954; failed: 2; error: 1 https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 ./openjdk.build/j2sdk-image/bin/java -version java version "1.7.0_40" IcedTea Runtime Environment (2.4.2pre+r41272f3d7393) (Ubuntu build 1.7.0_40-b60) JamVM (build 1.6.0-devel, inline-threaded interpreter) familjen at familjen-P67A-UD3:~/icedtea/icedtea7-2.4$ cat test/jtreg-summary.log --------------- jtreg console summary for hotspot --------------- Error: compiler/5091921/Test6959129.java FAILED: compiler/5091921/Test7005594.java FAILED: compiler/6340864/TestByteVect.java FAILED: compiler/6340864/TestDoubleVect.java FAILED: compiler/6340864/TestFloatVect.java FAILED: compiler/6340864/TestIntVect.java FAILED: compiler/6340864/TestLongVect.java FAILED: compiler/6340864/TestShortVect.java FAILED: compiler/6865265/StackOverflowBug.java Error: compiler/6901572/Test.java FAILED: compiler/6910618/Test.java FAILED: compiler/6942326/Test.java FAILED: compiler/6990212/Test6990212.java FAILED: compiler/7088020/Test7088020.java FAILED: compiler/7116216/StackOverflow.java FAILED: compiler/7141637/SpreadNullArg.java FAILED: compiler/7190310/Test7190310_unsafe.java FAILED: compiler/7192963/TestByteVect.java FAILED: compiler/7192963/TestDoubleVect.java FAILED: compiler/7192963/TestFloatVect.java FAILED: compiler/7192963/TestIntVect.java FAILED: compiler/7192963/TestLongVect.java FAILED: compiler/7192963/TestShortVect.java FAILED: compiler/7196199/Test7196199.java FAILED: compiler/7199742/Test7199742.java FAILED: compiler/8001183/TestCharVect.java FAILED: compiler/8002069/Test8002069.java FAILED: compiler/8004741/Test8004741.java FAILED: compiler/8005419/Test8005419.java FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java FAILED: compiler/membars/DekkerTest.java FAILED: gc/6581734/Test6581734.java FAILED: gc/6845368/bigobj.java FAILED: gc/6941923/test6941923.sh FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java FAILED: runtime/6294277/SourceDebugExtension.java FAILED: runtime/6626217/Test6626217.sh FAILED: runtime/6929067/Test6929067.sh FAILED: runtime/6981737/Test6981737.java FAILED: runtime/7110720/Test7110720.sh FAILED: runtime/7116786/Test7116786.java FAILED: runtime/7158988/FieldMonitor.java FAILED: runtime/7160757/Test7160757.java FAILED: runtime/7162488/Test7162488.sh Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java FAILED: runtime/NMT/BaselineWithParameter.java FAILED: runtime/NMT/CommandLineDetail.java FAILED: runtime/NMT/CommandLineEmptyArgument.java FAILED: runtime/NMT/CommandLineInvalidArgument.java FAILED: runtime/NMT/CommandLineSummary.java FAILED: runtime/NMT/CommandLineTurnOffNMT.java FAILED: runtime/NMT/JcmdDiffCallsite.java FAILED: runtime/NMT/JcmdScale.java FAILED: runtime/NMT/JcmdWithNMTDisabled.java FAILED: runtime/NMT/MallocTestType.java FAILED: runtime/NMT/PrintNMTStatistics.java FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java FAILED: runtime/NMT/ReleaseCommittedMemory.java FAILED: runtime/NMT/ShutdownTwice.java FAILED: runtime/NMT/SummaryAfterShutdown.java FAILED: runtime/NMT/SummarySanityCheck.java FAILED: runtime/NMT/ThreadedMallocTestType.java FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java Test results: passed: 193; failed: 70; error: 3 --------------- jtreg console summary for jdk --------------- FAILED: com/oracle/security/ucrypto/TestRSA.java FAILED: com/sun/crypto/provider/Cipher/DES/PaddingTest.java FAILED: com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java FAILED: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java FAILED: com/sun/crypto/provider/TLS/TestKeyMaterial.java FAILED: com/sun/crypto/provider/TLS/TestMasterSecret.java FAILED: com/sun/crypto/provider/TLS/TestPRF.java FAILED: com/sun/crypto/provider/TLS/TestPRF12.java FAILED: com/sun/jdi/connect/spi/DebugUsingCustomConnector.java FAILED: com/sun/jdi/redefine/RedefineTest.java FAILED: com/sun/jdi/redefineMethod/RedefineTest.java --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java FAILED: tools/javac/processing/6499119/ClassProcessor.java Test results: passed: 1,955; failed: 2 Cheers Xerxes From aazores at redhat.com Thu Sep 12 07:13:12 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 12 Sep 2013 10:13:12 -0400 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <522DE65F.2010702@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> <522D7E0B.2010604@redhat.com> <522DE424.5030207@redhat.com> <522DE65F.2010702@redhat.com> Message-ID: <5231CBF8.8080709@redhat.com> On 09/09/2013 11:16 AM, Jiri Vanek wrote: > ..snip.. >> diff --git >> a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> >> --- >> a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> +++ >> b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >> @@ -51,6 +51,7 @@ >> import net.sourceforge.jnlp.ProcessResult; >> import net.sourceforge.jnlp.annotations.KnownToFail; >> import net.sourceforge.jnlp.config.Defaults; >> +import net.sourceforge.jnlp.tools.MessageProperties; >> import org.junit.AfterClass; >> import org.junit.Assert; >> >> @@ -77,17 +78,6 @@ >> "locks" + File.separator + >> "netx_running"); >> >> - private static final String messageResourcePath = >> "net/sourceforge/jnlp/resources/Messages.properties"; >> - private static PropertyResourceBundle messageBundle = null; >> - >> - static { >> - try { >> - messageBundle = >> - new >> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >> - } catch (IOException e) { >> - } >> - } >> - >> String testS = "#netx file\n" >> + "#Mon Dec 12 16:20:46 CET 2011\n" >> + >> "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" >> @@ -284,7 +274,7 @@ >> Thread.sleep(1000); >> pr = tryToClearcache(); >> >> - String cacheClearError = >> messageBundle.getString("CCannotClearCache"); > > This is incorrect. The message do not need to be en. Although most of > us have english locales, the framework should solve this. As per Omair's suggestion (thanks! Didn't realize how much functionality the resource bundle classes actually provided :) ), this is taken care of quite neatly now. > >> + String cacheClearError = >> MessageProperties.getMessage_en("CCannotClearCache"); >> Assert.assertTrue("Stderr should contain " + >> cacheClearError + ", but did not.", >> pr.stderr.contains(cacheClearError)); >> assertCacheIsNotEmpty(); >> } >> @@ -325,7 +315,6 @@ >> } >> >> @Test >> - @KnownToFail >> public void testAlreadyLoadedCached11() throws Exception { >> testsBody(CR11, 1); >> testsBody(CR11, 2); >> diff --git >> a/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >> b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >> >> new file mode 100644 >> --- /dev/null >> +++ >> b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >> @@ -0,0 +1,79 @@ >> +package net.sourceforge.jnlp.tools; >> + >> +import java.util.PropertyResourceBundle; >> +import java.io.IOException; >> + >> +public class MessageProperties { > > I like this enum! > >> + >> + public enum Locale { >> + en, >> + de, >> + cs, >> + pl >> + } >> + >> + private static final String resourcePath = >> "net/sourceforge/jnlp/resources/Messages"; >> + private static final String resourceExtension = ".properties"; > > I would like see the loaded resources as singletons, and so avoid > repeated loading. I would say static final Map PropertyResourceBundle> can be enough. Apparently the ResourceBundle internally handles caching, and with the cleaner way it's implemented now using the getBundle factory method, loading singleton instances shouldn't be an issue. That's what the docs say at least :) >> + >> + /* eg if given locale "de", returns a PropertyResourceBundle using >> + * "net/sourceforge/jnlp/resources/Messages_de.properties". >> + * if given "en", the same but using >> "net/sourceforge/jnlp/resources/Messages.properties" >> + */ >> + private static PropertyResourceBundle >> getMessageBundleFromLocale(Locale locale) throws IOException { >> + final ClassLoader cl = >> MessageProperties.class.getClassLoader(); >> + >> + final String localizationCode; >> + if (locale == Locale.en) { >> + localizationCode = ""; >> + } else { >> + localizationCode = "_" + locale.toString(); >> + } >> + >> + final String path = resourcePath + localizationCode + >> resourceExtension; >> + return new >> PropertyResourceBundle(cl.getResourceAsStream(path)); >> + } >> + >> + /** >> + * Retrieve a localized message from resource file >> + * @param locale the localization of Messages.properties to search >> + * @param key >> + * @return the message corresponding to the given key from the >> specified localization >> + * @throws IOException if the specified Messages localization is >> unavailable >> + */ > > The base method for this should be > > public static String getMessage(String key) throws IOException > which will determine the locale and the call > getMessage(Locale locale, String key) throws IOException { > > Also I think I would abandon the getMessage_XXX as they are easily to > be used via your enum. > But as you already wrote them.. :) > > > And sorry to dig it - this class need unittest.. :( Hm, how to unit test this properly... the tests in the patch here depend on each localization of Messages.properties to contain a specific hardcoded value for a specific hard coded key. That's how I'm checking that specifying the locale manually is working (for both existing and non-existent localizations). The "default locale" test is probably even flakier. What do you think? Would it be better to have the test implement some other way of reading the .properties files and compare the results? Also the SupportedLanguages enum might look a little useless now but it's just there as a hint for which Locales you can actually use and expect to get properly localized messages back out. I think it's maybe worth keeping just for that, and it's not cluttering up the class too much IMO. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: MessageProperties.patch Type: text/x-patch Size: 9731 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/63e56783/MessageProperties.patch From alex.kasko.lists at gmail.com Thu Sep 12 07:13:50 2013 From: alex.kasko.lists at gmail.com (Alex Kasko) Date: Thu, 12 Sep 2013 18:13:50 +0400 Subject: Question about IcedTea patches Message-ID: <5231CC1E.8030802@gmail.com> Hi, I have a question about IcedTea patches. As far as I understand (please correct me if I am wrong further), some IcedTea7 specific changes are kept in icedtea7-forest/* mercurial repositories and other changes are kept as patches in icedtea7 repository. And it was done so (besides legacy reasons) to be able to apply different patches for different configure switches. Won't it be better to have all the changes (to upstream OpenJDK code and makefiles) in forest/* repositories? Changes for different configure switches may be kept as branches and configure script may merge selected branches with the same logic that is used now for applying patches. If coupling configure with DVCS is not desired (e.g for source releases) patch files may be created from selected branches on the fly (git format-patch) during the developer build or source release preparations. Is this approach technically possible or there are more complications I miss? -- Regards, Alex Kasko From gnu.andrew at redhat.com Thu Sep 12 07:49:44 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 12 Sep 2013 10:49:44 -0400 (EDT) Subject: Upcoming 2.4.2 Release In-Reply-To: <5231C5B3.1070604@gmail.com> References: <52319DCC.9000408@gmail.com> <5231C5B3.1070604@gmail.com> Message-ID: <873674559.12242165.1378997384658.JavaMail.root@redhat.com> ----- Original Message ----- > On 09/12/2013 02:56 PM, Alex Kasko wrote: > > On 09/12/2013 12:25 AM, And?? wrote: > >> Some of you may have seen that Oracle have released u40 [0]. I'm > >> currently testing 2.4.2, which will bring the 2.4 branch up to date > >> with upstream on u40: > >> > >> $ /home/andrew/build/icedtea7-2.4/bin/java -version > >> java version "1.7.0_40" > >> OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo > >> build 1.7.0_40-b60) > >> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) > >> > >> I plan to release this coming Wednesday, the 18th of September, if all > >> looks good by then. > >> Xerxes is going to look at updating JamVM support on the branch in the > >> meantime. > >> > >> I've successfully doing a full bootstrap on GNU/Linux x86_64 native > >> and results are looking good for a full bootstrap on GNU/Linux ppc32 > >> Zero. Feedback on other builds before release would be much > >> appreciated. > > Builds of 2.4.2pre+r41272f3d7393 preconfigured sources work on windows > > (i586, amd64) and linux (i586, amd64), but fail on macosx due to > > http://bugs.sun.com/view_bug.do?bug_id=8021771 > > Was broken by this commit - > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot/rev/370cbb35dbca > > > > > > Trying to rebuild with a workaround patch attached to bug right now. > Mac OS X build works with the patch from bug 8021771. > > > > >> > >> Thanks, > >> > > > > > > > -- > Regards, > Alex Kasko > Thanks for the heads up! I'll get 8021771 pulled into the 2.4 HotSpot repository. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Thu Sep 12 07:52:32 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 12 Sep 2013 14:52:32 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: 2 new changesets Message-ID: changeset 48d35f833369 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=48d35f833369 author: dsamersoff date: Wed Aug 07 19:02:06 2013 +0400 8021771: warning stat64 is deprecated - when building on OSX 10.7.5 Summary: stat64 have to be replaced with stat Reviewed-by: dholmes, kmo Contributed-by: rednaxelafx at gmail.com changeset 4fc9d4d964ad in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=4fc9d4d964ad author: andrew date: Thu Sep 12 15:52:17 2013 +0100 Removed tag icedtea-2.4.2 diffstat: .hgtags | 2 ++ src/os/bsd/vm/attachListener_bsd.cpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diffs (29 lines): diff -r 56f4e181b8d4 -r 4fc9d4d964ad .hgtags --- a/.hgtags Wed Sep 11 16:55:12 2013 +0100 +++ b/.hgtags Thu Sep 12 15:52:17 2013 +0100 @@ -561,3 +561,5 @@ eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43 af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60 f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 +f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 diff -r 56f4e181b8d4 -r 4fc9d4d964ad src/os/bsd/vm/attachListener_bsd.cpp --- a/src/os/bsd/vm/attachListener_bsd.cpp Wed Sep 11 16:55:12 2013 +0100 +++ b/src/os/bsd/vm/attachListener_bsd.cpp Thu Sep 12 15:52:17 2013 +0100 @@ -460,14 +460,14 @@ void AttachListener::vm_start() { char fn[UNIX_PATH_MAX]; - struct stat64 st; + struct stat st; int ret; int n = snprintf(fn, UNIX_PATH_MAX, "%s/.java_pid%d", os::get_temp_directory(), os::current_process_id()); assert(n < (int)UNIX_PATH_MAX, "java_pid file name buffer overflow"); - RESTARTABLE(::stat64(fn, &st), ret); + RESTARTABLE(::stat(fn, &st), ret); if (ret == 0) { ret = ::unlink(fn); if (ret == -1) { From gnu_andrew at member.fsf.org Thu Sep 12 07:58:08 2013 From: gnu_andrew at member.fsf.org (=?UTF-8?B?QW5kw6/Drw==?=) Date: Thu, 12 Sep 2013 15:58:08 +0100 Subject: Upcoming 2.4.2 Release - JamVM test logs ia32 & x86_64 In-Reply-To: <5231CB96.1060502@zafena.se> References: <5231CB96.1060502@zafena.se> Message-ID: On 12 September 2013 15:11, Xerxes R?nby wrote: > 2013-09-11 22:25, And?? skrev: >> Some of you may have seen that Oracle have released u40 [0]. I'm >> currently testing 2.4.2, which will bring the 2.4 branch up to date >> with upstream on u40: >> >> $ /home/andrew/build/icedtea7-2.4/bin/java -version >> java version "1.7.0_40" >> OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo >> build 1.7.0_40-b60) >> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) >> >> I plan to release this coming Wednesday, the 18th of September, if all >> looks good by then. >> Xerxes is going to look at updating JamVM support on the branch in the meantime. >> >> I've successfully doing a full bootstrap on GNU/Linux x86_64 native >> and results are looking good for a full bootstrap on GNU/Linux ppc32 >> Zero. Feedback on other builds before release would be much >> appreciated. >> >> Thanks, >> > > > JamVM test logs, before jamvm update: ia32 & x86_64 > > Test procedure: > apt-get install mercurial > apt-get build-dep openjdk-7 > hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 > cd icedtea7-2.4 > ./autogen.sh > ./configure --enable-jamvm --disable-system-lcms ; make ; make check > > > https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 > ./openjdk.build/j2sdk-image/bin/java -version > java version "1.7.0_40" > IcedTea Runtime Environment (2.4.2pre+r41272f3d7393) (Ubuntu build 1.7.0_40-b60) > JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) > > --------------- jtreg console summary for hotspot --------------- > Error: compiler/5091921/Test6850611.java > Error: compiler/5091921/Test6905845.java > Error: compiler/5091921/Test6931567.java > Error: compiler/5091921/Test6959129.java > Error: compiler/5091921/Test6992759.java > Error: compiler/5091921/Test7020614.java > Error: compiler/6866651/Test.java > Error: compiler/6901572/Test.java > FAILED: compiler/6990212/Test6990212.java > FAILED: compiler/7009231/Test7009231.java > Error: compiler/7024475/Test7024475.java > FAILED: compiler/7088020/Test7088020.java > Error: compiler/7100757/Test7100757.java > FAILED: compiler/7141637/SpreadNullArg.java > FAILED: compiler/7190310/Test7190310_unsafe.java > Error: compiler/7196199/Test7196199.java > Error: compiler/8004741/Test8004741.java > FAILED: compiler/8010927/Test8010927.java > FAILED: compiler/cpuflags/RestoreMXCSR.java > FAILED: compiler/membars/DekkerTest.java > FAILED: gc/6581734/Test6581734.java > FAILED: gc/6941923/test6941923.sh > FAILED: gc/heap_inspection/TestPrintClassHistogram.java > FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java > FAILED: gc/TestVerifyBeforeGCDuringStartup.java > FAILED: runtime/6294277/SourceDebugExtension.java > FAILED: runtime/6626217/Test6626217.sh > FAILED: runtime/6819213/TestBootNativeLibraryPath.java > FAILED: runtime/6929067/Test6929067.sh > FAILED: runtime/6981737/Test6981737.java > FAILED: runtime/7110720/Test7110720.sh > FAILED: runtime/7116786/Test7116786.java > FAILED: runtime/7158988/FieldMonitor.java > FAILED: runtime/7160757/Test7160757.java > FAILED: runtime/7162488/Test7162488.sh > Error: runtime/7196045/Test7196045.java > FAILED: runtime/CommandLine/CompilerConfigFileWarning.java > FAILED: runtime/CommandLine/ConfigFileWarning.java > FAILED: runtime/NMT/BaselineWithParameter.java > FAILED: runtime/NMT/CommandLineDetail.java > FAILED: runtime/NMT/CommandLineEmptyArgument.java > FAILED: runtime/NMT/CommandLineInvalidArgument.java > FAILED: runtime/NMT/CommandLineSummary.java > FAILED: runtime/NMT/CommandLineTurnOffNMT.java > FAILED: runtime/NMT/JcmdDiffCallsite.java > FAILED: runtime/NMT/JcmdScale.java > FAILED: runtime/NMT/JcmdWithNMTDisabled.java > FAILED: runtime/NMT/MallocTestType.java > FAILED: runtime/NMT/PrintNMTStatistics.java > FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java > FAILED: runtime/NMT/ReleaseCommittedMemory.java > FAILED: runtime/NMT/ShutdownTwice.java > FAILED: runtime/NMT/SummaryAfterShutdown.java > FAILED: runtime/NMT/SummarySanityCheck.java > FAILED: runtime/NMT/ThreadedMallocTestType.java > FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java > FAILED: runtime/NMT/VirtualAllocTestType.java > FAILED: sanity/WBApi.java > FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh > FAILED: serviceability/attach/AttachWithStalePidFile.java > FAILED: serviceability/ParserTest.java > Test results: passed: 205; failed: 48; error: 13 > --------------- jtreg console summary for jdk --------------- > FAILED: com/oracle/security/ucrypto/TestRSA.java > --------------- jtreg console summary for langtools --------------- > FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java > Error: tools/javac/Diagnostics/6769027/T6769027.java > FAILED: tools/javac/processing/6499119/ClassProcessor.java > Test results: passed: 1,954; failed: 2; error: 1 > > > > https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 > ./openjdk.build/j2sdk-image/bin/java -version > java version "1.7.0_40" > IcedTea Runtime Environment (2.4.2pre+r41272f3d7393) (Ubuntu build 1.7.0_40-b60) > JamVM (build 1.6.0-devel, inline-threaded interpreter) > > familjen at familjen-P67A-UD3:~/icedtea/icedtea7-2.4$ cat test/jtreg-summary.log > --------------- jtreg console summary for hotspot --------------- > Error: compiler/5091921/Test6959129.java > FAILED: compiler/5091921/Test7005594.java > FAILED: compiler/6340864/TestByteVect.java > FAILED: compiler/6340864/TestDoubleVect.java > FAILED: compiler/6340864/TestFloatVect.java > FAILED: compiler/6340864/TestIntVect.java > FAILED: compiler/6340864/TestLongVect.java > FAILED: compiler/6340864/TestShortVect.java > FAILED: compiler/6865265/StackOverflowBug.java > Error: compiler/6901572/Test.java > FAILED: compiler/6910618/Test.java > FAILED: compiler/6942326/Test.java > FAILED: compiler/6990212/Test6990212.java > FAILED: compiler/7088020/Test7088020.java > FAILED: compiler/7116216/StackOverflow.java > FAILED: compiler/7141637/SpreadNullArg.java > FAILED: compiler/7190310/Test7190310_unsafe.java > FAILED: compiler/7192963/TestByteVect.java > FAILED: compiler/7192963/TestDoubleVect.java > FAILED: compiler/7192963/TestFloatVect.java > FAILED: compiler/7192963/TestIntVect.java > FAILED: compiler/7192963/TestLongVect.java > FAILED: compiler/7192963/TestShortVect.java > FAILED: compiler/7196199/Test7196199.java > FAILED: compiler/7199742/Test7199742.java > FAILED: compiler/8001183/TestCharVect.java > FAILED: compiler/8002069/Test8002069.java > FAILED: compiler/8004741/Test8004741.java > FAILED: compiler/8005419/Test8005419.java > FAILED: compiler/8010927/Test8010927.java > FAILED: compiler/cpuflags/RestoreMXCSR.java > FAILED: compiler/membars/DekkerTest.java > FAILED: gc/6581734/Test6581734.java > FAILED: gc/6845368/bigobj.java > FAILED: gc/6941923/test6941923.sh > FAILED: gc/heap_inspection/TestPrintClassHistogram.java > FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java > FAILED: gc/TestVerifyBeforeGCDuringStartup.java > FAILED: runtime/6294277/SourceDebugExtension.java > FAILED: runtime/6626217/Test6626217.sh > FAILED: runtime/6929067/Test6929067.sh > FAILED: runtime/6981737/Test6981737.java > FAILED: runtime/7110720/Test7110720.sh > FAILED: runtime/7116786/Test7116786.java > FAILED: runtime/7158988/FieldMonitor.java > FAILED: runtime/7160757/Test7160757.java > FAILED: runtime/7162488/Test7162488.sh > Error: runtime/7196045/Test7196045.java > FAILED: runtime/CommandLine/CompilerConfigFileWarning.java > FAILED: runtime/CommandLine/ConfigFileWarning.java > FAILED: runtime/NMT/BaselineWithParameter.java > FAILED: runtime/NMT/CommandLineDetail.java > FAILED: runtime/NMT/CommandLineEmptyArgument.java > FAILED: runtime/NMT/CommandLineInvalidArgument.java > FAILED: runtime/NMT/CommandLineSummary.java > FAILED: runtime/NMT/CommandLineTurnOffNMT.java > FAILED: runtime/NMT/JcmdDiffCallsite.java > FAILED: runtime/NMT/JcmdScale.java > FAILED: runtime/NMT/JcmdWithNMTDisabled.java > FAILED: runtime/NMT/MallocTestType.java > FAILED: runtime/NMT/PrintNMTStatistics.java > FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java > FAILED: runtime/NMT/ReleaseCommittedMemory.java > FAILED: runtime/NMT/ShutdownTwice.java > FAILED: runtime/NMT/SummaryAfterShutdown.java > FAILED: runtime/NMT/SummarySanityCheck.java > FAILED: runtime/NMT/ThreadedMallocTestType.java > FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java > FAILED: runtime/NMT/VirtualAllocTestType.java > FAILED: sanity/WBApi.java > FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh > FAILED: serviceability/attach/AttachWithStalePidFile.java > FAILED: serviceability/ParserTest.java > Test results: passed: 193; failed: 70; error: 3 > --------------- jtreg console summary for jdk --------------- > FAILED: com/oracle/security/ucrypto/TestRSA.java > FAILED: com/sun/crypto/provider/Cipher/DES/PaddingTest.java > FAILED: com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java > FAILED: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java > FAILED: com/sun/crypto/provider/TLS/TestKeyMaterial.java > FAILED: com/sun/crypto/provider/TLS/TestMasterSecret.java > FAILED: com/sun/crypto/provider/TLS/TestPRF.java > FAILED: com/sun/crypto/provider/TLS/TestPRF12.java > FAILED: com/sun/jdi/connect/spi/DebugUsingCustomConnector.java > FAILED: com/sun/jdi/redefine/RedefineTest.java > FAILED: com/sun/jdi/redefineMethod/RedefineTest.java > --------------- jtreg console summary for langtools --------------- > FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java > FAILED: tools/javac/processing/6499119/ClassProcessor.java > Test results: passed: 1,955; failed: 2 > > Cheers > Xerxes Thanks! I await the improved results from the new version :) Is there any way to get JamVM to report the git revision used? Better still, any chance of a 1.6.1 release? -- Andii :-) From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 08:04:18 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 15:04:18 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #13 from Andrew Azores --- Hi Richard, Thanks for those reproduction steps, that was really in-depth! However I've stepped through them on Arch (64-bit) with the following packages installed: extra/jdk7-openjdk 7.u40_2.4.1-3 extra/jre7-openjdk 7.u40_2.4.1-3 extra/jre7-openjdk-headless 7.u40_2.4.1-3 extra/openjdk7-src 7.u40_2.4.1-3 extra/icedtea-web-java7 1.4-2 and was unable to reproduce the error. I also could not reproduce the error in Fedora 19 (also 64-bit) with the latest OpenJDK from the repos and any of ITW versions 1.4 from Fedora repos, 1.4 from mercurial repo, or mercurial head. Andrew -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/5b90ba90/attachment.html From gitne at gmx.de Thu Sep 12 08:10:20 2013 From: gitne at gmx.de (Jakob Wisor) Date: Thu, 12 Sep 2013 17:10:20 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <523171DC.40609@redhat.com> References: <523171DC.40609@redhat.com> Message-ID: <5231D95C.3010709@gmx.de> Hello! Jiri Vanek wrote: > Hi folks! > > As fixes for 1.4 are multiplying, I would like to propose release of > icedtea-web 1.4 at the beginning of next week. > > Please consider branch frozen in that time, as it will be subject of > testing. > > J. I have realized that IcedTea-Web's Mercurial repo does not carry any branches, instead some revisions are tagged with versions. Just out of curiosity, and before I screw up and perhaps messing up IcedTea's source control server, what's the process for pushing patches to those tagged revisions? I mean, I can surely create a branch locally but when I am going to push it I am unsure about the results on IcedTea-Web's repo. Or, should we send Jiri patches based on a tagged revision and he will do the merge? Well, just on a side note; This is one reason I am fed up with Mercurial. No one really knows what Mercurial does or how it is going to behave on specific commands. The documentation is not very helpful either. Another reason is certainly Selenc's sucky Mercurial for Windows port, mainly because it does not call Win32 API's Unicode functions where it is needed most: Files (not even 14 years after Windows 2000???). It is even worse, it is mixing ANSI and Unicode function calls. :-( Tell ya, a pain in the b*tt... I mean, who cares? It's just files, right? Oh wait, aren't files a key concept in source control systems? Jee gosh, they are, but again who cares? ... Sorry for bragging, but Mercurial is not the kind of help I would expect from a distributed source control system. Nevertheless, happy hacking and committing, ;-) Jacob From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 08:31:52 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 15:31:52 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #10 from Andrew Azores --- Perhaps you could try triggering this error with debug enabled? Try a command something like this: ICEDTEAPLUGIN_DEBUG=true firefox 2>&1 >~/1507-error-report.txt Then use this browser instance (firefox, konqueror, whichever) to reproduce the error. 1507-error-report.txt should then contain a pretty verbose log which might help with debugging this. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/3bb51070/attachment.html From omajid at redhat.com Thu Sep 12 08:32:24 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 12 Sep 2013 11:32:24 -0400 Subject: Upcoming release of 1.4.1 In-Reply-To: <5231D95C.3010709@gmx.de> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> Message-ID: <5231DE88.3000304@redhat.com> Hi Jakob, On 09/12/2013 11:10 AM, Jakob Wisor wrote: > I have realized that IcedTea-Web's Mercurial repo does not carry any > branches, instead some revisions are tagged with versions. Mercurial supports 'branches' in 3 different ways: bookmarks (analogous to git branches), branches and repositories. There's a fantastic write-up of the details of each available at: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ > Just out of curiosity, and before I screw up and perhaps messing up > IcedTea's source control server, what's the process for pushing patches > to those tagged revisions? I mean, I can surely create a branch locally > but when I am going to push it I am unsure about the results on > IcedTea-Web's repo. Or, should we send Jiri patches based on a tagged > revision and he will do the merge? IcedTea-Web (like most other projects on icedtea.classpath.org) uses separate repositories for separate branches. There's a list of all repositories available at: http://icedtea.classpath.org/hg/ For IcedTea-Web, we use the repositories at icedtea.classpath.org/hg/release/icedtea-web-${VERSION} for the release branches. 1.4 is icedtea.classpath.org/hg/release/icedtea-web-1.4/ > Well, just on a side note; This is one reason I am fed up with > Mercurial. No one really knows what Mercurial does or how it is going to > behave on specific commands. Funny enough, since I learned mercurial first, I have the same reactions with git. All the commands are really obtuse in git and seem to take 5 different flags each of which can change behaviour in unexpected ways. And it's really easy to destroy data - the same command I to remove local changes removes committed changes too. To me mercurial seems to have a single well-defined way of doing each thing (other than branching, I guess). If you are missing some of the more powerful features of git (rewriting history, auto-paging on terminal, colours, stashing), take a look at some mercurial plugins ('rebase', 'pager', 'color' and 'mq' respectively). Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 09:05:11 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 16:05:11 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #11 from Udo --- Created attachment 937 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=937&action=edit stdout with ICEDTEAPLUGIN_DEBUG=true -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/535190bc/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 09:05:32 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 16:05:32 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #12 from Udo --- Listening for transport dt_socket at address: 8787 Error on Java side: Error: Unable to fetch applet instance id from Java side. Error on Java side: Error: Unable to fetch applet instance id from Java side. NOTE: child process received `Goodbye', closing down NOTE: child process received `Goodbye', closing down -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/3483eb73/attachment.html From gnu.andrew at redhat.com Thu Sep 12 09:32:59 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 12 Sep 2013 12:32:59 -0400 (EDT) Subject: Upcoming release of 1.4.1 In-Reply-To: <5231DE88.3000304@redhat.com> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> <5231DE88.3000304@redhat.com> Message-ID: <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> ----- Original Message ----- > Hi Jakob, > > On 09/12/2013 11:10 AM, Jakob Wisor wrote: > > I have realized that IcedTea-Web's Mercurial repo does not carry any > > branches, instead some revisions are tagged with versions. > > Mercurial supports 'branches' in 3 different ways: bookmarks (analogous > to git branches), branches and repositories. There's a fantastic > write-up of the details of each available at: > http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ I don't think bookmarks existed when we started. We tried Mercurial's "branches" but they caused problems then and, having looked at them recently again, they are just as bad now. So we just use separate repos for simplicity. > > > Just out of curiosity, and before I screw up and perhaps messing up > > IcedTea's source control server, what's the process for pushing patches > > to those tagged revisions? I mean, I can surely create a branch locally > > but when I am going to push it I am unsure about the results on > > IcedTea-Web's repo. Or, should we send Jiri patches based on a tagged > > revision and he will do the merge? > > IcedTea-Web (like most other projects on icedtea.classpath.org) uses > separate repositories for separate branches. There's a list of all > repositories available at: > http://icedtea.classpath.org/hg/ > > For IcedTea-Web, we use the repositories at > icedtea.classpath.org/hg/release/icedtea-web-${VERSION} for the release > branches. 1.4 is icedtea.classpath.org/hg/release/icedtea-web-1.4/ > > > Well, just on a side note; This is one reason I am fed up with > > Mercurial. No one really knows what Mercurial does or how it is going to > > behave on specific commands. > > Funny enough, since I learned mercurial first, I have the same reactions > with git. All the commands are really obtuse in git and seem to take 5 > different flags each of which can change behaviour in unexpected ways. > And it's really easy to destroy data - the same command I to remove > local changes removes committed changes too. > > To me mercurial seems to have a single well-defined way of doing each > thing (other than branching, I guess). > > If you are missing some of the more powerful features of git (rewriting > history, auto-paging on terminal, colours, stashing), take a look at > some mercurial plugins ('rebase', 'pager', 'color' and 'mq' respectively). Hmmm.... I used darcs, then Mercurial, then git and I curse OpenJDK for not using git all the time. Mercurial just seems like a poor attempt at being git with half the features missing and stupid misnamed ones. > > Cheers, > Omair > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From omajid at redhat.com Thu Sep 12 09:46:13 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 12 Sep 2013 12:46:13 -0400 Subject: Upcoming release of 1.4.1 In-Reply-To: <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> <5231DE88.3000304@redhat.com> <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> Message-ID: <5231EFD5.8000705@redhat.com> On 09/12/2013 12:32 PM, Andrew Hughes wrote: > Hmmm.... I used darcs, then Mercurial, then git and I curse OpenJDK for not > using git all the time. In terms of being more like other open source communities, I agree, using git might have attracted more contributors. But then again, there are lots of other communities using mercurial (python, mozilla) so it's not just OpenJDK. > Mercurial just seems like a poor attempt at being git with > half the features missing and stupid misnamed ones. 'Misnamed' ones? I will just leave this here: http://stevelosh.com/blog/2013/04/git-koans/ :) Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Thu Sep 12 10:09:53 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 12 Sep 2013 13:09:53 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <523196F9.40704@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> Message-ID: <5231F561.50003@redhat.com> Hi Jiri, On 09/12/2013 06:27 AM, Jiri Vanek wrote: > On 09/11/2013 06:29 PM, Pavel Tisnovsky wrote: >> ----- Omair Majid wrote: >>> I am mostly interested in this patch as a user (especially if some else >>> has agreed to a full review of this giant patch). But it caught my >>> interest so I have a few questions. >>> >>> First, please don't abuse 'refactoring'. It's defined here: >>> http://refactoring.com/. This patch is a change (probably a good one); >>> it's not (just) a refactor. > > It is refactoring - the other changes are consequence - eg skeleton > methods into which the ex.prrintstacktrace or system.out/err are > refactroed. You are correct. I skimmed over the patch quickly and made a (serious) mistake. Apologies. >>> Are you saying the old logger is broken? Can you elaborate? >>> > > Not broken, as working, but broken as not doing its job - it was logging > really only few, minor exceptions. User needs to be told about it (or > found on his own how to enable it and where to found the logs) > Are those exceptions worth logging? (or even worth stopping and showing an error to the user?) >>> I am probably missing something, but why isn't ItwLogger a >>> java.util.logging.Logger? > > Why it should be? /me being ironic, but have not found a real answer to > this question Same reason that it's better to use something that already exists rather than re-implementing it: it has been tested more (by more people), it has an API that more people are familiar with, and it should be more capable and generic than something we specifically develop for icedtea-web. That last point may be a downside too - the API may not be exactly what we need. I am looking forward to an updated patch. Please do include unit tests too (as much as possible). Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 10:36:59 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 17:36:59 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #13 from Andrew Azores --- Hmmm this is starting to look like this bug: https://bugzilla.redhat.com/show_bug.cgi?id=977460 Here's a snippet from the log you provided: https://website.bla/dana-cached/webapplets/vc0002/rewritten/applet_0,DSID=89ebb368a66acc785b8d1680edd09a7d%2520/cryptojN.jar This URL became: https://website.bla/dana-cached/webapplets/vc0002/rewritten/applet_0,DSID=89ebb368a66acc785b8d1680edd09a7d%20/cryptojN.jar Udo or Steve, if you're comfortable with it, could you try using IcedTea-Web's latest Mercurial builds? It seems to me like this bug may be fixed there but the patch hasn't been backported to 1.4. If you'd rather not try that then this bug will probably be resolved with the next release. Unfortunately I don't have a way to reproduce this myself to verify that mercurial HEAD actually fixes this. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/d961498e/attachment.html From gnu.andrew at redhat.com Thu Sep 12 10:37:37 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 12 Sep 2013 13:37:37 -0400 (EDT) Subject: Upcoming release of 1.4.1 In-Reply-To: <5231EFD5.8000705@redhat.com> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> <5231DE88.3000304@redhat.com> <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> <5231EFD5.8000705@redhat.com> Message-ID: <1223357333.12384751.1379007457511.JavaMail.root@redhat.com> ----- Original Message ----- > On 09/12/2013 12:32 PM, Andrew Hughes wrote: > > Hmmm.... I used darcs, then Mercurial, then git and I curse OpenJDK for not > > using git all the time. > > In terms of being more like other open source communities, I agree, > using git might have attracted more contributors. > > But then again, there are lots of other communities using mercurial > (python, mozilla) so it's not just OpenJDK. I was thinking specifically of branches. If we used git, there'd be just three IcedTea repositories, not seven (and that's just active ones). I guess we could experiment with bookmarks, but it's a bit late now. > > > Mercurial just seems like a poor attempt at being git with > > half the features missing and stupid misnamed ones. > > 'Misnamed' ones? I will just leave this here: > http://stevelosh.com/blog/2013/04/git-koans/ Again, I was referring specifically to branches. What Mercurial calls branches are nothing I would recognise as such. I'm not saying git is perfect and these tools are often a case of each to their own. In general, it always pays to be explicit in your commands and check documentation with a command you haven't used before or in a good while. I find the git documentation to be pretty good. FYI, not having aliases hide expected commands is generally a good thing for scripting and I can see the logic there. > > :) > > Cheers, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 10:58:47 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 17:58:47 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #14 from Udo --- I can look into mercurial builds this weekend or shortly after that. When will the next version be ready for testing? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/0842aa16/attachment.html From omajid at redhat.com Thu Sep 12 10:59:14 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 12 Sep 2013 13:59:14 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <522F7EDF.5070407@redhat.com> References: <522F7EDF.5070407@redhat.com> Message-ID: <523200F2.4050606@redhat.com> Hi Jiri, Some comments on the patch itself. On 09/10/2013 04:19 PM, Jiri Vanek wrote: > +public class ItwLogger { > + private static final String NULL_OBJECT = "Trying to log null object"; Should this be localized? > + private /*final*/ PrintStream err; > + private /*final*/ PrintStream out; Why the /*final*/? I can understand /*package-private*/, but this is not obvious to me. > + private static ItwLogger logger; > + > + private ItwLogger() { > + this(System.out, System.err); > + } It's not obvious that this is a singleton from these few lines. Could you move the other (public/non-public) constructors and the getInstance() method here too? > + /* > + * for testing puposes! > + */ > + > + public PrintStream getOut() { > + return out; > + } > + /* > + * for testing puposes! > + */ > + > + public PrintStream getErr() { > + return err; > + } > + /* > + * for testing puposes! > + */ > + > + public void setOut(PrintStream out) { > + this.out = out; > + } > + /* > + * for testing puposes! > + */ > + > + public void setErr(PrintStream err) { > + this.err = err; > + } It's hard for me to tell what these comments correspond to? Are they for the functions following the comment or before the comment? If a method is exposed for a unit test, maybe 'protected' or /*package-private*/ maybe a better scope? > + /** > + * for testing purposes the logger with custom streams canbe created > + * otherwise only getLogger()'s singleton can be called > + */ > + public ItwLogger(PrintStream out, PrintStream err) { > + if (out == null || err == null) { > + throw new IllegalArgumentException("No stream canbe null"); > + } > + this.err = err; > + this.out = out; > + } Providing a public constructor basically breaks the singleton encapsulation. Please reconsider if this is really needed. > + synchronized public static ItwLogger getLogger() { > + if (logger == null) { > + logger = new ItwLogger(); > + } > + return logger; > + } An enum is often used to implement a singleton with less synchronization overhead. > + private void logToSystemLogger(StdStream stream, Object o) { Maybe it would be nicer to simply accept a String or a Throwable here? Since logging deals with strings, expecting the caller to make a string explicitly sounds okay to me. > + public static String exceptionToString(Throwable t) { > + if (t == null) { > + //return "Exception was null"; > + return null; Please remove the commented return statement. > + public void log(Throwable o) { > + log(false, null, o); > + > + } Both java.util.logging and syslog define levels (things like DEBUG or ERROR or SEVERE) and .NET defines EventLogEntryType with a similar purpose. Maybe we should add this to the API? > + public void log(Object o) { > + public void log(boolean reprint, Object o) { > + public void logErrorStream(Object o) { > + public void logErrorStream(boolean reprint, Object o) { > + public void log(StdStream stream, Object o) { > + public void log(boolean reprint, StdStream stream, Object o) { Something I am not very clear on: so this always logs to the system logger and the icedtea-web log files? Is this a good idea? Looking at my current system logs, I get maybe a couple of hundred lines per day (and most of them are from buggy programs). Wouldn't a single javaws run double that size? Maybe we should think about making these methods more semantic and only syslog'ing those errors that are important. Or perhaps we should use the logging levels and only syslog important-enough messages > + public void printErrorLn(String e) { > + public void printOutLn(String e) { > + public void printBothLn(String e) { > + public void printError(String e) { > + public void printOut(String e) { > + public void printBoth(String e) { Do these really need to be public? They look like internal helper methods. > + private static String getCallerClass() { > + StackTraceElement[] stack = Thread.currentThread().getStackTrace(); > + //0 is always thread > + //1..? is ItwLogger itself > + //pick up first after. > + StackTraceElement result = stack[0]; > + String baseClass = stack[1].getClassName(); This probably will not work too well if reflection is used. One suggestion when developing the syslog implementation: please keep it as a separate class so we can add/remove that implementation separately. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 11:10:14 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Sep 2013 18:10:14 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #15 from Andrew Azores --- I won't be handling the release so I can't say for certain, but it should be pretty soon. If this is an urgent issue then it might be worth your time to check out the 1.4 mercurial branch and use that, which should resolve this issue. If it isn't urgent and you're using a distribution that's quick with updates then it might not be worthwhile to get the mercurial build set up and have the new release come out near immediately cut from exactly the same sources. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130912/4a00dba0/attachment.html From gitne at gmx.de Thu Sep 12 11:22:34 2013 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 12 Sep 2013 20:22:34 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <5231DE88.3000304@redhat.com> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> <5231DE88.3000304@redhat.com> Message-ID: <5232066A.8060205@gmx.de> Hello Omair, Omair Majid wrote: > Hi Jakob, > > On 09/12/2013 11:10 AM, Jakob Wisor wrote: >> I have realized that IcedTea-Web's Mercurial repo does not carry any >> branches, instead some revisions are tagged with versions. > > Mercurial supports 'branches' in 3 different ways: bookmarks (analogous > to git branches), branches and repositories. There's a fantastic > write-up of the details of each available at: > http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ Alright, thank you for the hint. :-) >> Just out of curiosity, and before I screw up and perhaps messing up >> IcedTea's source control server, what's the process for pushing patches >> to those tagged revisions? I mean, I can surely create a branch locally >> but when I am going to push it I am unsure about the results on >> IcedTea-Web's repo. Or, should we send Jiri patches based on a tagged >> revision and he will do the merge? > > IcedTea-Web (like most other projects on icedtea.classpath.org) uses > separate repositories for separate branches. There's a list of all > repositories available at: > http://icedtea.classpath.org/hg/ > > For IcedTea-Web, we use the repositories at > icedtea.classpath.org/hg/release/icedtea-web-${VERSION} for the release > branches. 1.4 is icedtea.classpath.org/hg/release/icedtea-web-1.4/ Hmm, so there are separate repos... Well, that's one way to do it. :-) Didn't think of that since Mercurial has a built in branching feature. Sorry, my mistake, I did not look further down hgweb's page. Thanks for the tip. To be honest, I would have preferred using Mercurial's branching feature, mainly because this eliminates the need for having mostly redundant clones on disk and it allows switching branches in-place (that's exactly what I expect from a distributed source control system). In combination with bookmarks Mercurial's branches are a cool solution indeed. >> Well, just on a side note; This is one reason I am fed up with >> Mercurial. No one really knows what Mercurial does or how it is going to >> behave on specific commands. > > Funny enough, since I learned mercurial first, I have the same reactions > with git. All the commands are really obtuse in git and seem to take 5 > different flags each of which can change behavior in unexpected ways. > And it's really easy to destroy data - the same command I to remove > local changes removes committed changes too. Indeed, git has become too complex or too feature rich. Sometimes less is more. > To me mercurial seems to have a single well-defined way of doing each > thing (other than branching, I guess). Agreed, Mercurial does have a neat interface that is not overloaded or bloated with options. But, the Windows version still sucks. And, maybe it's just taste, but I do envy git for having a C reimplementation which has - AFAIK - become the official release. > If you are missing some of the more powerful features of git (rewriting > history, auto-paging on terminal, colours, stashing), take a look at > some mercurial plugins ('rebase', 'pager', 'color' and 'mq' respectively). No, don't need any fancy colors but nice to know. :-D Okay then, I will have to clone another repo. ;-) Thank you and happy hacking, Jacob From gnu.andrew at redhat.com Thu Sep 12 11:52:34 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 12 Sep 2013 14:52:34 -0400 (EDT) Subject: Question about IcedTea patches In-Reply-To: <5231CC1E.8030802@gmail.com> References: <5231CC1E.8030802@gmail.com> Message-ID: <269984.12428868.1379011954501.JavaMail.root@redhat.com> ----- Original Message ----- > Hi, > > I have a question about IcedTea patches. > > As far as I understand (please correct me if I am wrong further), some > IcedTea7 specific changes are kept in icedtea7-forest/* mercurial > repositories and other changes are kept as patches in icedtea7 > repository. And it was done so (besides legacy reasons) to be able to > apply different patches for different configure switches. > > Won't it be better to have all the changes (to upstream OpenJDK code and > makefiles) in forest/* repositories? They pretty much are. The ones in the 2.x repositories are either for bootstrapping (i.e. we don't want them on the final bootstrap tree) or configure options as you suggest. More of the later could probably be moved to the main tree with some generalisation, though there's only a few left now. I've reprimanded people for trying to add more before. systemtap_gc is only there because, before it was reworked, the systemtap patch it depended on was dependent on SystemTap being enabled. nss-config and pulse-soundproperties are not so much patches as just enabling the use of additional service providers. The latter wants to be moved to its own project really, and shouldn't be part of IcedTea core. rhino depends on the Rhino jar being present but we could probably fix the patch to check for the jar in the makefiles and move it to the forest. test_gamma is needed for PaX kernels and a better fix that can always be applied will need some work on such a kernel. I'm thinking of moving to one actually, so may see some change there. SELinux is already supported in the forest so PaX should be really. > > Changes for different configure switches may be kept as branches and > configure script may merge selected branches with the same logic that is > used now for applying patches. If coupling configure with DVCS is not > desired (e.g for source releases) patch files may be created from > selected branches on the fly (git format-patch) during the developer > build or source release preparations. > > Is this approach technically possible or there are more complications I > miss? I'm not sure how it helps anything. It would just make maintenance more complicated and require more dependencies to build (the DVCS), plus Internet access. > > -- > Regards, > Alex Kasko > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gitne at gmx.de Thu Sep 12 14:57:42 2013 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 12 Sep 2013 23:57:42 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> References: <523171DC.40609@redhat.com> <5231D95C.3010709@gmx.de> <5231DE88.3000304@redhat.com> <1353328849.12323975.1379003579510.JavaMail.root@redhat.com> Message-ID: <523238D6.1050401@gmx.de> Hi! Andrew Hughes wrote: > ----- Original Message ----- >> Hi Jakob, >> >> On 09/12/2013 11:10 AM, Jakob Wisor wrote: >>> I have realized that IcedTea-Web's Mercurial repo does not carry any >>> branches, instead some revisions are tagged with versions. >> Mercurial supports 'branches' in 3 different ways: bookmarks (analogous >> to git branches), branches and repositories. There's a fantastic >> write-up of the details of each available at: >> http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ > > I don't think bookmarks existed when we started. We tried Mercurial's "branches" > but they caused problems then and, having looked at them recently again, they > are just as bad now. So we just use separate repos for simplicity. So, am I assuming correctly that merging branches (or actually repos) in this model is done by cloning multiple repos into one local repo (directory), hence those branches are merged automatically or resolved manually during the cloning process? Regards, Jacob From bugzilla-daemon at icedtea.classpath.org Thu Sep 12 20:52:02 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Sep 2013 03:52:02 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #16 from Steve --- (In reply to comment #13) > Hmmm this is starting to look like this bug: > > https://bugzilla.redhat.com/show_bug.cgi?id=977460 > > Here's a snippet from the log you provided: > > https://website.bla/dana-cached/webapplets/vc0002/rewritten/applet_0, > DSID=89ebb368a66acc785b8d1680edd09a7d%2520/cryptojN.jar > > This URL became: > > https://website.bla/dana-cached/webapplets/vc0002/rewritten/applet_0, > DSID=89ebb368a66acc785b8d1680edd09a7d%20/cryptojN.jar > > Udo or Steve, if you're comfortable with it, could you try using > IcedTea-Web's latest Mercurial builds? It seems to me like this bug may be > fixed there but the patch hasn't been backported to 1.4. If you'd rather not > try that then this bug will probably be resolved with the next release. > Unfortunately I don't have a way to reproduce this myself to verify that > mercurial HEAD actually fixes this. Some things I found in the redhat bug listed a gentleman using Sun/Java. I was using that on my other machine where the VPN worked. Also I may exceed my level of comfort trying to switch to Iced Tea latest Mercurial as I didn't find it in YaST. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/e3c9437d/attachment.html From ptisnovs at icedtea.classpath.org Fri Sep 13 01:38:31 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 13 Sep 2013 08:38:31 +0000 Subject: /hg/gfx-test: Seven new tests added into BitBltAffineRotateTrans... Message-ID: changeset 9ecd13f7000e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9ecd13f7000e author: Pavel Tisnovsky date: Fri Sep 13 10:42:14 2013 +0200 Seven new tests added into BitBltAffineRotateTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java | 98 +++++++++++ 2 files changed, 103 insertions(+), 0 deletions(-) diffs (120 lines): diff -r 7db4f8532b55 -r 9ecd13f7000e ChangeLog --- a/ChangeLog Thu Sep 12 11:21:03 2013 +0200 +++ b/ChangeLog Fri Sep 13 10:42:14 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-13 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java: + Seven new tests added into BitBltAffineRotateTransformOp. + 2013-09-12 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r 7db4f8532b55 -r 9ecd13f7000e src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java Thu Sep 12 11:21:03 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java Fri Sep 13 10:42:14 2013 +0200 @@ -208,6 +208,104 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation6Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[6]); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Fri Sep 13 01:42:50 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 13 Sep 2013 08:42:50 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset 61ed92f655a5 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=61ed92f655a5 author: Pavel Tisnovsky date: Fri Sep 13 10:46:37 2013 +0200 Added new test testNewInstance into the test suite AbstractScriptEngineClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/AbstractScriptEngineClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r 78bab1320e16 -r 61ed92f655a5 ChangeLog --- a/ChangeLog Thu Sep 12 11:48:50 2013 +0200 +++ b/ChangeLog Fri Sep 13 10:46:37 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-13 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + Added new test testNewInstance into the test suite + AbstractScriptEngineClassTest. + 2013-09-12 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: diff -r 78bab1320e16 -r 61ed92f655a5 src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Sep 12 11:48:50 2013 +0200 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Fri Sep 13 10:46:37 2013 +0200 @@ -1677,6 +1677,23 @@ } /** + * Test for method javax.script.AbstractScriptEngine.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.abstractScriptEngineClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.AbstractScriptEngine */ @SuppressWarnings("cast") From jvanek at redhat.com Fri Sep 13 01:50:52 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 13 Sep 2013 10:50:52 +0200 Subject: /hg/icedtea-web: Fixed "could not clear cache" message and cache... In-Reply-To: <5231CBF8.8080709@redhat.com> References: <522838E5.2060404@redhat.com> <52284EB5.3060500@gmx.de> <522882C5.7010501@redhat.com> <52298007.4040802@redhat.com> <5229E975.7010307@redhat.com> <522D7E0B.2010604@redhat.com> <522DE424.5030207@redhat.com> <522DE65F.2010702@redhat.com> <5231CBF8.8080709@redhat.com> Message-ID: <5232D1EC.8040508@redhat.com> On 09/12/2013 04:13 PM, Andrew Azores wrote: > On 09/09/2013 11:16 AM, Jiri Vanek wrote: >> ..snip.. >>> diff --git a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java >>> @@ -51,6 +51,7 @@ >>> import net.sourceforge.jnlp.ProcessResult; >>> import net.sourceforge.jnlp.annotations.KnownToFail; >>> import net.sourceforge.jnlp.config.Defaults; >>> +import net.sourceforge.jnlp.tools.MessageProperties; >>> import org.junit.AfterClass; >>> import org.junit.Assert; >>> >>> @@ -77,17 +78,6 @@ >>> "locks" + File.separator + >>> "netx_running"); >>> >>> - private static final String messageResourcePath = >>> "net/sourceforge/jnlp/resources/Messages.properties"; >>> - private static PropertyResourceBundle messageBundle = null; >>> - >>> - static { >>> - try { >>> - messageBundle = >>> - new >>> PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); >>> >>> - } catch (IOException e) { >>> - } >>> - } >>> - >>> String testS = "#netx file\n" >>> + "#Mon Dec 12 16:20:46 CET 2011\n" >>> + >>> "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" >>> @@ -284,7 +274,7 @@ >>> Thread.sleep(1000); >>> pr = tryToClearcache(); >>> >>> - String cacheClearError = messageBundle.getString("CCannotClearCache"); >> >> This is incorrect. The message do not need to be en. Although most of us have english locales, the >> framework should solve this. > > As per Omair's suggestion (thanks! Didn't realize how much functionality the resource bundle classes > actually provided :) ), this is taken care of quite neatly now. > >> >>> + String cacheClearError = MessageProperties.getMessage_en("CCannotClearCache"); >>> Assert.assertTrue("Stderr should contain " + cacheClearError + ", but did not.", >>> pr.stderr.contains(cacheClearError)); >>> assertCacheIsNotEmpty(); >>> } >>> @@ -325,7 +315,6 @@ >>> } >>> >>> @Test >>> - @KnownToFail >>> public void testAlreadyLoadedCached11() throws Exception { >>> testsBody(CR11, 1); >>> testsBody(CR11, 2); >>> diff --git a/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >>> b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >>> new file mode 100644 >>> --- /dev/null >>> +++ b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java >>> @@ -0,0 +1,79 @@ >>> +package net.sourceforge.jnlp.tools; >>> + >>> +import java.util.PropertyResourceBundle; >>> +import java.io.IOException; >>> + >>> +public class MessageProperties { >> >> I like this enum! >> >>> + >>> + public enum Locale { >>> + en, >>> + de, >>> + cs, >>> + pl >>> + } >>> + >>> + private static final String resourcePath = "net/sourceforge/jnlp/resources/Messages"; >>> + private static final String resourceExtension = ".properties"; >> >> I would like see the loaded resources as singletons, and so avoid repeated loading. I would say >> static final Map can be enough. > > Apparently the ResourceBundle internally handles caching, and with the cleaner way it's implemented > now using the getBundle factory method, loading singleton instances shouldn't be an issue. That's > what the docs say at least :) > >>> + >>> + /* eg if given locale "de", returns a PropertyResourceBundle using >>> + * "net/sourceforge/jnlp/resources/Messages_de.properties". >>> + * if given "en", the same but using "net/sourceforge/jnlp/resources/Messages.properties" >>> + */ >>> + private static PropertyResourceBundle getMessageBundleFromLocale(Locale locale) throws >>> IOException { >>> + final ClassLoader cl = MessageProperties.class.getClassLoader(); >>> + >>> + final String localizationCode; >>> + if (locale == Locale.en) { >>> + localizationCode = ""; >>> + } else { >>> + localizationCode = "_" + locale.toString(); >>> + } >>> + >>> + final String path = resourcePath + localizationCode + resourceExtension; >>> + return new PropertyResourceBundle(cl.getResourceAsStream(path)); >>> + } >>> + >>> + /** >>> + * Retrieve a localized message from resource file >>> + * @param locale the localization of Messages.properties to search >>> + * @param key >>> + * @return the message corresponding to the given key from the specified localization >>> + * @throws IOException if the specified Messages localization is unavailable >>> + */ >> >> The base method for this should be >> >> public static String getMessage(String key) throws IOException >> which will determine the locale and the call >> getMessage(Locale locale, String key) throws IOException { >> >> Also I think I would abandon the getMessage_XXX as they are easily to be used via your enum. >> But as you already wrote them.. :) >> >> >> And sorry to dig it - this class need unittest.. :( > > Hm, how to unit test this properly... the tests in the patch here depend on each localization of > Messages.properties to contain a specific hardcoded value for a specific hard coded key. That's how > I'm checking that specifying the locale manually is working (for both existing and non-existent > localizations). The "default locale" test is probably even flakier. What do you think? Would it be > better to have the test implement some other way of reading the .properties files and compare the > results? > > Also the SupportedLanguages enum might look a little useless now but it's just there as a hint for > which Locales you can actually use and expect to get properly localized messages back out. I think > it's maybe worth keeping just for that, and it's not cluttering up the class too much IMO. > I'm happy with it as it is. Thank you. From bugzilla-daemon at icedtea.classpath.org Fri Sep 13 06:22:42 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Sep 2013 13:22:42 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #17 from Andrew Azores --- Yes, the Mercurial source builds would not be available through the package repositories on most distributions. You would need to clone the repository and build it yourself - understandably not the most comfortable thing to deal with :). If that's the case I recommend you wait until early next week when a new IcedTea-Web release should be out which should contain the fix for this bug, assuming it is the same as that other one I linked (which I do believe it is). -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/e6c2ee50/attachment.html From aazores at icedtea.classpath.org Fri Sep 13 06:28:26 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 13 Sep 2013 13:28:26 +0000 Subject: /hg/icedtea-web: Added new utility class for retrieving localize... Message-ID: changeset 14082a0be646 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=14082a0be646 author: Andrew Azores date: Fri Sep 13 09:28:03 2013 -0400 Added new utility class for retrieving localized messages for reproducers. diffstat: ChangeLog | 9 + tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 15 +- tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java | 99 ++++++++++ tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java | 81 ++++++++ 4 files changed, 191 insertions(+), 13 deletions(-) diffs (250 lines): diff -r 6124fd87eaba -r 14082a0be646 ChangeLog --- a/ChangeLog Wed Sep 11 12:05:44 2013 +0200 +++ b/ChangeLog Fri Sep 13 09:28:03 2013 -0400 @@ -1,3 +1,12 @@ +2013-09-13 Andrew Azores + + * tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java: + new utility class to handle retrieving localized messages for reproducers + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: + refactored to use new MessageProperties class + * tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java: + tests for new MessageProperties class + 2013-09-11 Jacob Wisor * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java diff -r 6124fd87eaba -r 14082a0be646 tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Wed Sep 11 12:05:44 2013 +0200 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Fri Sep 13 09:28:03 2013 -0400 @@ -51,6 +51,7 @@ import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.annotations.KnownToFail; import net.sourceforge.jnlp.config.Defaults; +import net.sourceforge.jnlp.tools.MessageProperties; import org.junit.AfterClass; import org.junit.Assert; @@ -77,17 +78,6 @@ "locks" + File.separator + "netx_running"); - private static final String messageResourcePath = "net/sourceforge/jnlp/resources/Messages.properties"; - private static PropertyResourceBundle messageBundle = null; - - static { - try { - messageBundle = - new PropertyResourceBundle(CacheReproducerTest.class.getClassLoader().getResourceAsStream(messageResourcePath)); - } catch (IOException e) { - } - } - String testS = "#netx file\n" + "#Mon Dec 12 16:20:46 CET 2011\n" + "1323703236508,0=/home/xp13/.icedtea/cache/0/http/localhost/ReadPropertiesBySignedHack.jnlp\n" @@ -284,7 +274,7 @@ Thread.sleep(1000); pr = tryToClearcache(); - String cacheClearError = messageBundle.getString("CCannotClearCache"); + String cacheClearError = MessageProperties.getMessage("CCannotClearCache"); Assert.assertTrue("Stderr should contain " + cacheClearError + ", but did not.", pr.stderr.contains(cacheClearError)); assertCacheIsNotEmpty(); } @@ -325,7 +315,6 @@ } @Test - @KnownToFail public void testAlreadyLoadedCached11() throws Exception { testsBody(CR11, 1); testsBody(CR11, 2); diff -r 6124fd87eaba -r 14082a0be646 tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java Fri Sep 13 09:28:03 2013 -0400 @@ -0,0 +1,99 @@ +/* MessagePropertiesTest.java + Copyright (C) 2013 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.tools; + +import java.util.Locale; +import net.sourceforge.jnlp.tools.MessageProperties; +import org.junit.Test; +import org.junit.Assert; + +public class MessagePropertiesTest { + + private static final Locale locale_en = MessageProperties.SupportedLanguage.en.getLocale(), + locale_cs = MessageProperties.SupportedLanguage.cs.getLocale(), + locale_de = MessageProperties.SupportedLanguage.de.getLocale(), + locale_pl = MessageProperties.SupportedLanguage.pl.getLocale(); + + private void testMessageStringEquals(Locale locale, String key, String expected) { + String message = MessageProperties.getMessage(locale, key); + Assert.assertEquals(message, expected); + } + + @Test + public void testLocalization_en() throws Exception { + testMessageStringEquals(locale_en, "Continue", "Do you want to continue?"); + } + + @Test + public void testLocalization_cs() throws Exception { + testMessageStringEquals(locale_cs, "Continue", "Chcete pokra\u010dovat?"); + } + + @Test + public void testLocalization_de() throws Exception { + testMessageStringEquals(locale_de, "Continue", "Soll fortgefahren werden?"); + } + + @Test + public void testLocalization_pl() throws Exception { + testMessageStringEquals(locale_pl, "Continue", "Czy chcesz kontynuowa\u0107?"); + } + + @Test + public void testNonexistentLocalization() throws Exception { + String message_en = MessageProperties.getMessage(locale_en, "Continue"); + String message_abcd = MessageProperties.getMessage(new Locale("abcd"), "Continue"); + Assert.assertEquals(message_en, message_abcd); // There is no abcd localization, should fall back to English + } + + @Test + public void testDefaultLocalization() throws Exception { + String sysPropLang = System.getProperty("user.language"); + Locale sysPropLocale = new Locale(sysPropLang); + + Locale defaultLocale = Locale.getDefault(); + + String sysPropMessage = MessageProperties.getMessage(sysPropLocale, "LThreadInterruptedInfo"); + String defaultMessage = MessageProperties.getMessage(defaultLocale, "LThreadInterruptedInfo"); + String implMessage = MessageProperties.getMessage("LThreadInterruptedInfo"); + + Assert.assertEquals(sysPropMessage, implMessage); + Assert.assertEquals(defaultMessage, implMessage); + } + +} diff -r 6124fd87eaba -r 14082a0be646 tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java Fri Sep 13 09:28:03 2013 -0400 @@ -0,0 +1,81 @@ +/* MessageProperties.java + Copyright (C) 2013 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.tools; + +import java.util.Locale; +import java.util.PropertyResourceBundle; +import java.util.ResourceBundle; +import java.io.IOException; + +public class MessageProperties { + + public enum SupportedLanguage { + en("en"), cs("cs"), de("de"), pl("pl"); + private Locale locale; + + private SupportedLanguage(String lang) { + this.locale = new Locale(lang); + } + + public Locale getLocale() { + return this.locale; + } + } + + private static final String resourcePath = "net/sourceforge/jnlp/resources/Messages"; + + /** + * Same as {@link #getMessage(Locale, String)}, using the current default Locale + */ + public static String getMessage(String key) { + return getMessage(Locale.getDefault(), key); + } + + /** + * Retrieve a localized message from resource file + * @param locale the localization of Messages.properties to search + * @param key + * @return the message corresponding to the given key from the specified localization + * @throws IOException if the specified Messages localization is unavailable + */ + public static String getMessage(Locale locale, String key) { + ResourceBundle bundle = PropertyResourceBundle.getBundle(resourcePath, locale); + return bundle.getString(key); + } + +} From jvanek at redhat.com Fri Sep 13 07:12:18 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 13 Sep 2013 16:12:18 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <523200F2.4050606@redhat.com> References: <522F7EDF.5070407@redhat.com> <523200F2.4050606@redhat.com> Message-ID: <52331D42.5010700@redhat.com> On 09/12/2013 07:59 PM, Omair Majid wrote: > Hi Jiri, > > Some comments on the patch itself. > > On 09/10/2013 04:19 PM, Jiri Vanek wrote: >> +public class ItwLogger { > >> + private static final String NULL_OBJECT = "Trying to log null object"; > > Should this be localized? Definitely not, as should not be exception or other debugging informations. Also this is extremly rare case in real life. > >> + private /*final*/ PrintStream err; >> + private /*final*/ PrintStream out; > > Why the /*final*/? I can understand /*package-private*/, but this is not > obvious to me. Well it meant I would like to have them final :) But few tests needs to switch the stream of ITW. Maybe some deeper reinventing of the affected test (see adaptedTests) would alow me to avoid shis, but now I'mhappy with non final streams. Commented final removed. > >> + private static ItwLogger logger; >> + >> + private ItwLogger() { >> + this(System.out, System.err); >> + } > > It's not obvious that this is a singleton from these few lines. Could > you move the other (public/non-public) constructors and the > getInstance() method here too? sure, done,. even more javadoc added. > >> + /* >> + * for testing puposes! >> + */ >> + >> + public PrintStream getOut() { >> + return out; >> + } >> + /* >> + * for testing puposes! >> + */ >> + >> + public PrintStream getErr() { >> + return err; >> + } >> + /* >> + * for testing puposes! >> + */ >> + >> + public void setOut(PrintStream out) { >> + this.out = out; >> + } >> + /* >> + * for testing puposes! >> + */ >> + >> + public void setErr(PrintStream err) { >> + this.err = err; >> + } > > It's hard for me to tell what these comments correspond to? Are they for > the functions following the comment or before the comment? fixed > > If a method is exposed for a unit test, maybe 'protected' or > /*package-private*/ maybe a better scope? fixed. getters are no public, and setters private. They needs to be assessed via reflection anyway. > >> + /** >> + * for testing purposes the logger with custom streams canbe created >> + * otherwise only getLogger()'s singleton can be called >> + */ >> + public ItwLogger(PrintStream out, PrintStream err) { >> + if (out == null || err == null) { >> + throw new IllegalArgumentException("No stream canbe null"); >> + } >> + this.err = err; >> + this.out = out; >> + } > > Providing a public constructor basically breaks the singleton > encapsulation. Please reconsider if this is really needed. fixed. MAde protected. > >> + synchronized public static ItwLogger getLogger() { >> + if (logger == null) { >> + logger = new ItwLogger(); >> + } >> + return logger; >> + } > > An enum is often used to implement a singleton with less synchronization > overhead. In case of enum creation of singleton can not be controlled. I once burned myself on it, so I get used to this pattern. If you insists, I will switch to enum. > >> + private void logToSystemLogger(StdStream stream, Object o) { > > Maybe it would be nicer to simply accept a String or a Throwable here? > Since logging deals with strings, expecting the caller to make a string > explicitly sounds okay to me. hmhmh... Will add few more declarations. As object.toString should be perfectly ok, then I'm more for this. It will allow us to log object instead of messages in time. But no object (jsut string or throwable for now) is looged for now. If you really wont me to duplicate declaration, then use force, and it will be done. Anyway I like it more this way. > > >> + public static String exceptionToString(Throwable t) { >> + if (t == null) { >> + //return "Exception was null"; >> + return null; > > Please remove the commented return statement. > >> + public void log(Throwable o) { >> + log(false, null, o); >> + >> + } > > Both java.util.logging and syslog define levels (things like DEBUG or > ERROR or SEVERE) and .NET defines EventLogEntryType with a similar > purpose. Maybe we should add this to the API? Yah. I was thinking about it. And I think it would be worthy. However the amount the work needed to evaluate each message and decide to which level it belongs, appeared to me as to much. Can you imagine doing it? If so, then I will probably reconsider. > >> + public void log(Object o) { > >> + public void log(boolean reprint, Object o) { > >> + public void logErrorStream(Object o) { > >> + public void logErrorStream(boolean reprint, Object o) { > >> + public void log(StdStream stream, Object o) { > >> + public void log(boolean reprint, StdStream stream, Object o) { > > Something I am not very clear on: so this always logs to the system > logger yes > and the icedtea-web log files? no - this must be explicitly enabled. > Is this a good idea? Looking at my Not sure. I'm thinking about checkbox "diable systenm logging" intto debug pane in itw-settings. > current system logs, I get maybe a couple of hundred lines per day maybe reason to use custm syslog entry. And the amount should be contorled via logging subsytem or not? >(and One of the reason for this is to have it enabled by default. If somebody is using itw on daily work, and no exception appears, and logging will become blocker, then he will investiagte how to disable it. > most of them are from buggy programs). Wouldn't a single javaws run > double that size? Dont forget that itw is not used in application like 24/7 > > Maybe we should think about making these methods more semantic and only > syslog'ing those errors that are important. Which are which??? :(( > > Or perhaps we should use the logging levels and only syslog > important-enough messages > >> + public void printErrorLn(String e) { > >> + public void printOutLn(String e) { > >> + public void printBothLn(String e) { > >> + public void printError(String e) { > >> + public void printOut(String e) { > >> + public void printBoth(String e) { > > Do these really need to be public? They look like internal helper methods. Parially. I have used them also in itw to print messages like -abourt and -help. //see the refactoring patch for them) Maybe this change crossed the purpose of this patch. I was under obsession to have "bottleneck to control all outputs" Now I''m hesitating here > >> + private static String getCallerClass() { >> + StackTraceElement[] stack = Thread.currentThread().getStackTrace(); >> + //0 is always thread >> + //1..? is ItwLogger itself >> + //pick up first after. >> + StackTraceElement result = stack[0]; >> + String baseClass = stack[1].getClassName(); > > This probably will not work too well if reflection is used. good catch. > > One suggestion when developing the syslog implementation: please keep it > as a separate class so we can add/remove that implementation separately. Agree. Right now I would like to keep this in (As It is already subject of review) but later I will meove them to :system logger: implementation. Thank you very much for review. Today - lack of time - I will add tests to ItwLogger in later iteration. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-adaptedTests.patch Type: text/x-patch Size: 14048 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/876eea69/extractedLogging-adaptedTests.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-bottleNeck2.patch Type: text/x-patch Size: 9773 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/876eea69/extractedLogging-bottleNeck2.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-codeRemoval.patch Type: text/x-patch Size: 1635 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/876eea69/extractedLogging-codeRemoval.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extractedLogging-refactoring.patch Type: text/x-patch Size: 202436 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/876eea69/extractedLogging-refactoring.patch From jvanek at redhat.com Fri Sep 13 07:18:25 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 13 Sep 2013 16:18:25 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5231F561.50003@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> Message-ID: <52331EB1.1030101@redhat.com> On 09/12/2013 07:09 PM, Omair Majid wrote: > Hi Jiri, > > On 09/12/2013 06:27 AM, Jiri Vanek wrote: np:) > >>>> Are you saying the old logger is broken? Can you elaborate? >>>> >> >> Not broken, as working, but broken as not doing its job - it was logging >> really only few, minor exceptions. User needs to be told about it (or >> found on his own how to enable it and where to found the logs) >> > > Are those exceptions worth logging? (or even worth stopping and showing > an error to the user?) Well thats the question. Which exception/message is which? There was nearly thousand of substitutions... Can you imagine to evaluate each one? Anyway - four orriginally logged messages was nearly not worthy tobe logged.... Then the Logger was moreover forgotten :( > >>>> I am probably missing something, but why isn't ItwLogger a >>>> java.util.logging.Logger? >> >> Why it should be? /me being ironic, but have not found a real answer to >> this question > > Same reason that it's better to use something that already exists rather > than re-implementing it: it has been tested more (by more people), it > has an API that more people are familiar with, and it should be more > capable and generic than something we specifically develop for icedtea-web. > > That last point may be a downside too - the API may not be exactly what > we need. TBH - personally I dont like java logging api - it is clumsy, and actually not helping at all. Also I found it not suiting to ITW. And especially to this patch - system logging. It loosk like wee need to solve the system level implementation asap, otherwise some of mentioned questions cannot be answered correctly. > > I am looking forward to an updated patch. Please do include unit tests > too (as much as possible). Sent. UNluckily without tests. Sorry for that:( I will attach them in later iteration. Thank you very much for ideas! Also - as most of this questions/answers are duplicated in reply with patch, I would like to move thsi discussion under that sub-thread to not continue with duplicity. Again, thank you very much for taking care J. From xerxes at zafena.se Fri Sep 13 07:43:16 2013 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Fri, 13 Sep 2013 16:43:16 +0200 Subject: Upcoming 2.4.2 Release - JamVM 2013-08-28 x86_64 & hotspot x86_64 test logs In-Reply-To: References: <5231CB96.1060502@zafena.se> Message-ID: <52332484.5060200@zafena.se> 2013-09-12 16:58, And?? skrev: > On 12 September 2013 15:11, Xerxes R?nby wrote: >> 2013-09-11 22:25, And?? skrev: >>> Some of you may have seen that Oracle have released u40 [0]. I'm >>> currently testing 2.4.2, which will bring the 2.4 branch up to date >>> with upstream on u40: >>> >>> $ /home/andrew/build/icedtea7-2.4/bin/java -version >>> java version "1.7.0_40" >>> OpenJDK Runtime Environment (IcedTea 2.4.2pre+r523f48931154+) (Gentoo >>> build 1.7.0_40-b60) >>> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) >>> >>> I plan to release this coming Wednesday, the 18th of September, if all >>> looks good by then. >>> Xerxes is going to look at updating JamVM support on the branch in the meantime. >>> >>> I've successfully doing a full bootstrap on GNU/Linux x86_64 native >>> and results are looking good for a full bootstrap on GNU/Linux ppc32 >>> Zero. Feedback on other builds before release would be much >>> appreciated. >>> >>> Thanks, >>> >> >> >> JamVM test logs, before jamvm update: ia32 & x86_64 >> >> Test procedure: >> apt-get install mercurial >> apt-get build-dep openjdk-7 >> hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 >> cd icedtea7-2.4 >> ./autogen.sh >> ./configure --enable-jamvm --disable-system-lcms ; make ; make check >> ... >> https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 >> https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 ... > > Thanks! I await the improved results from the new version :) Updated logs for JamVM x86_86 using the latest 2013-08-28 revision http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e Logs: https://gist.github.com/xranby/d8f6c5f16e0f456a0f43 - jamvm 2.4.2pre+r41272f3d7393+ 2013-08-28 x86_64 Patch: http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e diff -r 41272f3d7393 Makefile.am --- a/Makefile.am Tue Sep 10 17:03:29 2013 +0100 +++ b/Makefile.am Fri Sep 13 00:49:27 2013 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 7c8dceb90880616b7dd670f257961a1f5f371ec3 -JAMVM_SHA256SUM = 1584d8599bfd799a71baac0694bb3ed9b9fcd14a8548234b24266571e0acfc97 +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz ./openjdk.build/j2sdk-image/bin/java -version java version "1.7.0_40" IcedTea Runtime Environment (2.4.2pre+r41272f3d7393+) (Ubuntu build 1.7.0_40-b60) JamVM (build 1.6.0-devel, inline-threaded interpreter) --------------- jtreg console summary for hotspot --------------- Error: compiler/5091921/Test6959129.java FAILED: compiler/5091921/Test7005594.java FAILED: compiler/6340864/TestByteVect.java FAILED: compiler/6340864/TestDoubleVect.java FAILED: compiler/6340864/TestFloatVect.java FAILED: compiler/6340864/TestIntVect.java FAILED: compiler/6340864/TestLongVect.java FAILED: compiler/6340864/TestShortVect.java FAILED: compiler/6865265/StackOverflowBug.java Error: compiler/6901572/Test.java FAILED: compiler/6910618/Test.java FAILED: compiler/6942326/Test.java FAILED: compiler/7116216/StackOverflow.java FAILED: compiler/7190310/Test7190310_unsafe.java FAILED: compiler/7192963/TestByteVect.java FAILED: compiler/7192963/TestDoubleVect.java FAILED: compiler/7192963/TestFloatVect.java FAILED: compiler/7192963/TestIntVect.java FAILED: compiler/7192963/TestLongVect.java FAILED: compiler/7192963/TestShortVect.java FAILED: compiler/7196199/Test7196199.java FAILED: compiler/7199742/Test7199742.java FAILED: compiler/8001183/TestCharVect.java FAILED: compiler/8002069/Test8002069.java FAILED: compiler/8004741/Test8004741.java FAILED: compiler/8005419/Test8005419.java FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java FAILED: compiler/membars/DekkerTest.java FAILED: gc/6581734/Test6581734.java FAILED: gc/6845368/bigobj.java FAILED: gc/6941923/test6941923.sh FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java FAILED: runtime/6294277/SourceDebugExtension.java FAILED: runtime/6626217/Test6626217.sh FAILED: runtime/6929067/Test6929067.sh FAILED: runtime/6981737/Test6981737.java FAILED: runtime/7110720/Test7110720.sh FAILED: runtime/7116786/Test7116786.java FAILED: runtime/7158988/FieldMonitor.java FAILED: runtime/7160757/Test7160757.java FAILED: runtime/7162488/Test7162488.sh Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java FAILED: runtime/NMT/BaselineWithParameter.java FAILED: runtime/NMT/CommandLineDetail.java FAILED: runtime/NMT/CommandLineEmptyArgument.java FAILED: runtime/NMT/CommandLineInvalidArgument.java FAILED: runtime/NMT/CommandLineSummary.java FAILED: runtime/NMT/CommandLineTurnOffNMT.java FAILED: runtime/NMT/JcmdDiffCallsite.java FAILED: runtime/NMT/JcmdScale.java FAILED: runtime/NMT/JcmdWithNMTDisabled.java FAILED: runtime/NMT/MallocTestType.java FAILED: runtime/NMT/PrintNMTStatistics.java FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java FAILED: runtime/NMT/ReleaseCommittedMemory.java FAILED: runtime/NMT/ShutdownTwice.java FAILED: runtime/NMT/SummaryAfterShutdown.java FAILED: runtime/NMT/SummarySanityCheck.java FAILED: runtime/NMT/ThreadedMallocTestType.java FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java Test results: passed: 196; failed: 67; error: 3 --------------- jtreg console summary for jdk --------------- FAILED: com/oracle/security/ucrypto/TestRSA.java FAILED: com/sun/crypto/provider/Cipher/DES/PaddingTest.java FAILED: com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java FAILED: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java FAILED: com/sun/crypto/provider/TLS/TestKeyMaterial.java FAILED: com/sun/crypto/provider/TLS/TestMasterSecret.java FAILED: com/sun/crypto/provider/TLS/TestPRF.java FAILED: com/sun/crypto/provider/TLS/TestPRF12.java FAILED: com/sun/jdi/connect/spi/DebugUsingCustomConnector.java FAILED: com/sun/jdi/redefine/RedefineTest.java FAILED: com/sun/jdi/redefineMethod/RedefineTest.java --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java FAILED: tools/javac/processing/6499119/ClassProcessor.java Test results: passed: 1,955; failed: 2 Improvement seen after the update: diff -Naur 7c8dceb90880616b7dd670f257961a1f5f371ec3 ac22c9948434e528ece451642b4ebde40953ee7e --- 7c8dceb90880616b7dd670f257961a1f5f371ec3 2013-09-13 16:22:43.909428937 +0200 +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 @@ -11,10 +11,7 @@ Error: compiler/6901572/Test.java FAILED: compiler/6910618/Test.java FAILED: compiler/6942326/Test.java -FAILED: compiler/6990212/Test6990212.java -FAILED: compiler/7088020/Test7088020.java FAILED: compiler/7116216/StackOverflow.java -FAILED: compiler/7141637/SpreadNullArg.java FAILED: compiler/7190310/Test7190310_unsafe.java FAILED: compiler/7192963/TestByteVect.java FAILED: compiler/7192963/TestDoubleVect.java @@ -72,7 +69,7 @@ FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java -Test results: passed: 193; failed: 70; error: 3 +Test results: passed: 196; failed: 67; error: 3 Three more hotspot tests passed after the update. langtools and jdk test results are unchanged. I performed a regular hotspot build on the same machine to use for comparing test results against. https://gist.github.com/xranby/fa15c45ed46e4ad0313c - hotspot 2.4.2pre+r41272f3d7393 x86_64 familjen at familjen-P67A-UD3:~/icedtea/icedtea7-2.4-hotspot$ ./openjdk.build/j2sdk-image/bin/java -version java version "1.7.0_40" OpenJDK Runtime Environment (IcedTea 2.4.2pre+r41272f3d7393) (Ubuntu build 1.7.0_40-b60) OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode) --------------- jtreg console summary for hotspot --------------- FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java Error: gc/6941923/test6941923.sh FAILED: gc/7168848/HumongousAlloc.java FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java FAILED: runtime/6626217/Test6626217.sh FAILED: runtime/6929067/Test6929067.sh Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java FAILED: runtime/NMT/BaselineWithParameter.java FAILED: runtime/NMT/CommandLineDetail.java FAILED: runtime/NMT/CommandLineEmptyArgument.java FAILED: runtime/NMT/CommandLineInvalidArgument.java FAILED: runtime/NMT/CommandLineSummary.java FAILED: runtime/NMT/CommandLineTurnOffNMT.java FAILED: runtime/NMT/JcmdDiffCallsite.java FAILED: runtime/NMT/JcmdScale.java FAILED: runtime/NMT/JcmdWithNMTDisabled.java FAILED: runtime/NMT/MallocTestType.java FAILED: runtime/NMT/PrintNMTStatistics.java FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java FAILED: runtime/NMT/ReleaseCommittedMemory.java FAILED: runtime/NMT/ShutdownTwice.java FAILED: runtime/NMT/SummaryAfterShutdown.java FAILED: runtime/NMT/SummarySanityCheck.java FAILED: runtime/NMT/ThreadedMallocTestType.java FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java Test results: passed: 232; failed: 32; error: 2 --------------- jtreg console summary for jdk --------------- FAILED: com/oracle/security/ucrypto/TestRSA.java Error: com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java FAILED: com/sun/jdi/PrivateTransportTest.sh FAILED: com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java FAILED: com/sun/security/auth/login/ConfigFile/InconsistentError.java FAILED: com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java FAILED: com/sun/tracing/BasicWithSecurityMgr.java FAILED: java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java FAILED: java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java FAILED: java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html FAILED: java/awt/EventDispatchThread/PreserveDispathThread/PreserveDispatchThread.java --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java FAILED: tools/javac/processing/6499119/ClassProcessor.java Test results: passed: 1,955; failed: 2 Here is a diff of the jtreg tests performed using hotspot vs jamvm diff -Naur hotspot ac22c9948434e528ece451642b4ebde40953ee7e --- hotspot 2013-09-13 16:33:30.132633378 +0200 +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 @@ -1,14 +1,48 @@ - --------------- jtreg console summary for hotspot --------------- +Error: compiler/5091921/Test6959129.java +FAILED: compiler/5091921/Test7005594.java +FAILED: compiler/6340864/TestByteVect.java +FAILED: compiler/6340864/TestDoubleVect.java +FAILED: compiler/6340864/TestFloatVect.java +FAILED: compiler/6340864/TestIntVect.java +FAILED: compiler/6340864/TestLongVect.java +FAILED: compiler/6340864/TestShortVect.java +FAILED: compiler/6865265/StackOverflowBug.java +Error: compiler/6901572/Test.java +FAILED: compiler/6910618/Test.java +FAILED: compiler/6942326/Test.java +FAILED: compiler/7116216/StackOverflow.java +FAILED: compiler/7190310/Test7190310_unsafe.java +FAILED: compiler/7192963/TestByteVect.java +FAILED: compiler/7192963/TestDoubleVect.java +FAILED: compiler/7192963/TestFloatVect.java +FAILED: compiler/7192963/TestIntVect.java +FAILED: compiler/7192963/TestLongVect.java +FAILED: compiler/7192963/TestShortVect.java +FAILED: compiler/7196199/Test7196199.java +FAILED: compiler/7199742/Test7199742.java +FAILED: compiler/8001183/TestCharVect.java +FAILED: compiler/8002069/Test8002069.java +FAILED: compiler/8004741/Test8004741.java +FAILED: compiler/8005419/Test8005419.java FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java -Error: gc/6941923/test6941923.sh -FAILED: gc/7168848/HumongousAlloc.java +FAILED: compiler/membars/DekkerTest.java +FAILED: gc/6581734/Test6581734.java +FAILED: gc/6845368/bigobj.java +FAILED: gc/6941923/test6941923.sh FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java +FAILED: runtime/6294277/SourceDebugExtension.java FAILED: runtime/6626217/Test6626217.sh FAILED: runtime/6929067/Test6929067.sh +FAILED: runtime/6981737/Test6981737.java +FAILED: runtime/7110720/Test7110720.sh +FAILED: runtime/7116786/Test7116786.java +FAILED: runtime/7158988/FieldMonitor.java +FAILED: runtime/7160757/Test7160757.java +FAILED: runtime/7162488/Test7162488.sh Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java @@ -32,21 +66,22 @@ FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java +FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java -Test results: passed: 232; failed: 32; error: 2 +Test results: passed: 196; failed: 67; error: 3 I can extract the logs for the failing hotspot tests if need. --------------- jtreg console summary for jdk --------------- FAILED: com/oracle/security/ucrypto/TestRSA.java -Error: com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java -FAILED: com/sun/jdi/PrivateTransportTest.sh -FAILED: com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java -FAILED: com/sun/security/auth/login/ConfigFile/InconsistentError.java -FAILED: com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java -FAILED: com/sun/tracing/BasicWithSecurityMgr.java -FAILED: java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java -FAILED: java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java -FAILED: java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html -FAILED: java/awt/EventDispatchThread/PreserveDispathThread/PreserveDispatchThread.java +FAILED: com/sun/crypto/provider/Cipher/DES/PaddingTest.java +FAILED: com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java +FAILED: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java +FAILED: com/sun/crypto/provider/TLS/TestKeyMaterial.java +FAILED: com/sun/crypto/provider/TLS/TestMasterSecret.java +FAILED: com/sun/crypto/provider/TLS/TestPRF.java +FAILED: com/sun/crypto/provider/TLS/TestPRF12.java +FAILED: com/sun/jdi/connect/spi/DebugUsingCustomConnector.java +FAILED: com/sun/jdi/redefine/RedefineTest.java +FAILED: com/sun/jdi/redefineMethod/RedefineTest.java Hotspot had some issues with security/auth, tracing and awt. JamVM may need to look into the crypto tests. jdi is a known unimplemented feature in jamvm I have issues running the JDK tests on this x86_64 machine in general. The JDK tests abort without completing using both Hotspot and JamVM. Hotspot and JamVM both failed the same langtools tests on this machine. --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java FAILED: tools/javac/processing/6499119/ClassProcessor.java Test results: passed: 1,955; failed: 2 Cheers Xerxes > > Is there any way to get JamVM to report the git revision used? Better > still, any chance of a 1.6.1 release? > Forwarding the question to jamvm-general From omajid at redhat.com Fri Sep 13 11:06:53 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 13 Sep 2013 14:06:53 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52331EB1.1030101@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> Message-ID: <5233543D.4050603@redhat.com> Hi, On 09/13/2013 10:18 AM, Jiri Vanek wrote: > On 09/12/2013 07:09 PM, Omair Majid wrote: >> Are those exceptions worth logging? (or even worth stopping and showing >> an error to the user?) > > Well thats the question. Which exception/message is which? There was > nearly thousand of substitutions... Can you imagine to evaluate each one? I suspect we will have to. Most of these are really-for-debugging messages. Some of they may be interesting to users, but most of them probably will not be. Otherwise we are syslog()ing all those (not-so-helpful) messages. > Anyway - four orriginally logged messages was nearly not worthy tobe > logged.... Then the Logger was moreover forgotten :( Sorry, I am not clear about this. Can you elaborate? > TBH - personally I dont like java logging api - it is clumsy, and > actually not helping at all. Also I found it not suiting to ITW. Can you elaborate some more on this? What is it about the logging API that you think is not helping? I am only asking so I don't (accidentally) suggest repeating the issues. I am also a little confused. The only place that uses java.util.logging is Log (and AppletLog). As a complete aside, what are those 2 classes doing? Are they just used in one place (showAppletExceptions)? > It loosk like wee need to solve the system level implementation asap, > otherwise some of mentioned questions cannot be answered correctly. I think that's a good idea. If we are making a change because it helps a future change, let's try and narrow down exactly what that future change is. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Fri Sep 13 11:46:14 2013 From: aazores at redhat.com (Andrew Azores) Date: Fri, 13 Sep 2013 14:46:14 -0400 Subject: [rfc][icedtea-web] net.sourceforge.jnlp.ResourcesTest fix Message-ID: <52335D76.60806@redhat.com> Changelog: * tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java: removed check for user plugin directory Renamed some variables and removed an assertion that the user plugin directory (~/.mozilla/plugins) must exist, as it may not. For example, at least on my system, moving .mozilla to .mozilla-old or some other name and re-launching Firefox forces recreation of the .mozilla directory, but the plugins child directory is not created within this directory. Also fixed a little bit of formatting in the file. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: ResourcesTest.patch Type: text/x-patch Size: 7047 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/e52fc42e/ResourcesTest.patch From omajid at redhat.com Fri Sep 13 13:00:24 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 13 Sep 2013 16:00:24 -0400 Subject: [rfc][icedtea-web] net.sourceforge.jnlp.ResourcesTest fix In-Reply-To: <52335D76.60806@redhat.com> References: <52335D76.60806@redhat.com> Message-ID: <52336ED8.3070602@redhat.com> On 09/13/2013 02:46 PM, Andrew Azores wrote: > Renamed some variables and removed an assertion that the user plugin > directory (~/.mozilla/plugins) must exist, as it may not Thanks for doing the cleanup. The code is so much more readable now! If your IDE has refactoring support, please use that instead of renaming things manually. > - if (f2 != null) { > - Assert.assertTrue("browser's users-plugins location should exist " + f2.toString() + " for " + browser.getID().toString(), f2.exists()); Please move the comment below about no user-plugins directory to here. > - File[] ff1 = new File[0]; > - if (f1 != null) { > - ff1 = f1.listFiles(); > + File[] defaultPlugins = new File[0]; > + if (defaultPlugins != null) { > + defaultPlugins = defaultPluginDir.listFiles(); > } This looks like a mistake. It should be `if (defaultPluginDir != null)`, right? > - File[] ff2 = new File[0]; > - if (f2 != null) { > - ff2 = f2.listFiles(); > + File[] userPlugins = null; > + if (userPluginDir != null) { > + userPlugins = userPluginDir.listFiles(); > } > + if (userPlugins == null) { > + userPlugins = new File[0]; > + } Why not use the idiom used in defaultPlugins and declare and initialize userPlugins to new File[0] at once? Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Fri Sep 13 13:06:41 2013 From: aazores at redhat.com (Andrew Azores) Date: Fri, 13 Sep 2013 16:06:41 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix Message-ID: <52337051.6020306@redhat.com> Changelog: * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CONFIG_HOME) made public * tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: fixed log dir location Another casualty of the XDG spec change ;) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: DeploymentPropertiesAreExposed.patch Type: text/x-patch Size: 2019 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/9d574030/DeploymentPropertiesAreExposed.patch From omajid at redhat.com Fri Sep 13 13:13:56 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 13 Sep 2013 16:13:56 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <52337051.6020306@redhat.com> References: <52337051.6020306@redhat.com> Message-ID: <52337204.3000505@redhat.com> Hi Andrew, On 09/13/2013 04:06 PM, Andrew Azores wrote: > --- a/netx/net/sourceforge/jnlp/config/Defaults.java > +++ b/netx/net/sourceforge/jnlp/config/Defaults.java > - final static String USER_CONFIG_HOME; > + public final static String USER_CONFIG_HOME; > public final static String USER_CACHE_HOME; One not-immediately-obvious consequence of making these variables public is that a random untrusted program might be able to look at them and guess the value of System.getProperty("user.home"). That would be leaking information and a security hole. Thankfully, icedtea-web does disallow access to net.sourceforge.jnlp.** packages so accessing the Defaults class should not be possible in general. But I am still going to strongly encourage you to not expose information. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Fri Sep 13 14:19:26 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 13 Sep 2013 17:19:26 -0400 Subject: [icedtea-web] RFC: use Arrays.asList instead of custom implementation Message-ID: <5233815E.1040509@redhat.com> Hi, There's a couple of places in icedtea-web where we are using a custom method to do what's already being done by Arrays.asList. Lets remove this 'duplicate' code. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: arrays-as-list.patch Type: text/x-patch Size: 4433 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130913/fbc3cef2/arrays-as-list.patch From andrew at icedtea.classpath.org Fri Sep 13 15:16:49 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Sep 2013 22:16:49 +0000 Subject: /hg/icedtea6-hg: 13 new changesets Message-ID: changeset b71ba618f774 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b71ba618f774 author: Andrew John Hughes date: Thu Aug 22 16:06:27 2013 +0100 Close cacao branch. changeset eea7630060cd in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=eea7630060cd author: Andrew John Hughes date: Thu Aug 22 16:07:14 2013 +0100 Close cacao-b19 branch. changeset ec5f676ee853 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ec5f676ee853 author: Andrew John Hughes date: Wed Aug 28 20:34:26 2013 +0100 Fix TCK regression caused by backport of 7162902. 2013-08-28 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Fixes TCK regression caused by 7162902. changeset b79ee332e4f6 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b79ee332e4f6 author: Andrew John Hughes date: Wed Aug 28 23:12:48 2013 +0100 Fix TCK regression with LCMS 2 by making setTagData not throw exceptions. 2013-08-28 Andrew John Hughes * Makefile.am: Add new patch. * patches/lcms2-emulate_old_settagdata.patch: Emulate behaviour of old 6 setTagData function in not throwing exceptions. changeset a1615ed5b8de in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a1615ed5b8de author: Andrew John Hughes date: Fri Aug 30 01:03:30 2013 +0100 RH991170: java does not use correct kerberos credential cache 2013-08-29 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * NEWS: Mention RH991170. * patches/alternative_krb5_cache.patch: Backport from IcedTea 2.x which retrieves the Kerberos cache name using a Kerberos library call. changeset f9e660ea2227 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=f9e660ea2227 author: Andrew John Hughes date: Fri Aug 30 14:34:17 2013 +0100 PR1535: Allow use of system Kerberos to obtain cache location 2013-08-30 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. * patches/alternative_krb5_cache_fixup.patch: Fix previous Kerberos patch to fall back on old method of using /tmp/krb5cc_ and to allow the LDFLAGS for Kerberos to be specified. * INSTALL: Updated. * NEWS: Likewise. changeset 7eeaaf0ac806 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7eeaaf0ac806 author: Andrew John Hughes date: Fri Aug 30 14:41:42 2013 +0100 Add latest tzdata updates. 2013-08-29 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new timezone data patches. * patches/openjdk/8014469-tzdata2013c.patch, * patches/openjdk/8020054-tzdata2013d.patch: Latest tzdata updates. changeset de0023a3d26d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=de0023a3d26d author: Andrew John Hughes date: Sat Aug 31 17:42:12 2013 +0100 Backport a number of JPEG fixes from 7u. S4893408: JPEGReader throws IllegalArgException when setting the destination to BYTE_GRAY S6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll S6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 S6793818: JpegImageReader is too greedy creating color profiles S6888215: memory leak in jpeg plugin S6989760: cmm native compiler warnings S6989774: imageio compiler warnings in native code S7013519: [parfait] Integer overflows in 2D code S7018912: [parfait] potential buffer overruns in imageio jpeg S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() S8020983, RH976897: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances 2013-08-30 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patches. * NEWS: Updated with new patches. * patches/imageiojpeg_sync.patch: Bring in changes to imageioJPEG.c made between the start of OpenJDK 6 and the start of OpenJDK 7's hg repositories. * patches/libraries.patch: Updated against patches below. * patches/openjdk/4893408-jpegreader_byte_gray.patch, * patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch, * patches/openjdk/6791502-invalid_icc_profile.patch, * patches/openjdk/6793818-jpegimagereader_too_greedy.patch, * patches/openjdk/6888215-jpeg_memory_leak.patch, * patches/openjdk/6989760-native_warnings.patch, * patches/openjdk/6989774-imageio_compiler_warnings.patch, * patches/openjdk/7013519-integer_overflows.patch, * patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch, * patches/openjdk/8005194-scale_memory_leak.patch, * patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch: New backports from OpenJDK 7u. changeset 782a87f782f3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=782a87f782f3 author: Andrew John Hughes date: Mon Sep 02 20:59:15 2013 +0100 Backport various Makefile changes so -Wno-clobbered is only used with GCC >= 4.3. S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2 S6799141: Build with --hash-style=both so that binaries can work on SuSE 10 S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches) S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build S7000225: Sanity check on sane-alsa-headers is broken S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber 2013-09-02 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backports. Move disable-cc-incompatible-sanity-checks and freetypeversion to the end. * patches/disable-cc-incompatible-sanity-checks.patch, * patches/freetypeversion.patch: Regenerated to work after new backports. * patches/openjdk/6563752-ss12_support.patch, * patches/openjdk/6729772-opt_cleanup.patch, * patches/openjdk/6799141-split_out_versions.patch, * patches/openjdk/6816311-compiler_name.patch, * patches/openjdk/6974017-minorver_for_solaris.patch, * patches/openjdk/6980281-majorver_for_solaris.patch, * patches/openjdk/7000225-bad_tabs.patch, * patches/openjdk/7038711-fix_no-clobber_usage.patch: Backports from OpenJDK 7 to bring in latest Makefile updates. * NEWS: Update and order backports numerically. changeset 0dbdbf696a34 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0dbdbf696a34 author: Andrew John Hughes date: Thu Sep 05 19:36:32 2013 +0100 RH995488: Java thinks that the default timezone is Busingen instead of Zurich 2013-09-05 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/rh995488-rhel_tz_fix.patch: Use /etc/sysconfig/clock on RHEL & clones so that they don't search /usr/share/zoneinfo. * NEWS: Mention patch. changeset 1f7c8917ad9c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=1f7c8917ad9c author: Andrew John Hughes date: Mon Sep 09 14:28:21 2013 +0100 Add release notes for 1.11.13. 2013-09-09 Andrew John Hughes * NEWS: Add release notes for 1.11.13. changeset 5e0a99d009ab in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=5e0a99d009ab author: Andrew John Hughes date: Fri Sep 13 15:33:34 2013 +0100 Merge changeset 017840fe5750 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=017840fe5750 author: Andrew John Hughes date: Fri Sep 13 23:16:16 2013 +0100 Update to work following upstream merge of hs23. 2013-09-13 Andrew John Hughes * patches/cacao/hotspot/original/memory.patch, * patches/ecj/bootver.patch, * patches/ecj/hotspot/original/hotspot-jdk-dependency.patch, * patches/hotspot/hs23/7197906-handle_32_bit_shifts.patch, * patches/hotspot/hs23/revert-7017193.patch, * patches/hotspot/original/6840152-jvm_crashes_with_heavyweight_monitors.patch, * patches/hotspot/original/7022999-fastlocking_compiler1_only.patch, * patches/hotspot/original/7032696-7029152_broke_vm.patch, * patches/hotspot/original/7140985-hsdis_caller_options.patch, * patches/hotspot/original/aarch64.patch, * patches/hotspot/original/alpha-fixes.patch, * patches/hotspot/original/arm-hsdis.patch, * patches/hotspot/original/arm.patch, * patches/hotspot/original/gcc-suffix.patch, * patches/hotspot/original/jtreg-test7020373-fix.patch, * patches/hotspot/original/pr639-broken_shark_build.patch, * patches/hotspot/original/sdt-arguments.patch, * patches/hotspot/original/sdt-dtrace-hpp.patch, * patches/hotspot/original/sdt-jni.patch, * patches/hotspot/original/sdt-make.patch, * patches/hotspot/original/systemtap-alloc-size-workaround.patch, * patches/hotspot/original/systemtap_gc.patch, * patches/hotspot/original/text-relocations.patch, * patches/hotspot/original/update-bootclasspath.patch, * patches/hotspot/original/version.patch, * patches/ia64-fix.patch, * patches/jtreg-remove-test-6987555.patch, * patches/jtreg-remove-test-6991596.patch, * patches/numa_on_early_glibc.patch, * patches/openjdk/6796786-invalid_FP_identity_transform.patch, * patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch, * patches/openjdk/7010849-modernise_sa.patch, * patches/openjdk/7019808-stack_noexec.patch, * patches/openjdk/7029152-String_intrinsics_miss_optimization.patch, * patches/openjdk/7031385-gcc-register-allocation-fix.patch, * patches/openjdk/7032388-work_without_cmov_instruction.patch, * patches/openjdk/7034464-transparent_huge_pages.patch, * patches/openjdk/7036220-shark_llvm_29_headers.patch, * patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch, * patches/openjdk/7041156-gcc_export_dynamic.patch, * patches/openjdk/7042070-Typo_in_Test6796786.patch, * patches/openjdk/7043564-hugepage.patch, * patches/openjdk/7047069-Array_can_dynamically_change_size.patch, * patches/params-cast-size_t.patch, * patches/pr690-shark-jit-hs20.patch, * patches/pr696-zero-fast_aldc-hs20.patch, * patches/security/20130416/8004336.patch, * patches/security/20130416/8006309.patch, * patches/security/20130416/8009699.patch, * patches/security/20130618/7158805-nested_subroutine_rewriting.patch, * patches/security/20130618/8001330-checking_order_improvement.patch, * patches/stdc-limit-macros.patch, * patches/systemtap-gcc-4.5.patch, * patches/use-idx_t.patch: Remove patches obsoleted by dropping of hs20 support. * INSTALL: Update docs to support only the 'original' hs23. * Makefile.am: (SECURITY_PATCHES): Removed (in hs23). (ICEDTEA_PATCHES): Add 6_for_override. Replace $(HSBUILD) with hs23. Join ALT_HSBUILD patches into main version. Remove !ALT_HSBUILD patches. (ICEDTEA_ENV): Join ALT_HSBUILD settings to main version. * acinclude.m4: (IT_WITH_HOTSPOT_BUILD): Support only original. * hotspot.map: Remove hs23 line. * patches/hotspot/hs23/6_for_override.patch: New patch to use source/target 6 for building the agent as the hs23 version includes @Override. diffstat: .hgignore | 443 +- .hgtags | 16 + AUTHORS | 27 + ChangeLog | 25639 +- HACKING | 180 + INSTALL | 376 +- Makefile.am | 3333 +- Makefile.in | 1355 - NEWS | 3945 +- README | 166 +- acinclude.m4 | 2218 +- aclocal.m4 | 1044 - arm_port/hotspot/src/cpu/zero/vm/arm_cas.S | 31 + arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp | 616 + arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 7888 + arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 7127 + arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp | 8078 + arm_port/hotspot/tools/mkbc.c | 607 + autogen.sh | 149 + config.guess | 1532 - config.sub | 1640 - configure | 12876 - configure.ac | 638 +- contrib/checkopts/Test.java | 5 + contrib/checkopts/checkopts | 149 + contrib/jck/compile-native-code.sh | 84 + contrib/mixtec-hacks.patch | 102 + contrib/mixtec-sleep-on-bomb.patch | 37 + ergo.c.in | 58 + extra/net/sourceforge/jnlp/about/HTMLPanel.java | 59 - extra/net/sourceforge/jnlp/about/Main.java | 135 - extra/net/sourceforge/jnlp/about/resources/about.html | 28 - extra/net/sourceforge/jnlp/about/resources/applications.html | 36 - extra/net/sourceforge/jnlp/about/resources/jamIcon.jpg | Bin extra/net/sourceforge/jnlp/about/resources/notes.html | 82 - fsg.sh | 91 + gcjwebplugin.cc | 1661 - generated/com/sun/corba/se/impl/logging/ActivationSystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/IORSystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/LogStrings.properties | 17 + generated/com/sun/corba/se/impl/logging/NamingSystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/OMGSystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java | 507 +- generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource | 17 + generated/com/sun/corba/se/impl/logging/POASystemException.java | 3 +- generated/com/sun/corba/se/impl/logging/UtilSystemException.java | 3 +- 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/java/lang/CharacterData00.java | 12 +- generated/java/lang/CharacterData01.java | 12 +- generated/java/lang/CharacterData02.java | 12 +- generated/java/lang/CharacterData0E.java | 12 +- generated/java/lang/CharacterDataLatin1.java | 12 +- generated/java/nio/DirectByteBuffer.java | 2 +- generated/java/nio/DirectCharBufferS.java | 2 +- generated/java/nio/DirectCharBufferU.java | 2 +- generated/java/nio/DirectDoubleBufferS.java | 2 +- generated/java/nio/DirectDoubleBufferU.java | 2 +- generated/java/nio/DirectFloatBufferS.java | 2 +- generated/java/nio/DirectFloatBufferU.java | 2 +- generated/java/nio/DirectIntBufferS.java | 2 +- generated/java/nio/DirectIntBufferU.java | 2 +- generated/java/nio/DirectLongBufferS.java | 2 +- generated/java/nio/DirectLongBufferU.java | 2 +- generated/java/nio/DirectShortBufferS.java | 2 +- generated/java/nio/DirectShortBufferU.java | 2 +- generated/java/nio/HeapByteBuffer.java | 2 +- generated/java/nio/HeapCharBuffer.java | 2 +- generated/java/nio/HeapDoubleBuffer.java | 2 +- generated/java/nio/HeapFloatBuffer.java | 2 +- generated/java/nio/HeapIntBuffer.java | 2 +- generated/java/nio/HeapLongBuffer.java | 2 +- generated/java/nio/HeapShortBuffer.java | 2 +- 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/awt/X11/AwtGraphicsConfigData.java | 69 +- generated/sun/awt/X11/AwtScreenData.java | 30 +- generated/sun/awt/X11/ColorData.java | 62 +- generated/sun/awt/X11/ColorEntry.java | 4 +- generated/sun/awt/X11/Depth.java | 8 +- generated/sun/awt/X11/PropMwmHints.java | 22 +- generated/sun/awt/X11/Screen.java | 90 +- generated/sun/awt/X11/ScreenFormat.java | 20 +- generated/sun/awt/X11/Visual.java | 36 +- generated/sun/awt/X11/XAnyEvent.java | 22 +- generated/sun/awt/X11/XArc.java | 4 +- generated/sun/awt/X11/XButtonEvent.java | 62 +- generated/sun/awt/X11/XChar2b.java | 4 +- generated/sun/awt/X11/XCharStruct.java | 4 +- generated/sun/awt/X11/XCirculateEvent.java | 30 +- generated/sun/awt/X11/XCirculateRequestEvent.java | 30 +- generated/sun/awt/X11/XClassHint.java | 12 +- generated/sun/awt/X11/XClientMessageEvent.java | 36 +- generated/sun/awt/X11/XColor.java | 26 +- generated/sun/awt/X11/XColormapEvent.java | 34 +- generated/sun/awt/X11/XComposeStatus.java | 10 +- generated/sun/awt/X11/XConfigureEvent.java | 54 +- generated/sun/awt/X11/XConfigureRequestEvent.java | 58 +- generated/sun/awt/X11/XCreateWindowEvent.java | 50 +- generated/sun/awt/X11/XCrossingEvent.java | 70 +- generated/sun/awt/X11/XDestroyWindowEvent.java | 26 +- generated/sun/awt/X11/XErrorEvent.java | 30 +- generated/sun/awt/X11/XEvent.java | 6 +- generated/sun/awt/X11/XExposeEvent.java | 42 +- generated/sun/awt/X11/XExtCodes.java | 4 +- generated/sun/awt/X11/XExtData.java | 24 +- generated/sun/awt/X11/XFocusChangeEvent.java | 30 +- generated/sun/awt/X11/XFontProp.java | 10 +- generated/sun/awt/X11/XFontSetExtents.java | 4 +- generated/sun/awt/X11/XFontStruct.java | 64 +- generated/sun/awt/X11/XGCValues.java | 94 +- generated/sun/awt/X11/XGraphicsExposeEvent.java | 50 +- generated/sun/awt/X11/XGravityEvent.java | 34 +- generated/sun/awt/X11/XHostAddress.java | 6 +- generated/sun/awt/X11/XIMCallback.java | 12 +- generated/sun/awt/X11/XIMHotKeyTrigger.java | 14 +- generated/sun/awt/X11/XIMHotKeyTriggers.java | 12 +- generated/sun/awt/X11/XIMPreeditCaretCallbackStruct.java | 4 +- generated/sun/awt/X11/XIMPreeditDrawCallbackStruct.java | 12 +- generated/sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java | 6 +- generated/sun/awt/X11/XIMStatusDrawCallbackStruct.java | 10 +- generated/sun/awt/X11/XIMStringConversionCallbackStruct.java | 12 +- generated/sun/awt/X11/XIMStringConversionText.java | 22 +- generated/sun/awt/X11/XIMStyles.java | 12 +- generated/sun/awt/X11/XIMText.java | 22 +- generated/sun/awt/X11/XIMValuesList.java | 12 +- generated/sun/awt/X11/XIconSize.java | 4 +- generated/sun/awt/X11/XImage.java | 88 +- generated/sun/awt/X11/XKeyEvent.java | 62 +- generated/sun/awt/X11/XKeyboardControl.java | 4 +- generated/sun/awt/X11/XKeyboardState.java | 16 +- generated/sun/awt/X11/XKeymapEvent.java | 28 +- generated/sun/awt/X11/XMapEvent.java | 30 +- generated/sun/awt/X11/XMapRequestEvent.java | 26 +- generated/sun/awt/X11/XMappingEvent.java | 34 +- generated/sun/awt/X11/XModifierKeymap.java | 12 +- generated/sun/awt/X11/XMotionEvent.java | 62 +- generated/sun/awt/X11/XNoExposeEvent.java | 30 +- generated/sun/awt/X11/XOMCharSetList.java | 12 +- generated/sun/awt/X11/XOMFontInfo.java | 18 +- generated/sun/awt/X11/XOMOrientation.java | 12 +- generated/sun/awt/X11/XPixmapFormatValues.java | 4 +- generated/sun/awt/X11/XPoint.java | 4 +- generated/sun/awt/X11/XPropertyEvent.java | 34 +- generated/sun/awt/X11/XRectangle.java | 4 +- generated/sun/awt/X11/XReparentEvent.java | 42 +- generated/sun/awt/X11/XResizeRequestEvent.java | 30 +- generated/sun/awt/X11/XSegment.java | 4 +- generated/sun/awt/X11/XSelectionClearEvent.java | 30 +- generated/sun/awt/X11/XSelectionEvent.java | 38 +- generated/sun/awt/X11/XSelectionRequestEvent.java | 42 +- generated/sun/awt/X11/XSetWindowAttributes.java | 62 +- generated/sun/awt/X11/XSizeHints.java | 74 +- generated/sun/awt/X11/XStandardColormap.java | 42 +- generated/sun/awt/X11/XTextItem.java | 18 +- generated/sun/awt/X11/XTextItem16.java | 18 +- generated/sun/awt/X11/XTextProperty.java | 18 +- generated/sun/awt/X11/XTimeCoord.java | 14 +- generated/sun/awt/X11/XUnmapEvent.java | 30 +- generated/sun/awt/X11/XVisibilityEvent.java | 26 +- generated/sun/awt/X11/XVisualInfo.java | 42 +- generated/sun/awt/X11/XWMHints.java | 40 +- generated/sun/awt/X11/XWindowAttributes.java | 74 +- generated/sun/awt/X11/XWindowChanges.java | 14 +- generated/sun/awt/X11/XdbeSwapInfo.java | 10 +- generated/sun/awt/X11/XmbTextItem.java | 20 +- generated/sun/awt/X11/XwcTextItem.java | 20 +- generated/sun/awt/X11/awtImageData.java | 6 +- generated/sun/awt/X11/generator/sizer.32 | Bin generated/sun/awt/X11/generator/sizer.32.c | 26 +- generated/sun/misc/Version.java | 59 +- generated/sun/nio/ch/SocketOptionRegistry.java | 83 + generated/sun/nio/cs/StandardCharsets.java | 12 +- generated/sun/nio/fs/UnixConstants.java | 79 + generated/sun/tools/jconsole/Version.java | 2 +- hotspot.map | 1 + install-sh | 507 - javac.in | 116 +- jconsole.desktop.in | 10 + jvm.cacao.cfg.in | 44 + jvm.cfg.in | 44 + jvm.jamvm.cfg.in | 44 + missing | 367 - nss.cfg.in | 4 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java | 51 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java | 193 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGDecodeParam.java | 390 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGEncodeParam.java | 307 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGHuffmanTable.java | 129 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageDecoder.java | 102 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java | 208 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGQTable.java | 118 + overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java | 92 + overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageDecoderImpl.java | 108 + overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageEncoderImpl.java | 183 + overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGParam.java | 750 + overlays/openjdk/hotspot/test/serviceability/SDTProbesGNULinuxTest.sh | 68 + overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-bw16.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-bw24.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-bw32.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-bw48.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-interim16.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-interim24.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-interim32.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-interim48.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-yellow16.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-yellow24.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-yellow32.png | Bin overlays/openjdk/jdk/src/solaris/classes/sun/awt/X11/security-icon-yellow48.png | Bin overlays/openjdk/jdk/src/windows/native/sun/windows/security_warning.ico | Bin overlays/openjdk/jdk/src/windows/native/sun/windows/security_warning_bw.ico | Bin overlays/openjdk/jdk/src/windows/native/sun/windows/security_warning_int.ico | Bin overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad | Bin overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/broken_images/x00n0g01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/broken_images/xcrn0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/broken_images/xlfn0g04.png | 13 + overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi0g01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi0g02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi4a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi4a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi6a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basi6a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn0g01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn0g02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn4a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn4a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn6a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/basn6a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgai4a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgai4a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgan6a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgan6a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgbn4a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bggn4a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgwn6a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/bgyn6a16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ccwn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ccwn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cdfn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cdhn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cdsn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cdun2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ch1n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ch2n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cm0n0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cm7n0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cm9n0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs3n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs3n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs5n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs5n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs8n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/cs8n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ct0n0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ct1n0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ctzn0g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f00n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f00n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f01n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f01n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f02n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f02n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f03n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f03n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f04n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/f04n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g03n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g03n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g03n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g04n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g04n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g04n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g05n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g05n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g05n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g07n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g07n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g07n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g10n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g10n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g10n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g25n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g25n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/g25n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi1n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi1n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi2n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi2n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi4n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi4n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi9n0g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/oi9n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/pngsuite_logo.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/pp0n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/pp0n6a08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ps1n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ps1n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ps2n0g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/ps2n2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s01i3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s01n3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s02i3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s02n3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s03i3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s03n3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s04i3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s04n3p01.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s05i3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s05n3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s06i3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s06n3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s07i3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s07n3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s08i3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s08n3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s09i3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s09n3p02.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s32i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s32n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s33i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s33n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s34i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s34n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s35i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s35n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s36i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s36n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s37i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s37n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s38i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s38n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s39i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s39n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s40i3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/s40n3p04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbbn1g04.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbbn2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbbn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbgn2c16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbgn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbrn2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbwn1g16.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbwn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tbyn3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tp0n1g08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tp0n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tp0n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/tp1n3p08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/z00n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/z03n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/z06n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/good_images/z09n2c08.png | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi0g01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi0g02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi3p01.pam | 7 + overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi4a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi4a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi6a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basi6a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn0g01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn0g02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn3p01.pam | 7 + overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn4a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn4a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn6a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/basn6a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgai4a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgai4a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgan6a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgan6a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgbn4a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bggn4a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgwn6a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/bgyn6a16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ccwn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ccwn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cdfn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cdhn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cdsn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cdun2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ch1n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ch2n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cm0n0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cm7n0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cm9n0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs3n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs3n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs5n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs5n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs8n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/cs8n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ct0n0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ct1n0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ctzn0g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f00n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f00n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f01n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f01n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f02n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f02n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f03n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f03n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f04n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/f04n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g03n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g03n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g03n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g04n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g04n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g04n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g05n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g05n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g05n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g07n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g07n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g07n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g10n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g10n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g10n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g25n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g25n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/g25n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi1n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi1n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi2n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi2n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi4n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi4n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi9n0g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/oi9n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/pngsuite_logo.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/pp0n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/pp0n6a08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ps1n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ps1n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ps2n0g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/ps2n2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s01i3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s01n3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s02i3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s02n3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s03i3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s03n3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s04i3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s04n3p01.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s05i3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s05n3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s06i3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s06n3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s07i3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s07n3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s08i3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s08n3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s09i3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s09n3p02.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s32i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s32n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s33i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s33n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s34i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s34n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s35i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s35n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s36i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s36n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s37i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s37n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s38i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s38n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s39i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s39n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s40i3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/s40n3p04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbbn1g04.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbbn2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbbn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbgn2c16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbgn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbrn2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbwn1g16.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbwn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tbyn3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tp0n1g08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tp0n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tp0n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/tp1n3p08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/z00n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/z03n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/z06n2c08.pam | Bin overlays/openjdk/jdk/test/javax/imageio/plugins/png/PngReader/pam_images/z09n2c08.pam | Bin overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks | Bin overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks | Bin patches/6703377-freetypescaler.patch | 11 + patches/ScriptEngineManager-doc.patch | 29 + patches/alt-jar.patch | 15 + patches/alternative_krb5_cache.patch | 332 + patches/alternative_krb5_cache_fixup.patch | 128 + patches/applet_hole.patch | 117 + patches/arch.patch | 299 + patches/arm-debug.patch | 48 + patches/arm/cc_compile-01.patch | 23 + patches/arm/cc_compile-02.patch | 46 + patches/arm/cc_compile-03.patch | 21 + patches/arm/cc_compile-04.patch | 20 + patches/arm/cc_compile-05.patch | 29 + patches/arm/cc_compile-06.patch | 20 + patches/cacao/armhf.patch | 12 + patches/cacao/hotspot/hs23/memory.patch | 36 + patches/cacao/launcher.patch | 50 + patches/cacao/memory.patch | 30 + patches/clean-crypto.patch | 1099 + patches/debug-dir.patch | 31 + patches/disable-cc-incompatible-sanity-checks.patch | 77 + patches/dnd-filelists.patch | 19 + patches/ecj/bootstrap-tools.patch | 87 + patches/ecj/corba-dependencies.patch | 28 + patches/ecj/cp40188-opengl.patch | 92 + patches/ecj/fphexconstants.patch | 60 + patches/ecj/getannotation-cast.patch | 24 + patches/ecj/hotspot/hs23/hotspot-jdk-dependency.patch | 23 + patches/ecj/icedtea.patch | 672 + patches/ecj/javafiles.patch | 157 + patches/ecj/jaxp-dependency.patch | 25 + patches/ecj/jaxws-getdtdtype.patch | 40 + patches/ecj/jaxws-jdk-dependency.patch | 47 + patches/ecj/jaxws-langtools-dependency.patch | 48 + patches/ecj/jopt.patch | 26 + patches/ecj/needs-6.patch | 72 + patches/ecj/no-sun-classes.patch | 35 + patches/ecj/no-test_gamma.patch | 46 + patches/ecj/override.patch | 364 + patches/ecj/spp.patch | 65 + patches/ecj/xbootclasspath.patch | 45 + patches/ecj/xsltproc.patch | 54 + patches/explicit-target-arch.patch | 62 + patches/f14-fonts.patch | 677 + patches/fonts-gentoo.patch | 406 + patches/freetypeversion.patch | 12 + patches/g344659-sparc_fix.patch | 12 + patches/g356743-libpng-1.5.patch | 26 + patches/gcc-suffix.patch | 50 + patches/generalise_crypto_tests.patch | 847 + patches/headers.patch | 39 + patches/hotspot/hs23/6_for_override.patch | 42 + patches/hotspot/hs23/7188168-fix_debug_binaries.patch | 120 + patches/hotspot/hs23/aarch64.patch | 42 + patches/hotspot/hs23/alpha-fixes.patch | 21 + patches/hotspot/hs23/arm-01-hsx22.patch | 189 + patches/hotspot/hs23/arm-03-invokedynamic.patch | 171 + patches/hotspot/hs23/arm-04-invokedynamic_jit.patch | 322 + patches/hotspot/hs23/arm-05-invokedynamic_methodhandle.patch | 40 + patches/hotspot/hs23/arm-06-no_o0.patch | 32 + patches/hotspot/hs23/arm-07-cleanup.patch | 153 + patches/hotspot/hs23/arm-08-cleanup.patch | 29 + patches/hotspot/hs23/arm-09-jvmti.patch | 256 + patches/hotspot/hs23/arm-10-memory_protect.patch | 247 + patches/hotspot/hs23/arm-11-thumb2_jit.patch | 10888 + patches/hotspot/hs23/arm-12-ldrexd.patch | 28 + patches/hotspot/hs23/arm-13-sp_adjustment.patch | 31 + patches/hotspot/hs23/arm-14-stage1.patch | 135 + patches/hotspot/hs23/arm-15-stage2.patch | 56 + patches/hotspot/hs23/arm-16-dont_save_locals.patch | 263 + patches/hotspot/hs23/arm-17-no_debug_code.patch | 206 + patches/hotspot/hs23/arm-18-correct_call.patch | 19 + patches/hotspot/hs23/arm-19-fix_jit_bug.patch | 59 + patches/hotspot/hs23/arm-20-function_renaming.patch | 377 + patches/hotspot/hs23/arm-21-fix_compareandswaplong.patch | 52 + patches/hotspot/hs23/arm-22-fix_trashed_thread_ptr.patch | 24 + patches/hotspot/hs23/arm-25-hsx23.patch | 53 + patches/hotspot/hs23/arm-hsdis.patch | 63 + patches/hotspot/hs23/arm.patch | 295 + patches/hotspot/hs23/drop_unlicensed_test.patch | 43 + patches/hotspot/hs23/gcc-suffix.patch | 35 + patches/hotspot/hs23/jtreg-test7020373-fix.patch | 187 + patches/hotspot/hs23/no_useless_debuginfo_files.patch | 211 + patches/hotspot/hs23/pr1101-sparc_symbols.patch | 57 + patches/hotspot/hs23/pr639-broken_shark_build.patch | 27 + patches/hotspot/hs23/remove_jsr292_tests.patch | 199 + patches/hotspot/hs23/systemtap-alloc-size-workaround.patch | 12 + patches/hotspot/hs23/systemtap.patch | 140 + patches/hotspot/hs23/systemtap_gc.patch | 378 + patches/hotspot/hs23/text-relocations.patch | 40 + patches/hotspot/hs23/type_fixes.patch | 192 + patches/hotspot/hs23/update-bootclasspath.patch | 13 + patches/hotspot/hs23/version.patch | 56 + patches/hotspot/hs23/zero_fixes.patch | 644 + patches/hotspot/hs23/zero_hs22.patch | 216 + patches/hotspot/original/jvmtiEnv.patch | 12 + patches/icedtea-ant.patch | 106 - patches/icedtea-bytebuffer-compact.patch | 82 - patches/icedtea-bytecodeInterpreter.patch | 36 - patches/icedtea-bytecodeInterpreterWithChecks.patch | 18 - patches/icedtea-cacao.patch | 13 - patches/icedtea-certbundle.patch | 237 - patches/icedtea-copy-plugs.patch | 154 - patches/icedtea-corba.patch | 14 - patches/icedtea-core-build.patch | 334 - patches/icedtea-debuginfo.patch | 78 - patches/icedtea-demos.patch | 323 - patches/icedtea-ecj.patch | 1025 - patches/icedtea-float-double-trailing-zeros.patch | 29 - patches/icedtea-gcc-4.3.patch | 84 - patches/icedtea-gcc-suffix.patch | 72 - patches/icedtea-generated.patch | 10 - patches/icedtea-graphics.patch | 60 - patches/icedtea-gtkplaf.patch | 23 - patches/icedtea-headers.patch | 50 - patches/icedtea-hotspot-6b06-7b24.patch | 201186 ---------- patches/icedtea-hotspot7-build-fixes.patch | 64 - patches/icedtea-javafiles.patch | 157 - patches/icedtea-lcms-leak.patch | 11 - patches/icedtea-lesstif-64.patch | 29 - patches/icedtea-lib64.patch | 15 - patches/icedtea-libraries.patch | 25548 - patches/icedtea-license-headers.patch | 81 - patches/icedtea-linker-options.patch | 48 - patches/icedtea-memory-limits.patch | 21 - patches/icedtea-netx-plugin.patch | 49 - patches/icedtea-ports.patch | 243 - patches/icedtea-print-lsb-release.patch | 48 - patches/icedtea-rmi_amd64.patch | 15 - patches/icedtea-signature-iterator.patch | 44 - patches/icedtea-signed-types.patch | 24 - patches/icedtea-speed.patch | 39 - patches/icedtea-ssl.patch | 43 - patches/icedtea-static-libstdc++.patch | 33 - patches/icedtea-sunsrc.patch | 67 - patches/icedtea-test-atomic-operations.patch | 25 - patches/icedtea-text-relocations.patch | 25 - patches/icedtea-timerqueue.patch | 18 - patches/icedtea-tools.patch | 83 - patches/icedtea-use-system-tzdata.patch | 59 - patches/icedtea-version.patch | 66 - patches/icedtea-webservices.patch | 1373 - patches/icedtea-zero-build.patch | 132 - patches/icedtea-zero.patch | 135 - patches/imageiojpeg_sync.patch | 217 + patches/ipv4-mapped-ipv6-addresses.patch | 171 + patches/jaxws-tempfiles-ioutils-6.patch | 176 + patches/jdk-use-ssize_t.patch | 33 + patches/jtreg-6592792.patch | 13 + patches/jtreg-6929067-fix.patch | 50 + patches/jtreg-ChangeDir.patch | 33 + patches/jtreg-ChannelsWrite.patch | 51 + patches/jtreg-ComponentOrientationTests.patch | 246 + patches/jtreg-ConstructDeflaterInput-fix.patch | 10 + patches/jtreg-EncodedMultiByteChar.patch | 24 + patches/jtreg-FileLoaderTest.patch | 36 + patches/jtreg-FileMap.patch | 24 + patches/jtreg-LastErrorString.patch | 201 + patches/jtreg-LayoutGetCharacterCount.patch | 54 + patches/jtreg-LayoutLimits.patch | 49 + patches/jtreg-MappedByteBuffer-Basic.patch | 95 + patches/jtreg-OpenGLContextInit.patch | 46 + patches/jtreg-T6638712-fix.patch | 30 + patches/jtreg-T6650759m-fix.patch | 6 + patches/jtreg-TempBuffer.patch | 61 + patches/jtreg-TextLayoutBoundsChecks.patch | 150 + patches/jtreg-bug7036148-test.patch | 24 + patches/jtreg-dnd.patch | 28 + patches/jtreg-double-to-string.patch | 48 + patches/jtreg-hotspot-bug-6196102.patch | 41 + patches/jtreg-httpTest.patch | 37 + patches/jtreg-international-fonts-styles.patch | 280 + patches/jtreg-international-fonts.patch | 354 + patches/jtreg-jrunscript.patch | 353 + patches/jtreg-png-reader.patch | 1372 + patches/lc_ctype.patch | 23 + patches/lcms.patch | 40 + patches/lcms2-emulate_old_settagdata.patch | 31 + patches/libraries.patch | 25590 + patches/linker-libs-order.patch | 66 + patches/lucene-crash.patch | 44 + patches/memory-limits.patch | 24 + patches/merge_fix.patch | 280 + patches/network-unreachable.patch | 31 + patches/no-test_gamma.patch | 46 + patches/nomotif-6706121.patch | 43588 ++ patches/nomotif-mtoolkit.patch | 168 + patches/nomotif.patch | 54 + patches/notice-safepoints.patch | 16 + patches/nss-config.patch | 10 + patches/nss-not-enabled-config.patch | 13 + patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch | 21 + patches/openjdk/4493128-CubicCurve2D.patch | 213 + patches/openjdk/4645692-CubicCurve2D.solveCubic.patch | 717 + patches/openjdk/4685768-focus.patch | 398 + patches/openjdk/4724552-CubicCurve2D.patch | 48 + patches/openjdk/4893408-jpegreader_byte_gray.patch | 747 + patches/openjdk/4917091-javac_rejects_array_over_128_in_length.patch | 312 + patches/openjdk/4993545-nativeinlightfixer.patch | 408 + patches/openjdk/5047314-Collator_compare_runs_indefinitely.patch | 117 + patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch | 360 + patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch | 195 + patches/openjdk/6307603-xrender-01.patch | 9022 + patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch | 111 + patches/openjdk/6390045-error_cannot_access_java_lang_void.patch | 104 + patches/openjdk/6444769-windowwithwarningtest.patch | 352 + patches/openjdk/6500343-bad_code_from_conditionals.patch | 129 + patches/openjdk/6510892-httpserver_test.patch | 122 + patches/openjdk/6541350-tz_display_names_l10n.patch | 300 + patches/openjdk/6563752-ss12_support.patch | 173 + patches/openjdk/6607170-request_focus.patch | 709 + patches/openjdk/6607660-treelock.patch | 112 + patches/openjdk/6613904-GroupLayout_createParallelGroup_null_arg.patch | 91 + patches/openjdk/6616323-component_array.patch | 1083 + patches/openjdk/6623219-Font_canDisplayUpTo_does_not_work.patch | 204 + patches/openjdk/6631559-dont_load_libjpeg_to_register_imageio_plugins.patch | 562 + patches/openjdk/6633275-shaped_translucent_windows.patch | 6197 + patches/openjdk/6636331-appcontext_concurrentmodificationexception.patch | 24 + patches/openjdk/6636370-appcontext_simplification.patch | 178 + patches/openjdk/6637796-set_bounds.patch | 465 + patches/openjdk/6638712-wildcard_types.patch | 563 + patches/openjdk/6642612-filechooser_button_sizes.patch | 67 + patches/openjdk/6650759-missing_inference.patch | 884 + patches/openjdk/6656651-windows_lcd_glyphs.patch | 938 + patches/openjdk/6663040-com.sun.awt.patch | 10 + patches/openjdk/6679308-Poor_text_rendering_on_translucent_image.patch | 535 + patches/openjdk/6682046-shape_calculation.patch | 506 + patches/openjdk/6682380-foreach_crash.patch | 97 + patches/openjdk/6693253-security_warning.patch | 5391 + patches/openjdk/6699843-IllegalArgumentException_drawString.patch | 133 + patches/openjdk/6706974-krb5_test_infrastructure.patch | 2090 + patches/openjdk/6708580-exa_slow.patch | 103 + patches/openjdk/6711682-JCheckBox_in_JTable_does_not_respond_to_click.patch | 177 + patches/openjdk/6718364-inference_failure.patch | 76 + patches/openjdk/6725214-direct3d-01.patch | 62027 +++ patches/openjdk/6728834-blurred-lcd-aa-text.patch | 226 + patches/openjdk/6729772-opt_cleanup.patch | 847 + patches/openjdk/6733501-icedtea_lcms_test.patch | 133 + patches/openjdk/6736649-text_bearings.patch | 112 + patches/openjdk/6748082-isDisplayLocal.patch | 116 + patches/openjdk/6749060-bad-lcd-aa-non-opaque-dest.patch | 219 + patches/openjdk/6752638-preferLocaleFonts_throws_NPE.patch | 97 + patches/openjdk/6755274-glgetstring-crash.patch | 56 + patches/openjdk/6758179-D3D_AlphaComposite_is_applied_incorrectly.patch | 107 + patches/openjdk/6761072-new_krb5_tests_fail_on_multiple_platforms.patch | 94 + patches/openjdk/6763340-corba_memory_leak.patch | 409 + patches/openjdk/6764553-IdResolver_is_not_thread_safe.patch | 41 + patches/openjdk/6766342-AA-simple-shape-performance.patch | 3819 + patches/openjdk/6769607-modal-hangs.patch | 164 + patches/openjdk/6775317-non-AA-simple-shape-performance.patch | 1697 + patches/openjdk/6783910-java_awt_Color_brighter_darker_fix.patch | 141 + patches/openjdk/6785424-SecurityException_locating_physical_fonts.patch | 97 + patches/openjdk/6791502-invalid_icc_profile.patch | 269 + patches/openjdk/6791612-opengl-jni-fix.patch | 27 + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch | 50 + patches/openjdk/6793818-jpegimagereader_too_greedy.patch | 228 + patches/openjdk/6797139-jbutton_truncation.patch | 610 + patches/openjdk/6797195-hw_lw_mixing.patch | 3277 + patches/openjdk/6799141-split_out_versions.patch | 915 + patches/openjdk/6800846-printing-quality.patch | 144 + patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch | 398 + patches/openjdk/6816311-compiler_name.patch | 417 + patches/openjdk/6818312-com.sun.awt.SecurityWarning.getSize.patch | 405 + patches/openjdk/6821191-tz_display_names_l10n.patch | 125 + patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch | 17 + patches/openjdk/6842838-64-bit_failure_in_handling_invalid_manifest.patch | 272 + patches/openjdk/6882768-test_for_6842838_is_broken.patch | 95 + patches/openjdk/6883341-text_bearing_exception.patch | 92 + patches/openjdk/6883983-JarVerifier_removed_dependency_sun_security_pkcs.patch | 23 + patches/openjdk/6887494-NPE-in-pisces.patch | 90 + patches/openjdk/6888215-jpeg_memory_leak.patch | 56 + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 + patches/openjdk/6896068-sg2d.patch | 209 + patches/openjdk/6918065-Crash_in_Java2D_blit_loop.patch | 58 + patches/openjdk/6934356-Vector_writeObject_serialization_DL.patch | 293 + patches/openjdk/6934977-MappedByteBuffer.load.patch | 353 + patches/openjdk/6959123-libpng_14.patch | 21 + patches/openjdk/6961633-xrender-02.patch | 44 + patches/openjdk/6967434-bad-round-joins.patch | 4992 + patches/openjdk/6967436-6967433-floating-pt-conversion.patch | 2606 + patches/openjdk/6967533-pre_epoch.patch | 57 + patches/openjdk/6974017-minorver_for_solaris.patch | 24 + patches/openjdk/6976265-stroke-control.patch | 231 + patches/openjdk/6977550-tzdata2010l.patch | 1208 + patches/openjdk/6980281-majorver_for_solaris.patch | 66 + patches/openjdk/6980681-corba_deadlock.patch | 69 + patches/openjdk/6984543-onscreen_rendering_resize_test.patch | 30 + patches/openjdk/6986968-crash_on_xim_restart.patch | 23 + patches/openjdk/6989760-native_warnings.patch | 42 + patches/openjdk/6989774-imageio_compiler_warnings.patch | 649 + patches/openjdk/6996686-tzdata2010o.patch | 93 + patches/openjdk/7000225-bad_tabs.patch | 48 + patches/openjdk/7002766-parfait-jpeg.patch | 42 + patches/openjdk/7003595-incompatibleclasschangeerror.patch | 351 + patches/openjdk/7003777-bad-html-entity-parse.patch | 80 + patches/openjdk/7008106-WindowOpacity.patch | 19 + patches/openjdk/7013519-integer_overflows.patch | 17 + patches/openjdk/7016856-pisces-performance.patch | 2116 + patches/openjdk/7017800-tzdata2011b.patch | 254 + patches/openjdk/7018387-xrender_gc_leak.patch | 21 + patches/openjdk/7018912-potential_buffer_overruns_in_jpeg.patch | 21 + patches/openjdk/7019861-AA-regression-fix.patch | 502 + patches/openjdk/7021314-no_javaws_man_page.patch | 24 + patches/openjdk/7023591-AAShapePipe.patch | 20 + patches/openjdk/7024568-long_method_resolution_oom_error.patch | 102 + patches/openjdk/7027387-tzdata2011d.patch | 502 + patches/openjdk/7027667-AAShapePipeRegTest.patch | 62 + patches/openjdk/7033174-tzdata2011e.patch | 117 + patches/openjdk/7036148-npe-null-jmenu-name.patch | 85 + patches/openjdk/7036582-Improve_test_coverage_of_BigDecimal.patch | 6168 + patches/openjdk/7036754-stroker-nan.patch | 490 + patches/openjdk/7038711-fix_no-clobber_usage.patch | 125 + patches/openjdk/7039469-tzdata2011g.patch | 116 + patches/openjdk/7043921-java_rmi_cgi.patch | 40 + patches/openjdk/7046929-fix_t6397104_test_failure.patch | 42 + patches/openjdk/7049339-anyblit-broken.patch | 111 + patches/openjdk/7088989-ucrypto_tests.patch | 1022 + patches/openjdk/7090843-tzdata2011j.patch | 1228 + patches/openjdk/7103108-tzdata2011l.patch | 1593 + patches/openjdk/7103405-correct_display_names.patch | 118 + patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch | 96 + patches/openjdk/7104126-headers_tzdata.patch | 530 + patches/openjdk/7158483-tzdata2012c.patch | 1436 + patches/openjdk/7162902-corba_fixes.patch | 2265 + patches/openjdk/7171223-strict_aliasing.patch | 25 + patches/openjdk/7188114-alternate_command_line_parser.patch | 611 + patches/openjdk/7196533-timezone_bottleneck.patch | 66 + patches/openjdk/7198570-tzdata2012f.patch | 841 + patches/openjdk/7199143-OCSP_timeout.patch | 53 + patches/openjdk/8002070-remove_logger_stack_search.patch | 152 + patches/openjdk/8002070-remove_logger_stack_search_2.patch | 546 + patches/openjdk/8002225-tzdata2012i.patch | 261 + patches/openjdk/8005194-scale_memory_leak.patch | 25 + patches/openjdk/8006120-server_jre.patch | 60 + patches/openjdk/8006536-remove_trailing_slashes.patch | 43 + patches/openjdk/8009165-inappropriate_method_in_reflectutil.patch | 68 + patches/openjdk/8009217-fix_test_compile.patch | 91 + patches/openjdk/8009463-space_and_final_backslash.patch | 33 + patches/openjdk/8009530-icu_kern_table_support_broken.patch | 332 + patches/openjdk/8009610-blacklist_malware_certificate.patch | 64 + patches/openjdk/8009987-tzdata2013b.patch | 2165 + patches/openjdk/8010118-caller_sensitive.patch | 2964 + patches/openjdk/8010213-set_socketoptions_windows.patch | 29 + patches/openjdk/8010714-xml_dsig_retrievalmethod.patch | 345 + patches/openjdk/8010727-empty_logger_name.patch | 99 + patches/openjdk/8010939-logmanager_deadlock.patch | 264 + patches/openjdk/8011139-revise_checking_getenclosingclass.patch | 58 + patches/openjdk/8011154-awt_regression.patch | 20 + patches/openjdk/8011313-OCSP_timeout_wrong_value.patch | 31 + patches/openjdk/8011990-logger_test_urls.patch | 55 + patches/openjdk/8011992-MlibOpsTest_failed.patch | 89 + patches/openjdk/8012112-MlibOpsTest_fails.patch | 51 + patches/openjdk/8012243-serial_regression.patch | 42 + patches/openjdk/8012617-arrayindexoutofbounds_linebreakmeasurer.patch | 480 + patches/openjdk/8012933-appcontext_disposed_too_early.patch | 153 + patches/openjdk/8013196-timezone_getdefault_throws_exception.patch | 39 + patches/openjdk/8013380-handle_renames.patch | 107 + patches/openjdk/8013380-logger_stack_walk_glassfish.patch | 936 + patches/openjdk/8014205-blank_swing_dialogs_windows.patch | 146 + patches/openjdk/8014427-raster_regression.patch | 20 + patches/openjdk/8014469-tzdata2013c.patch | 276 + patches/openjdk/8014676-javadebugger_space_in_paths.patch | 32 + patches/openjdk/8014718-remove_logging_suntoolkit.patch | 112 + patches/openjdk/8014745-logger_stack_walk_switch.patch | 199 + patches/openjdk/8014968-OCSP_timeout_default.patch | 19 + patches/openjdk/8020054-tzdata2013d.patch | 314 + patches/openjdk/8020983-outofmemoryerror_jpegimagewriter.patch | 320 + patches/openjdk/lcms2/6523398-writing_tags.patch | 51207 ++ patches/openjdk/lcms2/6988213-windows_build_failure.patch | 25 + patches/openjdk/lcms2/7002766-parfait.patch | 20 + patches/openjdk/lcms2/7042594-tck_failure.patch | 375 + patches/openjdk/lcms2/7053526-lcms_2.4.patch | 10111 + patches/openjdk/lcms2/8007925-improve_cmsstagealloclabv2tov4curves.patch | 30 + patches/openjdk/lcms2/8007927-improve_cmsallocprofilesequencedescription.patch | 23 + patches/openjdk/lcms2/8007929-improve_curvesalloc.patch | 28 + patches/openjdk/lcms2/8009654-cmsnamed_stability.patch | 38 + patches/openjdk/lcms2/system_lcms2.patch | 93 + patches/openjdk/mutter.patch | 311 + patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch | 1176 + patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch | 1511 + patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch | 608 + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch | 60 + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch | 22 + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch | 172 + patches/openjdk/p11cipher-6812738-native_cleanup.patch | 4849 + patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch | 328 + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch | 102 + patches/openjdk/pgram-pipe-regression.patch | 552 + patches/override-redirect-metacity.patch | 11 + patches/parisc-opt.patch | 28 + patches/parisc.patch | 14 + patches/pax-mark-rmic-java.patch | 10 + patches/policy-evaluation.patch | 35 + patches/powerpc-stacksize.patch | 42 + patches/pr1095-werror.patch | 64 + patches/pr1319-support_giflib_5.patch | 29 + patches/pr261.patch | 40 + patches/pr586-include_all_srcs.patch | 37 + patches/print_lsb_release.patch | 49 + patches/pulse-soundproperties.patch | 16 + patches/remove-gcm-test.patch | 77 + patches/remove_multicatch_in_testrsa.patch | 109 + patches/rendering-engine-tests.patch | 375 + patches/rh661505-jpeg.patch | 16 + patches/rh995488-rhel_tz_fix.patch | 77 + patches/rhino.patch | 152 + patches/s390-noinline.patch | 22 + patches/samejvm-safe.patch | 12 + patches/security/20120214/7112642.patch | 750 + patches/security/20120830/7182135-impossible_to_use_some_editors_directly.patch | 519 + patches/security/20130618/8009071-improve_shape_handling.patch | 1014 + patches/sh4-support.patch | 166 + patches/skip_wrap_mode.patch | 24 + patches/sparc-buildfixes.patch | 26 + patches/sparc-ptracefix.patch | 34 + patches/sparc-trapsfix.patch | 12 + patches/sparc64-linux.patch | 24 + patches/testenv.patch | 66 + patches/traceable.patch | 12 + patches/uname.patch | 24 + patches/use-system-tzdata.patch | 99 + patches/version.patch | 91 + patches/xjc.patch | 24 + pax-mark-vm.in | 13 + platform_zero.in | 17 - policytool.desktop.in | 10 + ports/hotspot/build/linux/makefiles/zero.make | 41 - ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp | 87 - ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp | 70 - ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp | 55 - ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp | 157 - ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp | 278 - ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp | 32 - ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp | 25 - ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp | 307 - ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp | 27 - ports/hotspot/src/cpu/zero/vm/copy_zero.hpp | 166 - ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 752 - ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp | 37 - ports/hotspot/src/cpu/zero/vm/debug_zero.cpp | 32 - ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp | 44 - ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp | 38 - ports/hotspot/src/cpu/zero/vm/dump_zero.cpp | 37 - ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp | 62 - ports/hotspot/src/cpu/zero/vm/frame_zero.cpp | 118 - ports/hotspot/src/cpu/zero/vm/frame_zero.hpp | 51 - ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp | 154 - ports/hotspot/src/cpu/zero/vm/globals_zero.hpp | 54 - ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp | 52 - ports/hotspot/src/cpu/zero/vm/icache_zero.cpp | 36 - ports/hotspot/src/cpu/zero/vm/icache_zero.hpp | 33 - ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp | 31 - ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp | 68 - ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp | 37 - ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp | 170 - ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp | 144 - ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp | 63 - ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp | 59 - ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp | 78 - ports/hotspot/src/cpu/zero/vm/javaStack_zero.hpp | 159 - ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp | 67 - ports/hotspot/src/cpu/zero/vm/jniTypes_zero.hpp | 108 - ports/hotspot/src/cpu/zero/vm/jni_zero.h | 32 - ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp | 222 - ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp | 39 - ports/hotspot/src/cpu/zero/vm/register_zero.cpp | 39 - ports/hotspot/src/cpu/zero/vm/register_zero.hpp | 114 - ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp | 68 - ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp | 33 - ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp | 116 - ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp | 169 - ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp | 254 - ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp | 31 - ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp | 50 - ports/hotspot/src/cpu/zero/vm/vmStructs_zero.hpp | 52 - ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp | 32 - ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp | 67 - 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 | 47 - ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp | 160 - ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp | 43 - 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 | 101 - ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 372 - ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 31 - ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp | 32 - ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp | 42 - ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp | 32 - ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp | 100 - ports/hotspot/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp | 45 - ports/jdk/src/solaris/bin/alpha/jvm.cfg | 45 - ports/jdk/src/solaris/bin/arm/jvm.cfg | 45 - ports/jdk/src/solaris/bin/ergo_alpha.c | 58 - ports/jdk/src/solaris/bin/ergo_arm.c | 58 - ports/jdk/src/solaris/bin/ergo_ia64.c | 58 - ports/jdk/src/solaris/bin/ergo_mips.c | 58 - ports/jdk/src/solaris/bin/ergo_ppc.c | 58 - ports/jdk/src/solaris/bin/ergo_s390.c | 58 - ports/jdk/src/solaris/bin/mips/jvm.cfg | 45 - ports/jdk/src/solaris/bin/ppc/jvm.cfg | 45 - ports/jdk/src/solaris/bin/ppc64/jvm.cfg | 45 - ports/jdk/src/solaris/bin/s390/jvm.cfg | 45 - ports/jdk/src/solaris/bin/s390x/jvm.cfg | 45 - pulseaudio/COPYING | 340 + pulseaudio/README | 28 + pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider | 3 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java | 104 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java | 50 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java | 114 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java | 246 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java | 166 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java | 574 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 498 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 124 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java | 792 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java | 62 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java | 63 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java | 87 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java | 161 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 347 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java | 95 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 421 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java | 88 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java | 101 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java | 31 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java | 869 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java | 84 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java | 70 + pulseaudio/src/native/jni-common.c | 236 + pulseaudio/src/native/jni-common.h | 100 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c | 63 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c | 297 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c | 100 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c | 102 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c | 107 + pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c | 1103 + pulseaudio/testsounds/README | 4 + pulseaudio/testsounds/error.wav | Bin pulseaudio/testsounds/logout.wav | Bin pulseaudio/testsounds/startup.wav | Bin pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java | 114 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java | 637 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java | 100 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java | 118 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java | 120 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java | 434 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java | 299 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java | 1406 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java | 117 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java | 648 + pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java | 117 + rewriter/agpl-3.0.txt | 661 + rewriter/com/redhat/rewriter/ClassRewriter.java | 293 + 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/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/UnavailableServiceException.java | 16 - rt/net/sourceforge/jnlp/AppletDesc.java | 125 - rt/net/sourceforge/jnlp/ApplicationDesc.java | 76 - rt/net/sourceforge/jnlp/ComponentDesc.java | 43 - rt/net/sourceforge/jnlp/DefaultLaunchHandler.java | 116 - rt/net/sourceforge/jnlp/ExtensionDesc.java | 146 - rt/net/sourceforge/jnlp/IconDesc.java | 135 - rt/net/sourceforge/jnlp/InformationDesc.java | 241 - rt/net/sourceforge/jnlp/InstallerDesc.java | 54 - rt/net/sourceforge/jnlp/JARDesc.java | 131 - rt/net/sourceforge/jnlp/JNLPFile.java | 512 - rt/net/sourceforge/jnlp/JREDesc.java | 123 - rt/net/sourceforge/jnlp/LaunchException.java | 190 - rt/net/sourceforge/jnlp/LaunchHandler.java | 68 - rt/net/sourceforge/jnlp/Launcher.java | 583 - rt/net/sourceforge/jnlp/NetxPanel.java | 159 - rt/net/sourceforge/jnlp/PackageDesc.java | 105 - rt/net/sourceforge/jnlp/ParseException.java | 94 - rt/net/sourceforge/jnlp/Parser.java | 1101 - rt/net/sourceforge/jnlp/PluginBridge.java | 188 - rt/net/sourceforge/jnlp/PropertyDesc.java | 66 - rt/net/sourceforge/jnlp/ResourcesDesc.java | 231 - rt/net/sourceforge/jnlp/SecurityDesc.java | 173 - rt/net/sourceforge/jnlp/Version.java | 354 - rt/net/sourceforge/jnlp/cache/CacheEntry.java | 174 - rt/net/sourceforge/jnlp/cache/CacheUtil.java | 391 - rt/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 318 - rt/net/sourceforge/jnlp/cache/DownloadIndicator.java | 92 - rt/net/sourceforge/jnlp/cache/Resource.java | 259 - rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 926 - rt/net/sourceforge/jnlp/cache/UpdatePolicy.java | 89 - 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 | 159 - rt/net/sourceforge/jnlp/resources/about.jnlp | 20 - rt/net/sourceforge/jnlp/resources/default.jnlp | 20 - rt/net/sourceforge/jnlp/resources/install.png | Bin rt/net/sourceforge/jnlp/resources/netx-icon.png | Bin rt/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 68 - rt/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 109 - rt/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 343 - rt/net/sourceforge/jnlp/runtime/AppletInstance.java | 139 - rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 248 - rt/net/sourceforge/jnlp/runtime/Boot.java | 415 - rt/net/sourceforge/jnlp/runtime/Boot13.java | 103 - rt/net/sourceforge/jnlp/runtime/InstallDialog.java | 169 - rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 781 - rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 89 - rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 469 - rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 349 - rt/net/sourceforge/jnlp/runtime/package.html | 29 - rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 199 - rt/net/sourceforge/jnlp/security/AppletWarningPane.java | 120 - rt/net/sourceforge/jnlp/security/CertWarningPane.java | 263 - rt/net/sourceforge/jnlp/security/CertsInfoPane.java | 357 - rt/net/sourceforge/jnlp/security/MoreInfoPane.java | 110 - rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 197 - rt/net/sourceforge/jnlp/security/SecurityUtil.java | 200 - rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 389 - rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 77 - rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 358 - rt/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 148 - rt/net/sourceforge/jnlp/services/ServiceUtil.java | 200 - rt/net/sourceforge/jnlp/services/XBasicService.java | 174 - rt/net/sourceforge/jnlp/services/XClipboardService.java | 81 - rt/net/sourceforge/jnlp/services/XDownloadService.java | 181 - rt/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 123 - rt/net/sourceforge/jnlp/services/XFileContents.java | 122 - rt/net/sourceforge/jnlp/services/XFileOpenService.java | 113 - rt/net/sourceforge/jnlp/services/XFileSaveService.java | 140 - rt/net/sourceforge/jnlp/services/XPersistenceService.java | 176 - rt/net/sourceforge/jnlp/services/XServiceManagerStub.java | 102 - 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 | 515 - rt/net/sourceforge/jnlp/tools/JarSignerResources.java | 212 - rt/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 69 - rt/net/sourceforge/jnlp/tools/KeyTool.java | 479 - 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/nanoxml/XMLElement.java | 1205 - rt/net/sourceforge/nanoxml/XMLParseException.java | 130 - scripts/jni_create_stap.c | 190 + scripts/jni_desc | 1471 + src/jtreg/JavaTest.cmdMgrs.lst | 34 + src/jtreg/JavaTest.toolMgrs.lst | 30 + src/jtreg/META-INF/MANIFEST.MF | 3 + src/jtreg/README | 33 + src/jtreg/com/sun/interview/AllFilesFileFilter.java | 60 + src/jtreg/com/sun/interview/Checklist.java | 124 + src/jtreg/com/sun/interview/ChoiceArrayQuestion.java | 385 + src/jtreg/com/sun/interview/ChoiceQuestion.java | 380 + src/jtreg/com/sun/interview/CompositeQuestion.java | 63 + src/jtreg/com/sun/interview/DirectoryFileFilter.java | 61 + src/jtreg/com/sun/interview/ErrorQuestion.java | 56 + src/jtreg/com/sun/interview/ExtensionFileFilter.java | 162 + src/jtreg/com/sun/interview/FileFilter.java | 53 + src/jtreg/com/sun/interview/FileListQuestion.java | 376 + src/jtreg/com/sun/interview/FileQuestion.java | 299 + src/jtreg/com/sun/interview/FilesAndDirectoriesFileFilter.java | 61 + src/jtreg/com/sun/interview/FinalQuestion.java | 63 + src/jtreg/com/sun/interview/FloatQuestion.java | 399 + src/jtreg/com/sun/interview/InetAddressQuestion.java | 408 + src/jtreg/com/sun/interview/IntQuestion.java | 376 + src/jtreg/com/sun/interview/Interview.java | 2397 + src/jtreg/com/sun/interview/InterviewQuestion.java | 126 + src/jtreg/com/sun/interview/InterviewSet.java | 262 + src/jtreg/com/sun/interview/ListQuestion.java | 637 + src/jtreg/com/sun/interview/NullQuestion.java | 174 + src/jtreg/com/sun/interview/Properties2.java | 346 + src/jtreg/com/sun/interview/PropertiesQuestion.java | 1420 + src/jtreg/com/sun/interview/Question.java | 513 + src/jtreg/com/sun/interview/StringListQuestion.java | 284 + src/jtreg/com/sun/interview/StringQuestion.java | 230 + src/jtreg/com/sun/interview/TreeQuestion.java | 388 + src/jtreg/com/sun/interview/WizEdit.java | 346 + src/jtreg/com/sun/interview/WizPrint.java | 1091 + src/jtreg/com/sun/interview/YesNoQuestion.java | 94 + src/jtreg/com/sun/interview/i18n.properties | 86 + src/jtreg/com/sun/interview/package.html | 142 + src/jtreg/com/sun/interview/wizard/ActionDocListener.java | 59 + src/jtreg/com/sun/interview/wizard/ActionListDataListener.java | 59 + src/jtreg/com/sun/interview/wizard/ChoiceArrayQuestionRenderer.java | 214 + src/jtreg/com/sun/interview/wizard/ChoiceQuestionRenderer.java | 246 + src/jtreg/com/sun/interview/wizard/EditableList.java | 368 + src/jtreg/com/sun/interview/wizard/Exporter.java | 74 + src/jtreg/com/sun/interview/wizard/FileList.java | 134 + src/jtreg/com/sun/interview/wizard/FileListQuestionRenderer.java | 113 + src/jtreg/com/sun/interview/wizard/FileQuestionRenderer.java | 163 + src/jtreg/com/sun/interview/wizard/FloatQuestionRenderer.java | 196 + src/jtreg/com/sun/interview/wizard/I18NResourceBundle.java | 185 + src/jtreg/com/sun/interview/wizard/InetAddressQuestionRenderer.java | 392 + src/jtreg/com/sun/interview/wizard/InfoPanel.java | 89 + src/jtreg/com/sun/interview/wizard/IntQuestionRenderer.java | 165 + src/jtreg/com/sun/interview/wizard/ListQuestionRenderer.java | 244 + src/jtreg/com/sun/interview/wizard/NullQuestionRenderer.java | 43 + src/jtreg/com/sun/interview/wizard/PathPanel.java | 1192 + src/jtreg/com/sun/interview/wizard/PropertiesQuestionRenderer.java | 341 + src/jtreg/com/sun/interview/wizard/QuestionPanel.java | 668 + src/jtreg/com/sun/interview/wizard/QuestionRenderer.java | 70 + src/jtreg/com/sun/interview/wizard/RenderingUtilities.java | 460 + src/jtreg/com/sun/interview/wizard/SearchDialog.java | 330 + src/jtreg/com/sun/interview/wizard/StringListQuestionRenderer.java | 78 + src/jtreg/com/sun/interview/wizard/StringQuestionRenderer.java | 104 + src/jtreg/com/sun/interview/wizard/SwingFileFilter.java | 61 + src/jtreg/com/sun/interview/wizard/TreeQuestionRenderer.java | 701 + src/jtreg/com/sun/interview/wizard/TypeInPanel.java | 159 + src/jtreg/com/sun/interview/wizard/WizPane.java | 517 + src/jtreg/com/sun/interview/wizard/Wizard.java | 1095 + src/jtreg/com/sun/interview/wizard/YesNoQuestionRenderer.java | 126 + src/jtreg/com/sun/interview/wizard/arrow.gif | Bin src/jtreg/com/sun/interview/wizard/back.gif | Bin src/jtreg/com/sun/interview/wizard/blank.gif | Bin src/jtreg/com/sun/interview/wizard/cancel.gif | Bin src/jtreg/com/sun/interview/wizard/check.gif | Bin src/jtreg/com/sun/interview/wizard/done.gif | Bin src/jtreg/com/sun/interview/wizard/find.gif | Bin src/jtreg/com/sun/interview/wizard/history.gif | Bin src/jtreg/com/sun/interview/wizard/i18n.properties | 294 + src/jtreg/com/sun/interview/wizard/info.gif | Bin src/jtreg/com/sun/interview/wizard/next.gif | Bin src/jtreg/com/sun/interview/wizard/package.html | 57 + src/jtreg/com/sun/javatest/AllTestsFilter.java | 52 + src/jtreg/com/sun/javatest/BasicParameters.java | 817 + src/jtreg/com/sun/javatest/Command.java | 72 + src/jtreg/com/sun/javatest/CompositeFilter.java | 234 + src/jtreg/com/sun/javatest/DefaultTestRunner.java | 254 + src/jtreg/com/sun/javatest/Deprecated.java | 45 + src/jtreg/com/sun/javatest/EditJTI.java | 713 + src/jtreg/com/sun/javatest/EditLinks.java | 564 + src/jtreg/com/sun/javatest/ExcludeList.java | 1212 + src/jtreg/com/sun/javatest/ExcludeListFilter.java | 81 + src/jtreg/com/sun/javatest/ExcludeListUpdateHandler.java | 167 + src/jtreg/com/sun/javatest/FileParameters.java | 571 + src/jtreg/com/sun/javatest/Harness.java | 964 + src/jtreg/com/sun/javatest/HarnessHttpHandler.java | 590 + src/jtreg/com/sun/javatest/InitialUrlFilter.java | 170 + src/jtreg/com/sun/javatest/InterviewParameters.java | 1676 + src/jtreg/com/sun/javatest/InterviewPropagator.java | 821 + src/jtreg/com/sun/javatest/JavaTestError.java | 224 + src/jtreg/com/sun/javatest/JavaTestSecurityManager.java | 204 + src/jtreg/com/sun/javatest/Keywords.java | 595 + src/jtreg/com/sun/javatest/KeywordsFilter.java | 80 + src/jtreg/com/sun/javatest/LastRunFilter.java | 145 + src/jtreg/com/sun/javatest/LastRunInfo.java | 176 + src/jtreg/com/sun/javatest/ObservableTestFilter.java | 82 + src/jtreg/com/sun/javatest/Parameters.java | 948 + src/jtreg/com/sun/javatest/ProductInfo.java | 200 + src/jtreg/com/sun/javatest/ResourceTable.java | 118 + src/jtreg/com/sun/javatest/Script.java | 1350 + src/jtreg/com/sun/javatest/Status.java | 361 + src/jtreg/com/sun/javatest/StatusFilter.java | 124 + src/jtreg/com/sun/javatest/TRT_HttpHandler.java | 210 + src/jtreg/com/sun/javatest/TRT_Iterator.java | 954 + src/jtreg/com/sun/javatest/TRT_TreeNode.java | 1749 + src/jtreg/com/sun/javatest/TemplateUtilities.java | 218 + src/jtreg/com/sun/javatest/Test.java | 64 + src/jtreg/com/sun/javatest/TestDescription.java | 576 + src/jtreg/com/sun/javatest/TestEnvContext.java | 356 + src/jtreg/com/sun/javatest/TestEnvironment.java | 692 + src/jtreg/com/sun/javatest/TestFilter.java | 139 + src/jtreg/com/sun/javatest/TestFinder.java | 738 + src/jtreg/com/sun/javatest/TestFinderQueue.java | 714 + src/jtreg/com/sun/javatest/TestResult.java | 2685 + src/jtreg/com/sun/javatest/TestResultCache.java | 815 + src/jtreg/com/sun/javatest/TestResultTable.java | 2938 + src/jtreg/com/sun/javatest/TestRunner.java | 227 + src/jtreg/com/sun/javatest/TestSuite.java | 1344 + src/jtreg/com/sun/javatest/Trace.java | 175 + src/jtreg/com/sun/javatest/WorkDirectory.java | 942 + src/jtreg/com/sun/javatest/agent/ActiveAgentCommand.java | 117 + src/jtreg/com/sun/javatest/agent/ActiveAgentPool.java | 647 + src/jtreg/com/sun/javatest/agent/ActiveConnectionFactory.java | 88 + src/jtreg/com/sun/javatest/agent/ActiveModeOptions.java | 79 + src/jtreg/com/sun/javatest/agent/Agent.java | 1162 + src/jtreg/com/sun/javatest/agent/AgentApplet.java | 304 + src/jtreg/com/sun/javatest/agent/AgentClassLoader.java | 88 + src/jtreg/com/sun/javatest/agent/AgentClassLoader2.java | 63 + src/jtreg/com/sun/javatest/agent/AgentFrame.java | 337 + src/jtreg/com/sun/javatest/agent/AgentMain.java | 556 + src/jtreg/com/sun/javatest/agent/AgentManager.java | 646 + src/jtreg/com/sun/javatest/agent/AgentMonitorCommandManager.java | 231 + src/jtreg/com/sun/javatest/agent/AgentMonitorTool.java | 516 + src/jtreg/com/sun/javatest/agent/AgentMonitorToolManager.java | 111 + src/jtreg/com/sun/javatest/agent/AgentPanel.java | 1048 + src/jtreg/com/sun/javatest/agent/BadValue.java | 65 + src/jtreg/com/sun/javatest/agent/Connection.java | 83 + src/jtreg/com/sun/javatest/agent/ConnectionFactory.java | 88 + src/jtreg/com/sun/javatest/agent/Deck.java | 96 + src/jtreg/com/sun/javatest/agent/Deprecated.java | 52 + src/jtreg/com/sun/javatest/agent/Folder.java | 343 + src/jtreg/com/sun/javatest/agent/Icon.java | 114 + src/jtreg/com/sun/javatest/agent/InterruptableSocketConnection.java | 134 + src/jtreg/com/sun/javatest/agent/Map.java | 197 + src/jtreg/com/sun/javatest/agent/ModeOptions.java | 56 + src/jtreg/com/sun/javatest/agent/PassiveAgentCommand.java | 135 + src/jtreg/com/sun/javatest/agent/PassiveConnectionFactory.java | 91 + src/jtreg/com/sun/javatest/agent/PassiveModeOptions.java | 73 + src/jtreg/com/sun/javatest/agent/SocketConnection.java | 169 + src/jtreg/com/sun/javatest/agent/i18n.properties | 95 + src/jtreg/com/sun/javatest/agent/jticon.gif | Bin src/jtreg/com/sun/javatest/agent/package.html | 60 + src/jtreg/com/sun/javatest/audit/Audit.java | 739 + src/jtreg/com/sun/javatest/audit/AuditCommandManager.java | 140 + src/jtreg/com/sun/javatest/audit/AuditPane.java | 82 + src/jtreg/com/sun/javatest/audit/AuditTool.java | 373 + src/jtreg/com/sun/javatest/audit/AuditToolManager.java | 105 + src/jtreg/com/sun/javatest/audit/BadChecksumPane.java | 47 + src/jtreg/com/sun/javatest/audit/BadTestCaseTestsPane.java | 48 + src/jtreg/com/sun/javatest/audit/BadTestDescriptionPane.java | 47 + src/jtreg/com/sun/javatest/audit/BadTestsPane.java | 47 + src/jtreg/com/sun/javatest/audit/ListPane.java | 100 + src/jtreg/com/sun/javatest/audit/OptionsDialog.java | 371 + src/jtreg/com/sun/javatest/audit/SummaryPane.java | 287 + src/jtreg/com/sun/javatest/audit/i18n.properties | 189 + src/jtreg/com/sun/javatest/audit/images/dotdotdot.gif | Bin src/jtreg/com/sun/javatest/audit/package.html | 44 + src/jtreg/com/sun/javatest/batch/BatchManager.java | 119 + src/jtreg/com/sun/javatest/batch/ObserverCommand.java | 182 + src/jtreg/com/sun/javatest/batch/RunTestsCommand.java | 416 + src/jtreg/com/sun/javatest/batch/i18n.properties | 75 + src/jtreg/com/sun/javatest/batch/package.html | 44 + src/jtreg/com/sun/javatest/cof/COF1_0.xsd | 548 + src/jtreg/com/sun/javatest/cof/COF2_0_2.xsd | 779 + src/jtreg/com/sun/javatest/cof/COFApplication.java | 102 + src/jtreg/com/sun/javatest/cof/COFApplications.java | 69 + src/jtreg/com/sun/javatest/cof/COFData.java | 94 + src/jtreg/com/sun/javatest/cof/COFEnvironment.java | 584 + src/jtreg/com/sun/javatest/cof/COFEnvironments.java | 124 + src/jtreg/com/sun/javatest/cof/COFItem.java | 170 + src/jtreg/com/sun/javatest/cof/COFOS.java | 178 + src/jtreg/com/sun/javatest/cof/COFReportAnnotation.java | 160 + src/jtreg/com/sun/javatest/cof/COFReportAnnotations.java | 114 + src/jtreg/com/sun/javatest/cof/COFSWEntities.java | 114 + src/jtreg/com/sun/javatest/cof/COFSWEntity.java | 248 + src/jtreg/com/sun/javatest/cof/COFStatus.java | 193 + src/jtreg/com/sun/javatest/cof/COFTest.java | 594 + src/jtreg/com/sun/javatest/cof/COFTestAttribute.java | 181 + src/jtreg/com/sun/javatest/cof/COFTestAttributes.java | 116 + src/jtreg/com/sun/javatest/cof/COFTestCase.java | 346 + src/jtreg/com/sun/javatest/cof/COFTestCases.java | 133 + src/jtreg/com/sun/javatest/cof/COFTestSuite.java | 143 + src/jtreg/com/sun/javatest/cof/COFTestSuites.java | 126 + src/jtreg/com/sun/javatest/cof/ID.java | 56 + src/jtreg/com/sun/javatest/cof/Main.java | 377 + src/jtreg/com/sun/javatest/cof/Report.java | 424 + src/jtreg/com/sun/javatest/cof/i18n.properties | 54 + src/jtreg/com/sun/javatest/diff/Diff.java | 161 + src/jtreg/com/sun/javatest/diff/DiffReader.java | 40 + src/jtreg/com/sun/javatest/diff/Fault.java | 40 + src/jtreg/com/sun/javatest/diff/HTMLReporter.java | 351 + src/jtreg/com/sun/javatest/diff/HTMLWriter.java | 558 + src/jtreg/com/sun/javatest/diff/Help.java | 445 + src/jtreg/com/sun/javatest/diff/Main.java | 219 + src/jtreg/com/sun/javatest/diff/MultiMap.java | 173 + src/jtreg/com/sun/javatest/diff/ReportReader.java | 126 + src/jtreg/com/sun/javatest/diff/Reporter.java | 76 + src/jtreg/com/sun/javatest/diff/SimpleReporter.java | 163 + src/jtreg/com/sun/javatest/diff/StandardDiff.java | 42 + src/jtreg/com/sun/javatest/diff/StatusComparator.java | 79 + src/jtreg/com/sun/javatest/diff/SuperDiff.java | 342 + src/jtreg/com/sun/javatest/diff/WorkDirectoryReader.java | 113 + src/jtreg/com/sun/javatest/diff/i18n.properties | 153 + src/jtreg/com/sun/javatest/exec/AbstractCellEditor.java | 87 + src/jtreg/com/sun/javatest/exec/AccessWrapper.java | 73 + src/jtreg/com/sun/javatest/exec/BP_BranchSubpanel.java | 96 + src/jtreg/com/sun/javatest/exec/BP_DocumentationSubpanel.java | 107 + src/jtreg/com/sun/javatest/exec/BP_FilteredOutSubpanel.java | 926 + src/jtreg/com/sun/javatest/exec/BP_Model.java | 78 + src/jtreg/com/sun/javatest/exec/BP_SummarySubpanel.java | 980 + src/jtreg/com/sun/javatest/exec/BP_TestListSubpanel.java | 1353 + src/jtreg/com/sun/javatest/exec/BasicCustomTestFilter.java | 1077 + src/jtreg/com/sun/javatest/exec/BranchPanel.java | 579 + src/jtreg/com/sun/javatest/exec/CE_EnvironmentPane.java | 276 + src/jtreg/com/sun/javatest/exec/CE_ExcludeListPane.java | 612 + src/jtreg/com/sun/javatest/exec/CE_ExecutionPane.java | 253 + src/jtreg/com/sun/javatest/exec/CE_FullView.java | 265 + src/jtreg/com/sun/javatest/exec/CE_KeywordsPane.java | 527 + src/jtreg/com/sun/javatest/exec/CE_PriorStatusPane.java | 203 + src/jtreg/com/sun/javatest/exec/CE_StdPane.java | 82 + src/jtreg/com/sun/javatest/exec/CE_StdView.java | 274 + src/jtreg/com/sun/javatest/exec/CE_TemplateDialog.java | 320 + src/jtreg/com/sun/javatest/exec/CE_TestsPane.java | 255 + src/jtreg/com/sun/javatest/exec/CE_View.java | 72 + src/jtreg/com/sun/javatest/exec/ChecklistBrowser.java | 296 + src/jtreg/com/sun/javatest/exec/ConfigEditor.java | 1401 + src/jtreg/com/sun/javatest/exec/ConfigHandler.java | 1198 + src/jtreg/com/sun/javatest/exec/ConfigurableTestFilter.java | 209 + src/jtreg/com/sun/javatest/exec/ContextManager.java | 583 + src/jtreg/com/sun/javatest/exec/CustomTestResultViewer.java | 104 + src/jtreg/com/sun/javatest/exec/DetailsBrowser.java | 154 + src/jtreg/com/sun/javatest/exec/ET_FilterHandler.java | 591 + src/jtreg/com/sun/javatest/exec/ElapsedTimeMonitor.java | 221 + src/jtreg/com/sun/javatest/exec/EnvironmentBrowser.java | 351 + src/jtreg/com/sun/javatest/exec/ExcludeListBrowser.java | 371 + src/jtreg/com/sun/javatest/exec/ExecModel.java | 93 + src/jtreg/com/sun/javatest/exec/ExecTool.java | 1471 + src/jtreg/com/sun/javatest/exec/ExecToolManager.java | 815 + src/jtreg/com/sun/javatest/exec/FeatureManager.java | 89 + src/jtreg/com/sun/javatest/exec/FileSystemTableModel.java | 245 + src/jtreg/com/sun/javatest/exec/FileTable.java | 99 + src/jtreg/com/sun/javatest/exec/FileType.java | 85 + src/jtreg/com/sun/javatest/exec/FilesPane.java | 134 + src/jtreg/com/sun/javatest/exec/FilterConfig.java | 858 + src/jtreg/com/sun/javatest/exec/FilterSelectionHandler.java | 425 + src/jtreg/com/sun/javatest/exec/JavaTestContextMenu.java | 134 + src/jtreg/com/sun/javatest/exec/JavaTestMenuManager.java | 133 + src/jtreg/com/sun/javatest/exec/JavaTestToolBar.java | 236 + src/jtreg/com/sun/javatest/exec/LogViewer.java | 1349 + src/jtreg/com/sun/javatest/exec/LogViewerTools.java | 191 + src/jtreg/com/sun/javatest/exec/MessageStrip.java | 383 + src/jtreg/com/sun/javatest/exec/Monitor.java | 60 + src/jtreg/com/sun/javatest/exec/MonitorState.java | 334 + src/jtreg/com/sun/javatest/exec/MultiFormatPane.java | 971 + src/jtreg/com/sun/javatest/exec/MultiSelectPanel.java | 177 + src/jtreg/com/sun/javatest/exec/NavigationPane.java | 365 + src/jtreg/com/sun/javatest/exec/NewReportDialog.java | 1428 + src/jtreg/com/sun/javatest/exec/ParameterFilter.java | 238 + src/jtreg/com/sun/javatest/exec/PrefsPane.java | 195 + src/jtreg/com/sun/javatest/exec/ProgressMeter.java | 343 + src/jtreg/com/sun/javatest/exec/ProgressMonitor.java | 632 + src/jtreg/com/sun/javatest/exec/PropertiesBrowser.java | 310 + src/jtreg/com/sun/javatest/exec/QuestionLogBrowser.java | 280 + src/jtreg/com/sun/javatest/exec/QuickStartWizard.java | 1263 + src/jtreg/com/sun/javatest/exec/RenderingUtilities.java | 185 + src/jtreg/com/sun/javatest/exec/ReportBrowser.java | 164 + src/jtreg/com/sun/javatest/exec/ReportHandler.java | 311 + src/jtreg/com/sun/javatest/exec/RunProgressMonitor.java | 160 + src/jtreg/com/sun/javatest/exec/RunTestsHandler.java | 527 + src/jtreg/com/sun/javatest/exec/TP_CustomSubpanel.java | 53 + src/jtreg/com/sun/javatest/exec/TP_DescSubpanel.java | 62 + src/jtreg/com/sun/javatest/exec/TP_DocumentationSubpanel.java | 86 + src/jtreg/com/sun/javatest/exec/TP_EnvSubpanel.java | 124 + src/jtreg/com/sun/javatest/exec/TP_FilesSubpanel.java | 84 + src/jtreg/com/sun/javatest/exec/TP_OutputSubpanel.java | 806 + src/jtreg/com/sun/javatest/exec/TP_PropertySubpanel.java | 415 + src/jtreg/com/sun/javatest/exec/TP_ResultsSubpanel.java | 138 + src/jtreg/com/sun/javatest/exec/TP_Subpanel.java | 78 + src/jtreg/com/sun/javatest/exec/TT_NodeCache.java | 871 + src/jtreg/com/sun/javatest/exec/TT_Renderer.java | 329 + src/jtreg/com/sun/javatest/exec/TU_ViewManager.java | 395 + src/jtreg/com/sun/javatest/exec/TemplateParameterFilter.java | 119 + src/jtreg/com/sun/javatest/exec/TestPanel.java | 423 + src/jtreg/com/sun/javatest/exec/TestSuiteErrorsDialog.java | 124 + src/jtreg/com/sun/javatest/exec/TestTree.java | 252 + src/jtreg/com/sun/javatest/exec/TestTreeModel.java | 1243 + src/jtreg/com/sun/javatest/exec/TestTreePanel.java | 1832 + src/jtreg/com/sun/javatest/exec/ToolBarManager.java | 259 + src/jtreg/com/sun/javatest/exec/ToolBarPanel.java | 162 + src/jtreg/com/sun/javatest/exec/TreePanelModel.java | 97 + src/jtreg/com/sun/javatest/exec/WorkDirChooseTool.java | 1088 + src/jtreg/com/sun/javatest/exec/i18n.properties | 1837 + src/jtreg/com/sun/javatest/exec/images/Back16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Back24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Dir.gif | Bin src/jtreg/com/sun/javatest/exec/images/Down16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Down24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Edit16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Edit24.gif | Bin src/jtreg/com/sun/javatest/exec/images/FastForward16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Find16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Find24.gif | Bin src/jtreg/com/sun/javatest/exec/images/FindAgain16.gif | Bin src/jtreg/com/sun/javatest/exec/images/FindAgain24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Forward16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Forward24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Help16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Help24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Home16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Home24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Last16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Pause16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Pause24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Play16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Play24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Preferences16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Preferences24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Print16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Print24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Save16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Save24.gif | Bin src/jtreg/com/sun/javatest/exec/images/SaveAs16.gif | Bin src/jtreg/com/sun/javatest/exec/images/SaveAs24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Stop16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Stop24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Up16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Up24.gif | Bin src/jtreg/com/sun/javatest/exec/images/UpDir.gif | Bin src/jtreg/com/sun/javatest/exec/images/drop-down.gif | Bin src/jtreg/com/sun/javatest/exec/images/fullView.gif | Bin src/jtreg/com/sun/javatest/exec/images/magnify.gif | Bin src/jtreg/com/sun/javatest/exec/images/question.gif | Bin src/jtreg/com/sun/javatest/exec/images/snooze.sm.gif | Bin src/jtreg/com/sun/javatest/exec/images/stdView.gif | Bin src/jtreg/com/sun/javatest/exec/images/stream.gif | Bin src/jtreg/com/sun/javatest/exec/package.html | 43 + src/jtreg/com/sun/javatest/finder/BinaryTestFinder.java | 547 + src/jtreg/com/sun/javatest/finder/BinaryTestWriter.java | 860 + src/jtreg/com/sun/javatest/finder/ChameleonTestFinder.java | 450 + src/jtreg/com/sun/javatest/finder/CommentStream.java | 85 + src/jtreg/com/sun/javatest/finder/ExpandTestFinder.java | 348 + src/jtreg/com/sun/javatest/finder/HTMLCommentStream.java | 84 + src/jtreg/com/sun/javatest/finder/HTMLTestFinder.java | 627 + src/jtreg/com/sun/javatest/finder/JavaCommentStream.java | 161 + src/jtreg/com/sun/javatest/finder/ReverseTestFinder.java | 121 + src/jtreg/com/sun/javatest/finder/ShScriptCommentStream.java | 83 + src/jtreg/com/sun/javatest/finder/ShowTests.java | 291 + src/jtreg/com/sun/javatest/finder/TagTestFinder.java | 388 + src/jtreg/com/sun/javatest/finder/i18n.properties | 69 + src/jtreg/com/sun/javatest/finder/package.html | 45 + src/jtreg/com/sun/javatest/httpd/HttpdServer.java | 194 + src/jtreg/com/sun/javatest/httpd/JThttpProvider.java | 148 + src/jtreg/com/sun/javatest/httpd/PageGenerator.java | 252 + src/jtreg/com/sun/javatest/httpd/ProviderRegistry.java | 494 + src/jtreg/com/sun/javatest/httpd/RequestHandler.java | 178 + src/jtreg/com/sun/javatest/httpd/RootRegistry.java | 136 + src/jtreg/com/sun/javatest/httpd/httpURL.java | 318 + src/jtreg/com/sun/javatest/httpd/i18n.properties | 45 + src/jtreg/com/sun/javatest/i18n.properties | 460 + src/jtreg/com/sun/javatest/interview/BasicInterviewParameters.java | 433 + src/jtreg/com/sun/javatest/interview/ConcurrencyInterview.java | 104 + src/jtreg/com/sun/javatest/interview/DefaultInterviewParameters.java | 63 + src/jtreg/com/sun/javatest/interview/EnvironmentInterview.java | 385 + src/jtreg/com/sun/javatest/interview/ExcludeListInterview.java | 605 + src/jtreg/com/sun/javatest/interview/KeywordsInterview.java | 304 + src/jtreg/com/sun/javatest/interview/LegacyParameters.java | 88 + src/jtreg/com/sun/javatest/interview/PriorStatusInterview.java | 225 + src/jtreg/com/sun/javatest/interview/SimpleInterviewParameters.java | 270 + src/jtreg/com/sun/javatest/interview/TestsInterview.java | 434 + src/jtreg/com/sun/javatest/interview/TimeoutFactorInterview.java | 106 + src/jtreg/com/sun/javatest/interview/i18n.properties | 176 + src/jtreg/com/sun/javatest/interview/package.html | 46 + src/jtreg/com/sun/javatest/lib/APIScript.java | 114 + src/jtreg/com/sun/javatest/lib/Deprecated.java | 52 + src/jtreg/com/sun/javatest/lib/ExecStdTestOtherJVMCmd.java | 77 + src/jtreg/com/sun/javatest/lib/ExecStdTestSameJVMCmd.java | 155 + src/jtreg/com/sun/javatest/lib/JavaCompileCommand.java | 317 + src/jtreg/com/sun/javatest/lib/KeywordScript.java | 235 + src/jtreg/com/sun/javatest/lib/MultiStatus.java | 246 + src/jtreg/com/sun/javatest/lib/MultiTest.java | 314 + src/jtreg/com/sun/javatest/lib/ProcessCommand.java | 462 + src/jtreg/com/sun/javatest/lib/ReportScript.java | 59 + src/jtreg/com/sun/javatest/lib/StdTestScript.java | 223 + src/jtreg/com/sun/javatest/lib/TestCases.java | 275 + src/jtreg/com/sun/javatest/logging/ErrorDialogHandler.java | 217 + src/jtreg/com/sun/javatest/logging/FileEvent.java | 51 + src/jtreg/com/sun/javatest/logging/FileListener.java | 34 + src/jtreg/com/sun/javatest/logging/FilteredLogModel.java | 392 + src/jtreg/com/sun/javatest/logging/JTFormatter.java | 104 + src/jtreg/com/sun/javatest/logging/LogModel.java | 502 + src/jtreg/com/sun/javatest/logging/LoggerFactory.java | 58 + src/jtreg/com/sun/javatest/logging/ObservedFile.java | 194 + src/jtreg/com/sun/javatest/logging/WorkDirLogHandler.java | 148 + src/jtreg/com/sun/javatest/logging/i18n.properties | 51 + src/jtreg/com/sun/javatest/mrep/BrowserPane.java | 585 + src/jtreg/com/sun/javatest/mrep/ConflictResolutionDialog.java | 263 + src/jtreg/com/sun/javatest/mrep/ConflictResolver.java | 38 + src/jtreg/com/sun/javatest/mrep/FilesPane.java | 472 + src/jtreg/com/sun/javatest/mrep/Merger.java | 127 + src/jtreg/com/sun/javatest/mrep/OptionsDialog.java | 204 + src/jtreg/com/sun/javatest/mrep/OptionsPane.java | 504 + src/jtreg/com/sun/javatest/mrep/ReportDirChooser.java | 298 + src/jtreg/com/sun/javatest/mrep/ReportTool.java | 697 + src/jtreg/com/sun/javatest/mrep/ReportToolManager.java | 91 + src/jtreg/com/sun/javatest/mrep/Scheme.java | 100 + src/jtreg/com/sun/javatest/mrep/TestResultDescr.java | 78 + src/jtreg/com/sun/javatest/mrep/XMLReportReader.java | 95 + src/jtreg/com/sun/javatest/mrep/XMLReportWriter.java | 279 + src/jtreg/com/sun/javatest/mrep/i18n.properties | 200 + src/jtreg/com/sun/javatest/mrep/images/Back16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/Forward16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/Home16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/dotdotdot.gif | Bin src/jtreg/com/sun/javatest/package.html | 61 + src/jtreg/com/sun/javatest/regtest/Action.java | 550 + src/jtreg/com/sun/javatest/regtest/AntOptionDecoder.java | 93 + src/jtreg/com/sun/javatest/regtest/AppletAction.java | 631 + src/jtreg/com/sun/javatest/regtest/AppletWrapper.java | 650 + src/jtreg/com/sun/javatest/regtest/BadArgs.java | 38 + src/jtreg/com/sun/javatest/regtest/BuildAction.java | 226 + src/jtreg/com/sun/javatest/regtest/CheckFiles.java | 150 + src/jtreg/com/sun/javatest/regtest/CleanAction.java | 146 + src/jtreg/com/sun/javatest/regtest/CompileAction.java | 701 + src/jtreg/com/sun/javatest/regtest/GetSystemProperty.java | 40 + src/jtreg/com/sun/javatest/regtest/Help.java | 490 + src/jtreg/com/sun/javatest/regtest/IgnoreAction.java | 111 + src/jtreg/com/sun/javatest/regtest/IgnoreKind.java | 35 + src/jtreg/com/sun/javatest/regtest/JDK.java | 88 + src/jtreg/com/sun/javatest/regtest/Main.java | 1842 + src/jtreg/com/sun/javatest/regtest/MainAction.java | 730 + src/jtreg/com/sun/javatest/regtest/MainWrapper.java | 186 + src/jtreg/com/sun/javatest/regtest/Option.java | 97 + src/jtreg/com/sun/javatest/regtest/OptionDecoder.java | 184 + src/jtreg/com/sun/javatest/regtest/ParseException.java | 51 + src/jtreg/com/sun/javatest/regtest/Path.java | 164 + src/jtreg/com/sun/javatest/regtest/RegressionEnvironment.java | 49 + src/jtreg/com/sun/javatest/regtest/RegressionObserver.java | 327 + src/jtreg/com/sun/javatest/regtest/RegressionParameters.java | 619 + src/jtreg/com/sun/javatest/regtest/RegressionScript.java | 964 + src/jtreg/com/sun/javatest/regtest/RegressionSecurityManager.java | 149 + src/jtreg/com/sun/javatest/regtest/RegressionTestFinder.java | 569 + src/jtreg/com/sun/javatest/regtest/RegressionTestSuite.java | 180 + src/jtreg/com/sun/javatest/regtest/ShellAction.java | 282 + src/jtreg/com/sun/javatest/regtest/StringArray.java | 182 + src/jtreg/com/sun/javatest/regtest/StringUtils.java | 45 + src/jtreg/com/sun/javatest/regtest/TestRunException.java | 52 + src/jtreg/com/sun/javatest/regtest/Verbose.java | 130 + src/jtreg/com/sun/javatest/regtest/i18n.properties | 327 + src/jtreg/com/sun/javatest/report/ConfigSection.java | 510 + src/jtreg/com/sun/javatest/report/CustomReport.java | 390 + src/jtreg/com/sun/javatest/report/HTMLReport.java | 292 + src/jtreg/com/sun/javatest/report/HTMLSection.java | 92 + src/jtreg/com/sun/javatest/report/PlainTextReport.java | 112 + src/jtreg/com/sun/javatest/report/Report.java | 1096 + src/jtreg/com/sun/javatest/report/ReportDirChooser.java | 289 + src/jtreg/com/sun/javatest/report/ReportFormat.java | 45 + src/jtreg/com/sun/javatest/report/ReportManager.java | 265 + src/jtreg/com/sun/javatest/report/ReportModel.java | 34 + src/jtreg/com/sun/javatest/report/ReportWriter.java | 191 + src/jtreg/com/sun/javatest/report/ResultSection.java | 263 + src/jtreg/com/sun/javatest/report/StatisticsSection.java | 228 + src/jtreg/com/sun/javatest/report/StringArrayComparator.java | 55 + src/jtreg/com/sun/javatest/report/TestResultsByFileComparator.java | 73 + src/jtreg/com/sun/javatest/report/TestResultsByStatusAndTitleComparator.java | 58 + src/jtreg/com/sun/javatest/report/TestResultsByTitleComparator.java | 53 + src/jtreg/com/sun/javatest/report/XMLReport.java | 471 + src/jtreg/com/sun/javatest/report/XMLReportMaker.java | 609 + src/jtreg/com/sun/javatest/report/i18n.properties | 135 + src/jtreg/com/sun/javatest/report/package.html | 39 + src/jtreg/com/sun/javatest/stylesheet.css | 33 + src/jtreg/com/sun/javatest/tool/Command.java | 280 + src/jtreg/com/sun/javatest/tool/CommandContext.java | 1028 + src/jtreg/com/sun/javatest/tool/CommandManager.java | 107 + src/jtreg/com/sun/javatest/tool/CommandParser.java | 343 + src/jtreg/com/sun/javatest/tool/ConfigManager.java | 1435 + src/jtreg/com/sun/javatest/tool/CustomPropagationController.java | 113 + src/jtreg/com/sun/javatest/tool/Deck.java | 127 + src/jtreg/com/sun/javatest/tool/DeskView.java | 833 + src/jtreg/com/sun/javatest/tool/Desktop.java | 1507 + src/jtreg/com/sun/javatest/tool/DesktopManager.java | 88 + src/jtreg/com/sun/javatest/tool/DesktopPrefsPane.java | 404 + src/jtreg/com/sun/javatest/tool/EditableFileList.java | 146 + src/jtreg/com/sun/javatest/tool/EditableList.java | 466 + src/jtreg/com/sun/javatest/tool/EnvironmentManager.java | 145 + src/jtreg/com/sun/javatest/tool/FileChooser.java | 129 + src/jtreg/com/sun/javatest/tool/FileHistory.java | 398 + src/jtreg/com/sun/javatest/tool/FileOpener.java | 90 + src/jtreg/com/sun/javatest/tool/FocusMonitor.java | 711 + src/jtreg/com/sun/javatest/tool/HelpLink.java | 195 + src/jtreg/com/sun/javatest/tool/HelpLinkBeanInfo.java | 59 + src/jtreg/com/sun/javatest/tool/HelpManager.java | 278 + src/jtreg/com/sun/javatest/tool/HelpMenu.java | 306 + src/jtreg/com/sun/javatest/tool/HttpManager.java | 99 + src/jtreg/com/sun/javatest/tool/I18NUtils.java | 265 + src/jtreg/com/sun/javatest/tool/IconFactory.java | 770 + src/jtreg/com/sun/javatest/tool/IconLabel.java | 131 + src/jtreg/com/sun/javatest/tool/IconLabelBeanInfo.java | 57 + src/jtreg/com/sun/javatest/tool/LogManager.java | 112 + src/jtreg/com/sun/javatest/tool/MDIDeskView.java | 587 + src/jtreg/com/sun/javatest/tool/Main.java | 506 + src/jtreg/com/sun/javatest/tool/ManagerLoader.java | 148 + src/jtreg/com/sun/javatest/tool/PieChart.java | 231 + src/jtreg/com/sun/javatest/tool/Preferences.java | 770 + src/jtreg/com/sun/javatest/tool/SDIDeskView.java | 494 + src/jtreg/com/sun/javatest/tool/SelectedWorkDirApprover.java | 298 + src/jtreg/com/sun/javatest/tool/Startup.java | 207 + src/jtreg/com/sun/javatest/tool/TabDeskView.java | 528 + src/jtreg/com/sun/javatest/tool/TestSuiteChooser.java | 261 + src/jtreg/com/sun/javatest/tool/TestTreeSelectionPane.java | 125 + src/jtreg/com/sun/javatest/tool/Tool.java | 361 + src/jtreg/com/sun/javatest/tool/ToolAction.java | 243 + src/jtreg/com/sun/javatest/tool/ToolDialog.java | 719 + src/jtreg/com/sun/javatest/tool/ToolManager.java | 232 + src/jtreg/com/sun/javatest/tool/TreeSelectionPane.java | 995 + src/jtreg/com/sun/javatest/tool/UIFactory.java | 2972 + src/jtreg/com/sun/javatest/tool/VerboseCommand.java | 159 + src/jtreg/com/sun/javatest/tool/WDC_FileFilter.java | 48 + src/jtreg/com/sun/javatest/tool/WDC_FileView.java | 66 + src/jtreg/com/sun/javatest/tool/WorkDirChooser.java | 352 + src/jtreg/com/sun/javatest/tool/i18n.properties | 538 + src/jtreg/com/sun/javatest/tool/images/jticon.gif | Bin src/jtreg/com/sun/javatest/tool/images/jtlogo.gif | Bin src/jtreg/com/sun/javatest/tool/images/splash.gif | Bin src/jtreg/com/sun/javatest/tool/package.html | 49 + src/jtreg/com/sun/javatest/util/BackupPolicy.java | 262 + src/jtreg/com/sun/javatest/util/BackupUtil.java | 340 + src/jtreg/com/sun/javatest/util/Debug.java | 492 + src/jtreg/com/sun/javatest/util/DirectoryClassLoader.java | 226 + src/jtreg/com/sun/javatest/util/DynamicArray.java | 273 + src/jtreg/com/sun/javatest/util/ExitCount.java | 77 + src/jtreg/com/sun/javatest/util/Fifo.java | 144 + src/jtreg/com/sun/javatest/util/FileFilter.java | 43 + src/jtreg/com/sun/javatest/util/FileInfoCache.java | 134 + src/jtreg/com/sun/javatest/util/HTMLWriter.java | 558 + src/jtreg/com/sun/javatest/util/HelpTree.java | 510 + src/jtreg/com/sun/javatest/util/I18NResourceBundle.java | 171 + src/jtreg/com/sun/javatest/util/LineParser.java | 288 + src/jtreg/com/sun/javatest/util/LogFile.java | 172 + src/jtreg/com/sun/javatest/util/MainAppletContext.java | 133 + src/jtreg/com/sun/javatest/util/MainFrame.java | 251 + src/jtreg/com/sun/javatest/util/OrderedTwoWayTable.java | 135 + src/jtreg/com/sun/javatest/util/PathClassLoader.java | 208 + src/jtreg/com/sun/javatest/util/PrefixMap.java | 169 + src/jtreg/com/sun/javatest/util/Properties.java | 395 + src/jtreg/com/sun/javatest/util/PropertyArray.java | 723 + src/jtreg/com/sun/javatest/util/ReadAheadIterator.java | 350 + src/jtreg/com/sun/javatest/util/SortedProperties.java | 58 + src/jtreg/com/sun/javatest/util/StringArray.java | 203 + src/jtreg/com/sun/javatest/util/SysEnv.java | 176 + src/jtreg/com/sun/javatest/util/TextStream.java | 97 + src/jtreg/com/sun/javatest/util/TextWriter.java | 281 + src/jtreg/com/sun/javatest/util/Timer.java | 219 + src/jtreg/com/sun/javatest/util/WrapWriter.java | 191 + src/jtreg/com/sun/javatest/util/WriterStream.java | 159 + src/jtreg/com/sun/javatest/util/XMLWriter.java | 358 + src/jtreg/com/sun/javatest/util/i18n.properties | 32 + src/jtreg/com/sun/javatest/util/package.html | 39 + src/jtreg/excludelist.jdk.jtx | 29 + src/jtreg/legal/copyright.txt | 22 + src/jtreg/legal/license.txt | 347 + tapset/hotspot.stp.in | 499 + tapset/hotspot_gc.stp.in | 534 + tapset/hotspot_jni.stp.in | 7460 + tapset/jstack.stp.in | 558 + test/tapset/ClassUnloadedProbeTester.java | 38 + test/tapset/JNIStapTest.c | 2107 + test/tapset/JNITestClass.c | 7 + test/tapset/JNITestClass.h | 21 + test/tapset/JNITestClass.java | 121 + test/tapset/RunWrapper.java | 21 + test/tapset/StapJNIClassLoader.java | 64 + test/tapset/StapURLClassLoader.java | 24 + test/tapset/SystemtapTester.java | 202 + test/tapset/TestingRunner.java | 82 + test/tapset/jstaptest.pl | 1045 + tools-copy/tools-corba-copy-files.txt | 6 - tools-copy/tools-jaxws-copy-files.txt | 101 - tools-copy/tools-jdk-copy-files.txt | 39 - tools-copy/tools-langtools-copy-files.txt | 51 - tz.properties.in | 1 + 1898 files changed, 622192 insertions(+), 284645 deletions(-) diffs (truncated from 917174 to 500 lines): diff -r 2b413b0a984f -r 017840fe5750 .hgignore --- a/.hgignore Mon Mar 17 16:00:18 2008 +0100 +++ b/.hgignore Fri Sep 13 23:16:16 2013 +0100 @@ -1,426 +1,53 @@ syntax: glob *~ - -syntax: regexp +configure +missing +aclocal.m4 autom4te.cache -openjdk -bootstrap +build debian lib tools stamps Makefile +Makefile.in config.log +config.guess +config.sub config.status +install-sh javac javap gcjwebplugin.so +jni-common.o +IcedTeaPlugin.o +IcedTeaPlugin.so extra-source-files.txt rt-source-files.txt hotspot-tools-source-files.txt tools-source-files.txt -platform_zero -rt/com/sun/jdi/AbsentInformationException.java -rt/com/sun/jdi/Accessible.java -rt/com/sun/jdi/ArrayReference.java -rt/com/sun/jdi/ArrayType.java -rt/com/sun/jdi/BooleanType.java -rt/com/sun/jdi/BooleanValue.java -rt/com/sun/jdi/Bootstrap.java -rt/com/sun/jdi/ByteType.java -rt/com/sun/jdi/ByteValue.java -rt/com/sun/jdi/CharType.java -rt/com/sun/jdi/CharValue.java -rt/com/sun/jdi/ClassLoaderReference.java -rt/com/sun/jdi/ClassNotLoadedException.java -rt/com/sun/jdi/ClassNotPreparedException.java -rt/com/sun/jdi/ClassObjectReference.java -rt/com/sun/jdi/ClassType.java -rt/com/sun/jdi/connect/AttachingConnector.java -rt/com/sun/jdi/connect/Connector.java -rt/com/sun/jdi/connect/IllegalConnectorArgumentsException.java -rt/com/sun/jdi/connect/LaunchingConnector.java -rt/com/sun/jdi/connect/ListeningConnector.java -rt/com/sun/jdi/connect/spi/ClosedConnectionException.java -rt/com/sun/jdi/connect/spi/Connection.java -rt/com/sun/jdi/connect/spi/TransportService.java -rt/com/sun/jdi/connect/Transport.java -rt/com/sun/jdi/connect/TransportTimeoutException.java -rt/com/sun/jdi/connect/VMStartException.java -rt/com/sun/jdi/DoubleType.java -rt/com/sun/jdi/DoubleValue.java -rt/com/sun/jdi/event/AccessWatchpointEvent.java -rt/com/sun/jdi/event/BreakpointEvent.java -rt/com/sun/jdi/event/ClassPrepareEvent.java -rt/com/sun/jdi/event/ClassUnloadEvent.java -rt/com/sun/jdi/event/EventIterator.java -rt/com/sun/jdi/event/Event.java -rt/com/sun/jdi/event/EventQueue.java -rt/com/sun/jdi/event/EventSet.java -rt/com/sun/jdi/event/ExceptionEvent.java -rt/com/sun/jdi/event/LocatableEvent.java -rt/com/sun/jdi/event/MethodEntryEvent.java -rt/com/sun/jdi/event/MethodExitEvent.java -rt/com/sun/jdi/event/ModificationWatchpointEvent.java -rt/com/sun/jdi/event/MonitorContendedEnteredEvent.java -rt/com/sun/jdi/event/MonitorContendedEnterEvent.java -rt/com/sun/jdi/event/MonitorWaitedEvent.java -rt/com/sun/jdi/event/MonitorWaitEvent.java -rt/com/sun/jdi/event/StepEvent.java -rt/com/sun/jdi/event/ThreadDeathEvent.java -rt/com/sun/jdi/event/ThreadStartEvent.java -rt/com/sun/jdi/event/VMDeathEvent.java -rt/com/sun/jdi/event/VMDisconnectEvent.java -rt/com/sun/jdi/event/VMStartEvent.java -rt/com/sun/jdi/event/WatchpointEvent.java -rt/com/sun/jdi/Field.java -rt/com/sun/jdi/FloatType.java -rt/com/sun/jdi/FloatValue.java -rt/com/sun/jdi/IncompatibleThreadStateException.java -rt/com/sun/jdi/InconsistentDebugInfoException.java -rt/com/sun/jdi/IntegerType.java -rt/com/sun/jdi/IntegerValue.java -rt/com/sun/jdi/InterfaceType.java -rt/com/sun/jdi/InternalException.java -rt/com/sun/jdi/InvalidCodeIndexException.java -rt/com/sun/jdi/InvalidLineNumberException.java -rt/com/sun/jdi/InvalidStackFrameException.java -rt/com/sun/jdi/InvalidTypeException.java -rt/com/sun/jdi/InvocationException.java -rt/com/sun/jdi/JDIPermission.java -rt/com/sun/jdi/LocalVariable.java -rt/com/sun/jdi/Locatable.java -rt/com/sun/jdi/Location.java -rt/com/sun/jdi/LongType.java -rt/com/sun/jdi/LongValue.java -rt/com/sun/jdi/Method.java -rt/com/sun/jdi/Mirror.java -rt/com/sun/jdi/MonitorInfo.java -rt/com/sun/jdi/NativeMethodException.java -rt/com/sun/jdi/ObjectCollectedException.java -rt/com/sun/jdi/ObjectReference.java -rt/com/sun/jdi/PathSearchingVirtualMachine.java -rt/com/sun/jdi/PrimitiveType.java -rt/com/sun/jdi/PrimitiveValue.java -rt/com/sun/jdi/ReferenceType.java -rt/com/sun/jdi/request/AccessWatchpointRequest.java -rt/com/sun/jdi/request/BreakpointRequest.java -rt/com/sun/jdi/request/ClassPrepareRequest.java -rt/com/sun/jdi/request/ClassUnloadRequest.java -rt/com/sun/jdi/request/DuplicateRequestException.java -rt/com/sun/jdi/request/EventRequest.java -rt/com/sun/jdi/request/EventRequestManager.java -rt/com/sun/jdi/request/ExceptionRequest.java -rt/com/sun/jdi/request/InvalidRequestStateException.java -rt/com/sun/jdi/request/MethodEntryRequest.java -rt/com/sun/jdi/request/MethodExitRequest.java -rt/com/sun/jdi/request/ModificationWatchpointRequest.java -rt/com/sun/jdi/request/MonitorContendedEnteredRequest.java -rt/com/sun/jdi/request/MonitorContendedEnterRequest.java -rt/com/sun/jdi/request/MonitorWaitedRequest.java -rt/com/sun/jdi/request/MonitorWaitRequest.java -rt/com/sun/jdi/request/StepRequest.java -rt/com/sun/jdi/request/ThreadDeathRequest.java -rt/com/sun/jdi/request/ThreadStartRequest.java -rt/com/sun/jdi/request/VMDeathRequest.java -rt/com/sun/jdi/request/WatchpointRequest.java -rt/com/sun/jdi/ShortType.java -rt/com/sun/jdi/ShortValue.java -rt/com/sun/jdi/StackFrame.java -rt/com/sun/jdi/StringReference.java -rt/com/sun/jdi/ThreadGroupReference.java -rt/com/sun/jdi/ThreadReference.java -rt/com/sun/jdi/TypeComponent.java -rt/com/sun/jdi/Type.java -rt/com/sun/jdi/Value.java -rt/com/sun/jdi/VirtualMachine.java -rt/com/sun/jdi/VirtualMachineManager.java -rt/com/sun/jdi/VMCannotBeModifiedException.java -rt/com/sun/jdi/VMDisconnectedException.java -rt/com/sun/jdi/VMMismatchException.java -rt/com/sun/jdi/VMOutOfMemoryException.java -rt/com/sun/jdi/VoidType.java -rt/com/sun/jdi/VoidValue.java -rt/com/sun/jmx/snmp/agent/SnmpEntryOid.java -rt/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java -rt/com/sun/jmx/snmp/agent/SnmpGenericMetaServer.java -rt/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java -rt/com/sun/jmx/snmp/agent/SnmpIndex.java -rt/com/sun/jmx/snmp/agent/SnmpMibAgent.java -rt/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java -rt/com/sun/jmx/snmp/agent/SnmpMibEntry.java -rt/com/sun/jmx/snmp/agent/SnmpMibGroup.java -rt/com/sun/jmx/snmp/agent/SnmpMibHandler.java -rt/com/sun/jmx/snmp/agent/SnmpMib.java -rt/com/sun/jmx/snmp/agent/SnmpMibNode.java -rt/com/sun/jmx/snmp/agent/SnmpMibOid.java -rt/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java -rt/com/sun/jmx/snmp/agent/SnmpMibRequest.java -rt/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java -rt/com/sun/jmx/snmp/agent/SnmpMibTable.java -rt/com/sun/jmx/snmp/agent/SnmpRequestTree.java -rt/com/sun/jmx/snmp/agent/SnmpStandardMetaServer.java -rt/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java -rt/com/sun/jmx/snmp/agent/SnmpTableCallbackHandler.java -rt/com/sun/jmx/snmp/agent/SnmpTableEntryFactory.java -rt/com/sun/jmx/snmp/agent/SnmpTableEntryNotification.java -rt/com/sun/jmx/snmp/agent/SnmpTableSupport.java -rt/com/sun/jmx/snmp/agent/SnmpUserDataFactory.java -rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java -rt/com/sun/jmx/snmp/daemon/SnmpSession.java -rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java -rt/com/sun/jmx/snmp/SnmpDefinitions.java -rt/com/sun/jmx/snmp/SnmpOid.java -rt/com/sun/jmx/snmp/SnmpOidRecord.java -rt/com/sun/jmx/snmp/SnmpOidTable.java -rt/com/sun/jmx/snmp/SnmpOidTableSupport.java -rt/com/sun/jmx/snmp/SnmpParameters.java -rt/com/sun/jmx/snmp/SnmpPduPacket.java -rt/com/sun/jmx/snmp/SnmpPeer.java -rt/com/sun/jmx/snmp/SnmpSession.java -rt/com/sun/jmx/snmp/SnmpTimeticks.java -rt/com/sun/jmx/snmp/SnmpVarBind.java -rt/com/sun/jmx/snmp/SnmpVarBindList.java -rt/com/sun/tools/jdi/AbstractLauncher.java -rt/com/sun/tools/jdi/ArrayReferenceImpl.java -rt/com/sun/tools/jdi/ArrayTypeImpl.java -rt/com/sun/tools/jdi/BaseLineInfo.java -rt/com/sun/tools/jdi/BooleanTypeImpl.java -rt/com/sun/tools/jdi/BooleanValueImpl.java -rt/com/sun/tools/jdi/ByteTypeImpl.java -rt/com/sun/tools/jdi/ByteValueImpl.java -rt/com/sun/tools/jdi/CharTypeImpl.java -rt/com/sun/tools/jdi/CharValueImpl.java -rt/com/sun/tools/jdi/ClassLoaderReferenceImpl.java -rt/com/sun/tools/jdi/ClassObjectReferenceImpl.java -rt/com/sun/tools/jdi/ClassTypeImpl.java -rt/com/sun/tools/jdi/CommandSender.java -rt/com/sun/tools/jdi/ConcreteMethodImpl.java -rt/com/sun/tools/jdi/ConnectorImpl.java -rt/com/sun/tools/jdi/DoubleTypeImpl.java -rt/com/sun/tools/jdi/DoubleValueImpl.java -rt/com/sun/tools/jdi/EventQueueImpl.java -rt/com/sun/tools/jdi/EventRequestManagerImpl.java -rt/com/sun/tools/jdi/EventSetImpl.java -rt/com/sun/tools/jdi/FieldImpl.java -rt/com/sun/tools/jdi/FloatTypeImpl.java -rt/com/sun/tools/jdi/FloatValueImpl.java -rt/com/sun/tools/jdi/GenericAttachingConnector.java -rt/com/sun/tools/jdi/GenericListeningConnector.java -rt/com/sun/tools/jdi/IntegerTypeImpl.java -rt/com/sun/tools/jdi/IntegerValueImpl.java -rt/com/sun/tools/jdi/InterfaceTypeImpl.java -rt/com/sun/tools/jdi/InternalEventHandler.java -rt/com/sun/tools/jdi/JDWPException.java -rt/com/sun/tools/jdi/JNITypeParser.java -rt/com/sun/tools/jdi/LineInfo.java -rt/com/sun/tools/jdi/LinkedHashMap.java -rt/com/sun/tools/jdi/LocalVariableImpl.java -rt/com/sun/tools/jdi/LocationImpl.java -rt/com/sun/tools/jdi/LockObject.java -rt/com/sun/tools/jdi/LongTypeImpl.java -rt/com/sun/tools/jdi/LongValueImpl.java -rt/com/sun/tools/jdi/MethodImpl.java -rt/com/sun/tools/jdi/MirrorImpl.java -rt/com/sun/tools/jdi/MonitorInfoImpl.java -rt/com/sun/tools/jdi/NonConcreteMethodImpl.java -rt/com/sun/tools/jdi/ObjectReferenceImpl.java -rt/com/sun/tools/jdi/ObsoleteMethodImpl.java -rt/com/sun/tools/jdi/Packet.java -rt/com/sun/tools/jdi/PacketStream.java -rt/com/sun/tools/jdi/PrimitiveTypeImpl.java -rt/com/sun/tools/jdi/PrimitiveValueImpl.java -rt/com/sun/tools/jdi/ProcessAttachingConnector.java -rt/com/sun/tools/jdi/RawCommandLineLauncher.java -rt/com/sun/tools/jdi/ReferenceTypeImpl.java -rt/com/sun/tools/jdi/SDE.java -rt/com/sun/tools/jdi/ShortTypeImpl.java -rt/com/sun/tools/jdi/ShortValueImpl.java -rt/com/sun/tools/jdi/SocketAttachingConnector.java -rt/com/sun/tools/jdi/SocketListeningConnector.java -rt/com/sun/tools/jdi/SocketTransportService.java -rt/com/sun/tools/jdi/StackFrameImpl.java -rt/com/sun/tools/jdi/StratumLineInfo.java -rt/com/sun/tools/jdi/StringReferenceImpl.java -rt/com/sun/tools/jdi/SunCommandLineLauncher.java -rt/com/sun/tools/jdi/TargetVM.java -rt/com/sun/tools/jdi/ThreadAction.java -rt/com/sun/tools/jdi/ThreadGroupReferenceImpl.java -rt/com/sun/tools/jdi/ThreadListener.java -rt/com/sun/tools/jdi/ThreadReferenceImpl.java -rt/com/sun/tools/jdi/TypeComponentImpl.java -rt/com/sun/tools/jdi/TypeImpl.java -rt/com/sun/tools/jdi/ValueContainer.java -rt/com/sun/tools/jdi/ValueImpl.java -rt/com/sun/tools/jdi/VirtualMachineImpl.java -rt/com/sun/tools/jdi/VirtualMachineManagerImpl.java -rt/com/sun/tools/jdi/VirtualMachineManagerService.java -rt/com/sun/tools/jdi/VMAction.java -rt/com/sun/tools/jdi/VMListener.java -rt/com/sun/tools/jdi/VMModifiers.java -rt/com/sun/tools/jdi/VMState.java -rt/com/sun/tools/jdi/VoidTypeImpl.java -rt/com/sun/tools/jdi/VoidValueImpl.java -rt/java/util/AbstractCollection.java -rt/java/util/AbstractList.java -rt/java/util/AbstractMap.java -rt/java/util/AbstractQueue.java -rt/java/util/AbstractSequentialList.java -rt/java/util/AbstractSet.java -rt/java/util/ArrayDeque.java -rt/java/util/ArrayList.java -rt/java/util/Arrays.java -rt/java/util/BitSet.java -rt/java/util/Calendar.java -rt/java/util/Collection.java -rt/java/util/Collections.java -rt/java/util/Comparator.java -rt/java/util/ConcurrentModificationException.java -rt/java/util/Currency.java -rt/java/util/Date.java -rt/java/util/Deque.java -rt/java/util/Dictionary.java -rt/java/util/DuplicateFormatFlagsException.java -rt/java/util/EmptyStackException.java -rt/java/util/Enumeration.java -rt/java/util/EnumMap.java -rt/java/util/EnumSet.java -rt/java/util/EventListener.java -rt/java/util/EventListenerProxy.java -rt/java/util/EventObject.java -rt/java/util/FormatFlagsConversionMismatchException.java -rt/java/util/FormattableFlags.java -rt/java/util/Formattable.java -rt/java/util/FormatterClosedException.java -rt/java/util/Formatter.java -rt/java/util/GregorianCalendar.java -rt/java/util/HashMap.java -rt/java/util/HashSet.java -rt/java/util/Hashtable.java -rt/java/util/IdentityHashMap.java -rt/java/util/IllegalFormatCodePointException.java -rt/java/util/IllegalFormatConversionException.java -rt/java/util/IllegalFormatException.java -rt/java/util/IllegalFormatFlagsException.java -rt/java/util/IllegalFormatPrecisionException.java -rt/java/util/IllegalFormatWidthException.java -rt/java/util/InputMismatchException.java -rt/java/util/InvalidPropertiesFormatException.java -rt/java/util/Iterator.java -rt/java/util/JapaneseImperialCalendar.java -rt/java/util/JumboEnumSet.java -rt/java/util/LinkedHashMap.java -rt/java/util/LinkedHashSet.java -rt/java/util/LinkedList.java -rt/java/util/ListIterator.java -rt/java/util/List.java -rt/java/util/ListResourceBundle.java -rt/java/util/LocaleISOData.java -rt/java/util/Locale.java -rt/java/util/Map.java -rt/java/util/MissingFormatArgumentException.java -rt/java/util/MissingFormatWidthException.java -rt/java/util/MissingResourceException.java -rt/java/util/NavigableMap.java -rt/java/util/NavigableSet.java -rt/java/util/NoSuchElementException.java -rt/java/util/Observable.java -rt/java/util/Observer.java -rt/java/util/PriorityQueue.java -rt/java/util/Properties.java -rt/java/util/PropertyPermission.java -rt/java/util/PropertyResourceBundle.java -rt/java/util/Queue.java -rt/java/util/RandomAccess.java -rt/java/util/Random.java -rt/java/util/RegularEnumSet.java -rt/java/util/ResourceBundle.java -rt/java/util/Scanner.java -rt/java/util/ServiceConfigurationError.java -rt/java/util/ServiceLoader.java -rt/java/util/Set.java -rt/java/util/SimpleTimeZone.java -rt/java/util/SortedMap.java -rt/java/util/SortedSet.java -rt/java/util/Stack.java -rt/java/util/StringTokenizer.java -rt/java/util/Timer.java -rt/java/util/TimerTask.java -rt/java/util/TimeZone.java -rt/java/util/TooManyListenersException.java -rt/java/util/TreeMap.java -rt/java/util/TreeSet.java -rt/java/util/UnknownFormatConversionException.java -rt/java/util/UnknownFormatFlagsException.java -rt/java/util/UUID.java -rt/java/util/Vector.java -rt/java/util/WeakHashMap.java -rt/java/util/XMLUtils.java -rt/java/rmi/AccessException.java -rt/java/rmi/AlreadyBoundException.java -rt/java/rmi/ConnectException.java -rt/java/rmi/ConnectIOException.java -rt/java/rmi/MarshalException.java -rt/java/rmi/MarshalledObject.java -rt/java/rmi/Naming.java -rt/java/rmi/NoSuchObjectException.java -rt/java/rmi/NotBoundException.java -rt/java/rmi/RMISecurityException.java -rt/java/rmi/RMISecurityManager.java -rt/java/rmi/Remote.java -rt/java/rmi/RemoteException.java -rt/java/rmi/ServerError.java -rt/java/rmi/ServerException.java -rt/java/rmi/ServerRuntimeException.java -rt/java/rmi/StubNotFoundException.java -rt/java/rmi/UnexpectedException.java -rt/java/rmi/UnknownHostException.java -rt/java/rmi/UnmarshalException.java -rt/sun/rmi/rmic/BatchEnvironment.java -rt/sun/rmi/rmic/Constants.java -rt/sun/rmi/rmic/Generator.java -rt/sun/rmi/rmic/IndentingWriter.java -rt/sun/rmi/rmic/Main.java -rt/sun/rmi/rmic/Names.java -rt/sun/rmi/rmic/RMIConstants.java -rt/sun/rmi/rmic/RMIGenerator.java -rt/sun/rmi/rmic/RemoteClass.java -rt/sun/rmi/rmic/Util.java -rt/javax/net/ssl/CertPathTrustManagerParameters.java -rt/javax/net/ssl/HandshakeCompletedEvent.java -rt/javax/net/ssl/HandshakeCompletedListener.java -rt/javax/net/ssl/HostnameVerifier.java -rt/javax/net/ssl/HttpsURLConnection.java -rt/javax/net/ssl/KeyManager.java -rt/javax/net/ssl/KeyManagerFactory.java -rt/javax/net/ssl/KeyManagerFactorySpi.java -rt/javax/net/ssl/KeyStoreBuilderParameters.java -rt/javax/net/ssl/ManagerFactoryParameters.java -rt/javax/net/ssl/SSLContext.java -rt/javax/net/ssl/SSLContextSpi.java -rt/javax/net/ssl/SSLEngine.java -rt/javax/net/ssl/SSLEngineResult.java -rt/javax/net/ssl/SSLException.java -rt/javax/net/ssl/SSLHandshakeException.java -rt/javax/net/ssl/SSLKeyException.java -rt/javax/net/ssl/SSLParameters.java -rt/javax/net/ssl/SSLPeerUnverifiedException.java -rt/javax/net/ssl/SSLPermission.java -rt/javax/net/ssl/SSLProtocolException.java -rt/javax/net/ssl/SSLServerSocket.java -rt/javax/net/ssl/SSLServerSocketFactory.java -rt/javax/net/ssl/SSLSession.java -rt/javax/net/ssl/SSLSessionBindingEvent.java -rt/javax/net/ssl/SSLSessionBindingListener.java -rt/javax/net/ssl/SSLSessionContext.java -rt/javax/net/ssl/SSLSocket.java -rt/javax/net/ssl/SSLSocketFactory.java -rt/javax/net/ssl/TrustManager.java -rt/javax/net/ssl/TrustManagerFactory.java -rt/javax/net/ssl/TrustManagerFactorySpi.java -rt/javax/net/ssl/X509ExtendedKeyManager.java -rt/javax/net/ssl/X509KeyManager.java -rt/javax/net/ssl/X509TrustManager.java -rt/java/io/ -rt/sun/awt +jvm.cfg +ergo.c +tapset/hotspot.stp +test/hotspot +test/jdk +test/langtools +test/jtreg.jar +test/jtreg/classes +test/jtreg-summary.log +test/check-*.log generated/sun/awt/X11/generator/sizer.32.orig +pulseaudio/bin +pulseaudio/*.o +pulseaudio/src/native/org_.*.h +pulseaudio/*.jar +pulse-java.jar +hotspot.tar.gz +ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s +plugin/tests/LiveConnect/*jar + +syntax: regexp +^openjdk +^cacao +^bootstrap +^jamvm diff -r 2b413b0a984f -r 017840fe5750 .hgtags --- a/.hgtags Mon Mar 17 16:00:18 2008 +0100 +++ b/.hgtags Fri Sep 13 23:16:16 2013 +0100 @@ -6,3 +6,19 @@ 5ca86e9ca40533c48ca3445a10fd3b058ef94885 icedtea-1.5 bb3929528d3e9de0529da995c4b71975fd77fb5a icedtea-1.6 38e6eb354632588f5ac8dbcd69229ebd031f57cb icedtea6-1.0 +a5c32475a2e87f0f3bd7af28e632e6bd4f724b04 icedtea6-1.1 +871b70407a139c6bd42c200762ee1d302b31168f icedtea6-1.2 +3ef9c9c4e70b8204b73fa9b88243f49f59c2a23f icedtea6-1.3 +be368b1e3c7dca9b4dfe8e8f40be794ecfbef22e icedtea6-1.3.1 +6c02b699206db299c6bc96d97d31808bf84f042a icedtea6-1.4pre +2b1c03c1e9fa88e453da2ca774dc8900227a2e16 icedtea6-1.4 +a7b9087df36ee2c9fe2831f9ff08d0e9070abffd icedtea6-1.5rc1 +07de70c5883a637ea2ef4aba3f8472edd7e12f1e icedtea6-1.5rc2 +926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 +9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.6-branchpoint +8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea6-1.7-branchpoint +1188b1a313b9e968d57ff44eb879d70f543b20fd icedtea6-1.8-branchpoint +cb463b94b82da269ea089c481ed5e39700525a8a icedtea6-1.9-branchpoint +21f2a8d158545a161ba0d997c13bdba1e6166394 icedtea6-1.10-branchpoint +24c5bd2e7d574441813bfb8f9e4636e50c5d7c28 icedtea6-1.11-branchpoint +5a1e1b39664409e9a0945ba49b558f25ef976c58 icedtea6-1.12-branchpoint diff -r 2b413b0a984f -r 017840fe5750 AUTHORS --- a/AUTHORS Mon Mar 17 16:00:18 2008 +0100 +++ b/AUTHORS Fri Sep 13 23:16:16 2013 +0100 @@ -2,22 +2,49 @@ Please keep this list in alphabetical order. Lillian Angel +Alexis Ballier +Alon Bar-Lev Gary Benson Tania Bento +Deepak Bhole From bugzilla-daemon at icedtea.classpath.org Fri Sep 13 23:06:03 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Sep 2013 06:06:03 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #18 from Steve --- Thank you for the update. I'll stand by for the new release. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130914/77297b79/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Sep 14 09:03:54 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Sep 2013 16:03:54 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #19 from Udo --- I built icedtea-web using http://download.fedoraproject.org/pub/fedora/linux/updates/19/SRPMS/icedtea-web-1.4-3.fc19.src.rpm and a hg clone of the repo. Result is that my vpn access is restored; I can confirm all is working as it was. So please do a new release! -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130914/8a6b3b7f/attachment.html From gitne at gmx.de Sun Sep 15 17:17:43 2013 From: gitne at gmx.de (Jakob Wisor) Date: Mon, 16 Sep 2013 02:17:43 +0200 Subject: [rfc][icedtea-web] Cache viewer cleanup In-Reply-To: <5229ACDB.7030102@redhat.com> References: <201307302347.r6UNl2x1011963@mail-web03.excite.co.jp> <5229ACDB.7030102@redhat.com> Message-ID: <52364E27.3010300@gmx.de> Hello there! I have checked and corrected the code's formatting, and followed Jiri's reasonable advice. Jiri Vanek wrote: > On 07/31/2013 01:47 AM, Jacob Wisor wrote: >> Hello, >> >> * Added closing of cache viewer by ESC key >> * Added proper dis-/enabling of cache viewer's buttons >> * Added busy mouse cursor indicator when populating the cache viewer >> >> Everything is done on purpose on the AWT thread as before. Although I am personally not in favor of anonymous classes, I have tried to stick to the prevalent coding style. >> >> Unfortunately, I was unable to test the cache viewer's behavior because I do not know how to put synthetic cache entries into the cache. Can anyone help me with that? What does a the cache look like when filled with resources? Is there any index file that keeps track of the cache? >> >> Regards, >> Jacob >> >> >> ESC closing of Cache viewer + cleanup.patch >> >> >> diff --git a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java >> --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java >> +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java >> @@ -19,13 +19,18 @@ >> >> import java.awt.BorderLayout; >> import java.awt.Component; >> +import java.awt.Cursor; >> import java.awt.Dimension; >> +import java.awt.EventQueue; >> import java.awt.FlowLayout; >> import java.awt.GridBagConstraints; >> import java.awt.GridBagLayout; >> import java.awt.GridLayout; >> +import java.awt.SystemColor; >> +import java.awt.Toolkit; >> import java.awt.event.ActionEvent; >> import java.awt.event.ActionListener; >> +import java.awt.event.WindowEvent; >> import java.io.File; >> import java.io.FileNotFoundException; >> import java.io.IOException; >> @@ -45,6 +50,8 @@ >> import javax.swing.JScrollPane; >> import javax.swing.JTable; >> import javax.swing.ListSelectionModel; >> +import javax.swing.event.ListSelectionEvent; >> +import javax.swing.event.ListSelectionListener; >> import javax.swing.table.DefaultTableModel; >> import javax.swing.table.TableRowSorter; >> >> @@ -57,19 +64,20 @@ >> import net.sourceforge.jnlp.util.PropertiesFile; >> >> public class CachePane extends JPanel { >> - >> JDialog parent; >> DeploymentConfiguration config; >> private String location; >> private JComponent defaultFocusComponent; >> DirectoryNode root; >> - String[] columns = { Translator.R("CVCPColName"), >> + String[] columns = { >> + Translator.R("CVCPColName"), >> Translator.R("CVCPColPath"), >> Translator.R("CVCPColType"), >> Translator.R("CVCPColDomain"), >> Translator.R("CVCPColSize"), >> Translator.R("CVCPColLastModified") }; >> JTable cacheTable; >> + private JButton deleteButton, refreshButton, doneButton; >> >> /** >> * Creates a new instance of the CachePane. >> @@ -102,13 +110,22 @@ >> >> cacheTable = new JTable(model); >> cacheTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); >> + cacheTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { >> + final public void valueChanged(ListSelectionEvent listSelectionEvent) { >> + // If no row has been selected, disable the delete button, else enable it >> + if (cacheTable.getSelectionModel().isSelectionEmpty()) >> + // Disable delete button, since nothing selected >> + deleteButton.setEnabled(false); >> + else >> + // Enable delete button, since something selected >> + deleteButton.setEnabled(true); >> + } >> + }); > > > Oh yes, this small enhancement is highly appreciated! > >> cacheTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN); >> cacheTable.setPreferredScrollableViewportSize(new Dimension(600, 200)); >> cacheTable.setFillsViewportHeight(true); >> JScrollPane scrollPane = new JScrollPane(cacheTable); >> >> - populateTable(); >> - >> TableRowSorter tableSorter = new TableRowSorter(model); >> tableSorter.setComparator(4, new Comparator() { // Comparator for size column. >> @Override >> @@ -138,7 +155,6 @@ >> topPanel.add(scrollPane, c); >> this.add(topPanel, BorderLayout.CENTER); >> this.add(createButtonPanel(), BorderLayout.SOUTH); >> - >> } >> >> /** >> @@ -153,7 +169,7 @@ >> >> List buttons = new ArrayList(); >> >> - JButton deleteButton = new JButton(Translator.R("CVCPButDelete")); >> + this.deleteButton = new JButton(Translator.R("CVCPButDelete")); >> deleteButton.addActionListener(new ActionListener() { >> @Override >> public void actionPerformed(ActionEvent e) { >> @@ -216,22 +232,29 @@ >> pf.store(); >> } >> }); >> + deleteButton.setEnabled(false); >> buttons.add(deleteButton); >> >> - JButton refreshButton = new JButton(Translator.R("CVCPButRefresh")); >> + this.refreshButton = new JButton(Translator.R("CVCPButRefresh")); >> refreshButton.addActionListener(new ActionListener() { >> @Override >> public void actionPerformed(ActionEvent e) { >> - populateTable(); >> + // Disable all its controls when performing cacheTable refresh (populating) >> + deleteButton.setEnabled(false); >> + refreshButton.setEnabled(false); >> + doneButton.setEnabled(false); >> + // Populate cacheTable on AWT thread after this action event has been handled >> + invokeLaterPopulateTable(); >> } >> }); >> + refreshButton.setEnabled(false); >> buttons.add(refreshButton); >> >> - JButton doneButton = new JButton(Translator.R("ButDone")); >> + this.doneButton = new JButton(Translator.R("ButDone")); >> doneButton.addActionListener(new ActionListener() { >> @Override >> public void actionPerformed(ActionEvent e) { >> - parent.dispose(); >> + Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new WindowEvent(parent, WindowEvent.WINDOW_CLOSING)); >> } >> }); >> >> @@ -250,6 +273,7 @@ >> } >> >> doneButton.setPreferredSize(new Dimension(wantedWidth, wantedHeight)); >> + doneButton.setEnabled(false); >> rightPanel.add(doneButton); >> buttonPanel.add(leftPanel); >> buttonPanel.add(rightPanel); >> @@ -257,14 +281,48 @@ >> return buttonPanel; >> } >> >> + /** >> + * Posts an event to the event queue to later invoke populating the >> + * {@link CachePane#cacheTable}. >> + * @see CachePane#populateTable >> + */ >> + final void invokeLaterPopulateTable() { >> + EventQueue.invokeLater(new Runnable() { >> + public void run() { >> + populateTable(); >> + >> + // Disable cacheTable when no data to display, so no events are generated >> + if (cacheTable.getModel().getRowCount() == 0) { >> + cacheTable.setEnabled(false); >> + cacheTable.setBackground(SystemColor.control); >> + // No data in cacheTable, so nothing to delete >> + deleteButton.setEnabled(false); >> + } else { >> + cacheTable.setEnabled(true); >> + cacheTable.setBackground(SystemColor.window); >> + } >> + > > Those should be in finally block >> + refreshButton.setEnabled(true); >> + doneButton.setEnabled(true); Done. Please check whether I have done it correctly or the way you have meant. >> + } >> + }); >> + } >> + >> /** >> * Populate the table with fresh data. Any manual updates to the cache >> * directory will be updated in the table. >> */ >> private void populateTable() { >> - ((DefaultTableModel) cacheTable.getModel()).setRowCount(0); //Clears the table >> + // Populating the cacheTable may take a while, so indicate busy by cursor >> + parent.getContentPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); >> + >> + DefaultTableModel defaultTableModel; >> + (defaultTableModel = (DefaultTableModel)cacheTable.getModel()).setRowCount(0); //Clears the table >> for (Object[] v : generateData(root)) >> - ((DefaultTableModel) cacheTable.getModel()).addRow(v); >> + defaultTableModel.addRow(v); >> + >> + // Reset cursor > Those should be in finally block >> + parent.getContentPane().setCursor(Cursor.getDefaultCursor()); Done. Please check whether I have done it correctly or the way you have meant. >> } >> >> /** >> @@ -305,4 +363,4 @@ >> defaultFocusComponent.requestFocusInWindow(); >> } >> } >> -} >> +} >> \ No newline at end of file >> diff --git a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >> --- a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >> +++ b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >> @@ -22,7 +22,10 @@ >> import java.awt.Frame; >> import java.awt.GridBagConstraints; >> import java.awt.GridBagLayout; >> +import java.awt.KeyEventDispatcher; >> +import java.awt.KeyboardFocusManager; >> import java.awt.Toolkit; >> +import java.awt.event.KeyEvent; >> import java.awt.event.WindowAdapter; >> import java.awt.event.WindowEvent; >> >> @@ -53,8 +56,9 @@ >> */ >> public CacheViewer(DeploymentConfiguration config) { >> super((Frame) null, dialogTitle, true); // Don't need a parent. >> + if ((this.config = config) == null) >> + throw new IllegalArgumentException("config: " + config); >> setIconImages(ImageResources.INSTANCE.getApplicationImages()); >> - this.config = config; >> >> /* Prepare for adding components to dialog box */ >> Container contentPane = getContentPane(); >> @@ -70,11 +74,13 @@ >> contentPane.add(topPanel, c); >> >> pack(); >> + this.topPanel.invokeLaterPopulateTable(); >> >> /* Set focus to default button when first activated */ >> WindowAdapter adapter = new WindowAdapter() { >> private boolean gotFocus = false; >> >> + @Override >> public void windowGainedFocus(WindowEvent we) { >> // Once window gets focus, set initial focus >> if (!gotFocus) { >> @@ -85,6 +91,29 @@ >> }; >> addWindowFocusListener(adapter); >> >> + // Add a KeyEventDispatcher to dispatch events when this CacheViewer has focus >> + final CacheViewer cacheViewer = this; >> + KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { >> + /** >> + * Dispatches mainly the VK_ESCAPE key event to close the >> + * CacheViewer dialog. >> + * @see java.awt.KeyEventDispatcher >> + */ >> + public boolean dispatchKeyEvent(final KeyEvent keyEvent) { >> + // Check if Esc key has been pressed >> + if (keyEvent.getKeyCode() == KeyEvent.VK_ESCAPE && keyEvent.getID() == KeyEvent.KEY_PRESSED) { >> + // Exclude this key event from further processing >> + keyEvent.consume(); >> + // Remove this low-level KeyEventDispatcher >> + KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(this); >> + // Post close event to CacheViewer dialog >> + Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new WindowEvent(cacheViewer, WindowEvent.WINDOW_CLOSING)); >> + return true; >> + } >> + return false; >> + } >> + }); >> + >> initialized = true; >> } >> >> @@ -116,4 +145,4 @@ >> private void centerDialog() { >> ScreenFinder.centerWindowsToCurrentScreen(this); >> } >> -} >> +} >> \ No newline at end of file > > Please mention both Cache viewer cleanup and CerViewr viewer cleanup in news. Will do but they are separate patches. Happy reviewing! Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: ESC closing of Cache viewer + cleanup.patch Type: text/x-patch Size: 11552 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/6549ae96/ESCclosingofCacheviewercleanup.patch From ptisnovs at icedtea.classpath.org Mon Sep 16 00:36:55 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 16 Sep 2013 07:36:55 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset 073edb9552f8 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=073edb9552f8 author: Pavel Tisnovsky date: Mon Sep 16 09:40:40 2013 +0200 Added new test testNewInstance into the test suite BindingsClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/BindingsClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r 61ed92f655a5 -r 073edb9552f8 ChangeLog --- a/ChangeLog Fri Sep 13 10:46:37 2013 +0200 +++ b/ChangeLog Mon Sep 16 09:40:40 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-16 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + Added new test testNewInstance into the test suite + BindingsClassTest. + 2013-09-13 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r 61ed92f655a5 -r 073edb9552f8 src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Fri Sep 13 10:46:37 2013 +0200 +++ b/src/org/RhinoTests/BindingsClassTest.java Mon Sep 16 09:40:40 2013 +0200 @@ -1493,6 +1493,23 @@ } /** + * Test for method javax.script.Bindings.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.bindingsClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Bindings */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Mon Sep 16 00:40:47 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 16 Sep 2013 07:40:47 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 263eb96c49c3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=263eb96c49c3 author: Pavel Tisnovsky date: Mon Sep 16 09:44:36 2013 +0200 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 152 +++++++++++++++++++++++ 2 files changed, 157 insertions(+), 0 deletions(-) diffs (174 lines): diff -r 9ecd13f7000e -r 263eb96c49c3 ChangeLog --- a/ChangeLog Fri Sep 13 10:42:14 2013 +0200 +++ b/ChangeLog Mon Sep 16 09:44:36 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-16 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2013-09-13 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java: diff -r 9ecd13f7000e -r 263eb96c49c3 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Fri Sep 13 10:42:14 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Mon Sep 16 09:44:36 2013 +0200 @@ -5974,6 +5974,158 @@ } /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at redhat.com Mon Sep 16 00:50:19 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Mon, 16 Sep 2013 03:50:19 -0400 (EDT) Subject: [rfc][icedtea-web]Fixing make dist for both head and 1.4 In-Reply-To: <5231BB41.4000209@redhat.com> References: <5231BB41.4000209@redhat.com> Message-ID: <1364941894.14858812.1379317819100.JavaMail.root@redhat.com> Hi Jiri, these changes looks correct, ok for HEAD and 1.4 too! Just FOI (For Our Information :-)) where and why EXTRA_DIST target is used: http://www.gnu.org/software/automake/manual/html_node/Basics-of-Distribution.html Cheers, Pavel ----- Jiri Vanek wrote: > Hi! > > On head the make dist is broken by recent patch... blame be the reviewer (me) ! > > For 1.4 the dist tarball is generated without NEW_LINE_IFS and netx-dist-whitelist. As the tarball > should be usable in same way as cloned repo and so all targets should pass, then Both files should > be imho added. > > I have added them also for head dist (same patch..) and together with html-gen.sh which definitley > belongs here. > > > J. From gitne at icedtea.classpath.org Wed Sep 11 03:34:17 2013 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Wed, 11 Sep 2013 10:34:17 +0000 Subject: /hg/icedtea-web: Made temporary files location JFileChooser open... Message-ID: changeset 6124fd87eaba in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6124fd87eaba author: Jacob Wisor date: Wed Sep 11 12:05:44 2013 +0200 Made temporary files location JFileChooser open at the currently specified location Made temporary files location JFileChooser display a helpful title Removed misleading "All Files" file filter from JFileChooser Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files diffstat: ChangeLog | 18 ++++++++++ netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java | 8 ++- netx/net/sourceforge/jnlp/resources/Messages.properties | 3 +- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 2 + netx/net/sourceforge/jnlp/resources/Messages_de.properties | 5 ++- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 3 + 6 files changed, 34 insertions(+), 5 deletions(-) diffs (147 lines): diff -r f59d6eba666c -r 6124fd87eaba ChangeLog --- a/ChangeLog Mon Sep 09 11:32:36 2013 -0400 +++ b/ChangeLog Wed Sep 11 12:05:44 2013 +0200 @@ -1,3 +1,21 @@ +2013-09-11 Jacob Wisor + + * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java + Made temporary files location JFileChooser open at the currently specified location + Made temporary files location JFileChooser display a helpful title + Removed misleading "All Files" file filter from JFileChooser + * netx/net/sourceforge/jnlp/resources/Messages.properties + Added new message to resources for JFileChooser's choose button + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + * netx/net/sourceforge/jnlp/resources/Messages_de.properties + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java diff -r f59d6eba666c -r 6124fd87eaba netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java Mon Sep 09 11:32:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java Wed Sep 11 12:05:44 2013 +0200 @@ -109,10 +109,12 @@ bLocation.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - JFileChooser fileChooser = new JFileChooser(); + JFileChooser fileChooser = new JFileChooser(location.getText()); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fileChooser.setFileHidingEnabled(false); - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { + fileChooser.setAcceptAllFileFilterUsed(false); + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { // Check if we have permission to write to that location. String result = fileChooser.getSelectedFile().getAbsolutePath(); File dirLocation = new File(result); @@ -242,4 +244,4 @@ config.setProperty(properties[2], spCacheSize.getValue().toString()); } -} +} \ No newline at end of file diff -r f59d6eba666c -r 6124fd87eaba netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Sep 09 11:32:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Sep 11 12:05:44 2013 +0200 @@ -291,7 +291,7 @@ CVUser=User CVSystem=System -#KeyStores: see KeyStores.java +# KeyStores: see KeyStores.java KS=KeyStore KSCerts=Trusted Certificates KSJsseCerts=Trusted JSSE Certificates @@ -461,6 +461,7 @@ TIFPCacheSize=Set the amount of disk space for storing temporary files TIFPDeleteFiles=Delete files TIFPViewFiles=View files... +TIFPFileChooserChooseButton=Choose # Control Panel - Cache Viewer CVCPDialogTitle=Cache Viewer diff -r f59d6eba666c -r 6124fd87eaba netx/net/sourceforge/jnlp/resources/Messages_cs.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Mon Sep 09 11:32:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Wed Sep 11 12:05:44 2013 +0200 @@ -278,6 +278,7 @@ CVUser=U\u017eivatel CVSystem=Syst\u00e9m +# KeyStores: see KeyStores.java KS=\u00dalo\u017ei\u0161t\u011b kl\u00ed\u010d\u016f KSCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty KSJsseCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty JSSE @@ -447,6 +448,7 @@ TIFPCacheSize=Nastavte velikost m\u00edsta na disku ur\u010den\u00e9ho pro do\u010dasn\u00e9 soubory. TIFPDeleteFiles=Smazat soubory TIFPViewFiles=Zobrazit soubory... +TIFPFileChooserChooseButton=Vybrat # Control Panel - Cache Viewer CVCPDialogTitle=Prohl\u00ed\u017ee\u010d vyrovn\u00e1vac\u00ed pam\u011bti diff -r f59d6eba666c -r 6124fd87eaba netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Mon Sep 09 11:32:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Wed Sep 11 12:05:44 2013 +0200 @@ -193,9 +193,10 @@ BOAbout=Zeigt eine Beispielanwendung. BONosecurity=Deaktiviert die sichere Laufzeitumgebung. BONoupdate=Deaktiviert die Pr\u00fcfung nach Aktualisierungen. -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberfl\u00e4chen. +BOHeadless=Deaktiviert Herunterladefenster und andere Benutzeroberfl\u00e4chen. BOStrict=Aktiviert die strikte Pr\u00fcfung des JNLP-Dateiformats. BOViewer=Zeigt die Ansicht der vertrauensw\u00fcrdigen Zertifikate. +BOXml=Verwendet einen strikten XML-Parser f\u00fcr die JNLP-Datei. BXnofork=Keine weitere JVM erstellen. BXclearcache=Den JNLP-Anwendungszwischenspeicher s\u00e4ubern. BXignoreheaders=Die Pr\u00fcfung der Metadaten von Jar-Dateien auslassen. @@ -285,6 +286,7 @@ CVUser=Benutzer CVSystem=System +# KeyStores: see KeyStores.java KS=Schl\u00fcsselspeicher KSCerts=Vertrauensw\u00fcrdige Zertifikate KSJsseCerts=Vertrauensw\u00fcrdige JSSE Zertifikate @@ -454,6 +456,7 @@ TIFPCacheSize=Menge des Plattenplatzes zur Speicherung tempor\u00e4rer Dateien TIFPDeleteFiles=Dateien l\u00f6schen TIFPViewFiles=Dateien anzeigen... +TIFPFileChooserChooseButton=Ausw\u00e4hlen # Control Panel - Cache Viewer CVCPDialogTitle=Zwischenspeicheranzeige diff -r f59d6eba666c -r 6124fd87eaba netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Mon Sep 09 11:32:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Wed Sep 11 12:05:44 2013 +0200 @@ -196,6 +196,7 @@ BOHeadless=Wy\u0142\u0105cza okno pobierania i inne interfejsy graficzne BOStrict=W\u0142\u0105cza \u015bcis\u0142e sprawdzanie format pliku JNLP BOViewer=Pokazuje podgl\u0105d zaufanych certyfikat\u00f3w +BOXml=Stosuje \u015bcis\u0142y analizator sk\u0142adniowy XML do analizy pliku JNLP BXnofork=Nie tw\u00f3rz nast\u0119pnej JVM BXclearcache=Wyczy\u015b\u0107 pami\u0119\u0107 podr\u0119czn\u0105 aplikacji JNLP BXignoreheaders=Pomijaj weryfikacj\u0119 nag\u0142\u00f3wk\u00f3w plik\u00f3w jar @@ -285,6 +286,7 @@ CVUser=U\u017cytkownik CVSystem=System +# KeyStores: see KeyStores.java KS=Baza kluczy KSCerts=Zaufane certyfikaty KSJsseCerts=Zaufane certyfikaty JSSE @@ -454,6 +456,7 @@ TIFPCacheSize=Nastaw wielko\u015b\u0107 miejsca na dysku do sk\u0142adowania plik\u00f3w tymczasowych TIFPDeleteFiles=Usu\u0144 pliki TIFPViewFiles=Przegl\u0105daj pliki... +TIFPFileChooserChooseButton=Wybierz # Control Panel - Cache Viewer CVCPDialogTitle=Podgl\u0105d pami\u0119ci podr\u0119cznej From gitne at icedtea.classpath.org Thu Sep 12 15:40:33 2013 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Thu, 12 Sep 2013 22:40:33 +0000 Subject: /hg/release/icedtea-web-1.4: * netx/net/sourceforge/jnlp/control... Message-ID: changeset 508f65fc1135 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=508f65fc1135 author: Jacob Wisor date: Wed Sep 11 00:00:00 2013 +0200 * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: Made temporary files location JFileChooser open at the currently specified location Made temporary files location JFileChooser display a helpful title Removed misleading "All Files" file filter from JFileChooser * netx/net/sourceforge/jnlp/resources/Messages.properties: Added new message to resources for JFileChooser's choose button * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files diffstat: ChangeLog | 19 ++++++++++ netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java | 8 ++- netx/net/sourceforge/jnlp/resources/Messages.properties | 3 +- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 5 +- netx/net/sourceforge/jnlp/resources/Messages_de.properties | 4 +- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 2 + 6 files changed, 34 insertions(+), 7 deletions(-) diffs (145 lines): diff -r a875c8f789f2 -r 508f65fc1135 ChangeLog --- a/ChangeLog Wed Sep 11 15:19:42 2013 -0400 +++ b/ChangeLog Wed Sep 11 00:00:00 2013 +0200 @@ -1,3 +1,22 @@ +2013-09-11 Jacob Wisor + + * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: + Made temporary files location JFileChooser open at the currently specified + location + Made temporary files location JFileChooser display a helpful title + Removed misleading "All Files" file filter from JFileChooser + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Added new message to resources for JFileChooser's choose button + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: + Added new message to resources for JFileChooser's choose button + Fixed a few inconsistent messages in resource files + 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java diff -r a875c8f789f2 -r 508f65fc1135 netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java Wed Sep 11 15:19:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java Wed Sep 11 00:00:00 2013 +0200 @@ -109,10 +109,12 @@ bLocation.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - JFileChooser fileChooser = new JFileChooser(); + JFileChooser fileChooser = new JFileChooser(location.getText()); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fileChooser.setFileHidingEnabled(false); - if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { + fileChooser.setAcceptAllFileFilterUsed(false); + fileChooser.setDialogTitle(Translator.R("TIFPLocationLabel")); + if (fileChooser.showDialog(null, Translator.R("TIFPFileChooserChooseButton")) == JFileChooser.APPROVE_OPTION) { // Check if we have permission to write to that location. String result = fileChooser.getSelectedFile().getAbsolutePath(); File dirLocation = new File(result); @@ -242,4 +244,4 @@ config.setProperty(properties[2], spCacheSize.getValue().toString()); } -} +} \ No newline at end of file diff -r a875c8f789f2 -r 508f65fc1135 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Sep 11 15:19:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Sep 11 00:00:00 2013 +0200 @@ -278,7 +278,7 @@ CVUser=User CVSystem=System -#KeyStores: see KeyStores.java +# KeyStores: see KeyStores.java KS=KeyStore KSCerts=Trusted Certificates KSJsseCerts=Trusted JSSE Certificates @@ -448,6 +448,7 @@ TIFPCacheSize=Set the amount of disk space for storing temporary files TIFPDeleteFiles=Delete files TIFPViewFiles=View files... +TIFPFileChooserChooseButton=Choose # Control Panel - Cache Viewer CVCPDialogTitle=Cache Viewer diff -r a875c8f789f2 -r 508f65fc1135 netx/net/sourceforge/jnlp/resources/Messages_cs.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Wed Sep 11 15:19:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Wed Sep 11 00:00:00 2013 +0200 @@ -278,7 +278,7 @@ CVUser=U\u017eivatel CVSystem=Syst\u00e9m -#KeyStores: see KeyStores.java +# KeyStores: see KeyStores.java KS=\u00dalo\u017ei\u0161t\u011b kl\u00ed\u010d\u016f KSCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty KSJsseCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty JSSE @@ -448,6 +448,7 @@ TIFPCacheSize=Nastavte velikost m\u00edsta na disku ur\u010den\u00e9ho pro do\u010dasn\u00e9 soubory. TIFPDeleteFiles=Smazat soubory TIFPViewFiles=Zobrazit soubory... +TIFPFileChooserChooseButton=Vybrat # Control Panel - Cache Viewer CVCPDialogTitle=Prohl\u00ed\u017ee\u010d vyrovn\u00e1vac\u00ed pam\u011bti @@ -571,4 +572,4 @@ APPEXTSECguiPanelShowOnlyPermanentN=Zobrazit pouze zak\u00e1zan\u00e9 trval\u00e9 z\u00e1znamy APPEXTSECguiPanelShowOnlyTemporalY=Zobrazit pouze d\u0159\u00edve povolen\u00e9 z\u00e1znamy applet\u016f APPEXTSECguiPanelShowOnlyTemporalN=Zobrazit pouze d\u0159\u00edve zak\u00e1zan\u00e9 z\u00e1znamy applet\u016f -APPEXTSEChelpHomeDialogue=Odstavec o dialogu \ No newline at end of file +APPEXTSEChelpHomeDialogue=Odstavec o dialogu diff -r a875c8f789f2 -r 508f65fc1135 netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Wed Sep 11 15:19:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Wed Sep 11 00:00:00 2013 +0200 @@ -186,7 +186,7 @@ BOAbout=Zeigt eine Beispielanwendung. BONosecurity=Deaktiviert die sichere Laufzeitumgebung. BONoupdate=Deaktiviert die Pr\u00fcfung nach Aktualisierungen. -BOHeadless=Deaktiviert Herunterladefenster, andere Benutzeroberfl\u00e4chen. +BOHeadless=Deaktiviert Herunterladefenster und andere Benutzeroberfl\u00e4chen. BOStrict=Aktiviert die strikte Pr\u00fcfung des JNLP-Dateiformats. BOViewer=Zeigt die Ansicht der vertrauensw\u00fcrdigen Zertifikate. BXnofork=Keine weitere JVM erstellen. @@ -278,6 +278,7 @@ CVUser=Benutzer CVSystem=System +# KeyStores: see KeyStores.java KS=Schl\u00fcsselspeicher KSCerts=Vertrauensw\u00fcrdige Zertifikate KSJsseCerts=Vertrauensw\u00fcrdige JSSE Zertifikate @@ -447,6 +448,7 @@ TIFPCacheSize=Menge des Plattenplatzes zur Speicherung tempor\u00e4rer Dateien TIFPDeleteFiles=Dateien l\u00f6schen TIFPViewFiles=Dateien anzeigen... +TIFPFileChooserChooseButton=Ausw\u00e4hlen # Control Panel - Cache Viewer CVCPDialogTitle=Zwischenspeicheranzeige diff -r a875c8f789f2 -r 508f65fc1135 netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Wed Sep 11 15:19:42 2013 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Wed Sep 11 00:00:00 2013 +0200 @@ -278,6 +278,7 @@ CVUser=U\u017cytkownik CVSystem=System +# KeyStores: see KeyStores.java KS=Baza kluczy KSCerts=Zaufane certyfikaty KSJsseCerts=Zaufane certyfikaty JSSE @@ -447,6 +448,7 @@ TIFPCacheSize=Nastaw wielko\u015b\u0107 miejsca na dysku do sk\u0142adowania plik\u00f3w tymczasowych TIFPDeleteFiles=Usu\u0144 pliki TIFPViewFiles=Przegl\u0105daj pliki... +TIFPFileChooserChooseButton=Wybierz # Control Panel - Cache Viewer CVCPDialogTitle=Podgl\u0105d pami\u0119ci podr\u0119cznej From jvanek at icedtea.classpath.org Mon Sep 16 01:46:06 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 16 Sep 2013 08:46:06 +0000 Subject: /hg/release/icedtea-web-1.4: 5 new changesets Message-ID: changeset 82e007d8b05a in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=82e007d8b05a author: Jiri Vanek date: Mon Sep 16 10:10:13 2013 +0200 CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet changeset 26d15dff70b2 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=26d15dff70b2 author: Jiri Vanek date: Mon Sep 16 10:12:28 2013 +0200 Mentioned tmp. files clean up changeset a56022978972 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=a56022978972 author: Jiri Vanek date: Mon Sep 16 10:35:49 2013 +0200 Makefile.am: (EXTRA_DIST) added netx-dist-tests-whitelist NEW_LINE_IFS to enable reproducers tests from dst. tarball. changeset 517457d5f605 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=517457d5f605 author: Jiri Vanek date: Mon Sep 16 10:42:43 2013 +0200 Prepared for 1.4.1 release changeset 0ada01b1cdc3 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=0ada01b1cdc3 author: Jiri Vanek date: Mon Sep 16 10:45:37 2013 +0200 Added tag icedtea-web-1.4.1 for changeset 517457d5f605 diffstat: .hgtags | 1 + ChangeLog | 12 ++++++++++++ Makefile.am | 2 +- NEWS | 3 +++ configure.ac | 2 +- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 18 +++--------------- 6 files changed, 21 insertions(+), 17 deletions(-) diffs (108 lines): diff -r 508f65fc1135 -r 0ada01b1cdc3 .hgtags --- a/.hgtags Wed Sep 11 00:00:00 2013 +0200 +++ b/.hgtags Mon Sep 16 10:45:37 2013 +0200 @@ -7,3 +7,4 @@ 0000000000000000000000000000000000000000 icedtea-web-1.4 0000000000000000000000000000000000000000 icedtea-web-1.4 7417aafce17fc2d1d11895b190a8f9a09abf228d icedtea-web-1.4 +517457d5f6051fb4b9eec08664966edd294fce54 icedtea-web-1.4.1 diff -r 508f65fc1135 -r 0ada01b1cdc3 ChangeLog --- a/ChangeLog Wed Sep 11 00:00:00 2013 +0200 +++ b/ChangeLog Mon Sep 16 10:45:37 2013 +0200 @@ -1,3 +1,15 @@ +2013-09-16 Jiri Vanek + + * Makefile.am: (EXTRA_DIST) added netx-dist-tests-whitelist NEW_LINE_IFS + to enable reproducers tests from dst. tarball. + +2013-09-16 Deepak Bhole + + CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event + attached to applet + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary + heap allocations. + 2013-09-11 Jacob Wisor * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: diff -r 508f65fc1135 -r 0ada01b1cdc3 Makefile.am --- a/Makefile.am Wed Sep 11 00:00:00 2013 +0200 +++ b/Makefile.am Mon Sep 16 10:45:37 2013 +0200 @@ -185,7 +185,7 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \ - itweb-settings.desktop.in $(top_srcdir)/tests + itweb-settings.desktop.in $(top_srcdir)/tests netx-dist-tests-whitelist NEW_LINE_IFS # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) diff -r 508f65fc1135 -r 0ada01b1cdc3 NEWS --- a/NEWS Wed Sep 11 00:00:00 2013 +0200 +++ b/NEWS Mon Sep 16 10:45:37 2013 +0200 @@ -9,11 +9,14 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.4.1 (2013-XX-YY): +* Improved and cleaned Temporary internet files panel * NetX - PR1465 - java.io.FileNotFoundException while trying to download a JAR file - PR1473 - javaws should not depend on name of local file * Plugin - PR854: Resizing an applet several times causes 100% CPU load +* Security Updates + - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet New in release 1.4 (2013-05-02): * Added cs localization diff -r 508f65fc1135 -r 0ada01b1cdc3 configure.ac --- a/configure.ac Wed Sep 11 00:00:00 2013 +0200 +++ b/configure.ac Mon Sep 16 10:45:37 2013 +0200 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.4.1pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.4.1],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile netx.manifest]) diff -r 508f65fc1135 -r 0ada01b1cdc3 plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Wed Sep 11 00:00:00 2013 +0200 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Mon Sep 16 10:45:37 2013 +0200 @@ -591,10 +591,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - char* error_msg = (char*) malloc(java_result->error_msg->length()*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } @@ -853,11 +850,7 @@ createJavaObjectFromVariant(instance, args[i], &id); if (id == "0") { - // error message must be allocated on heap - char* error_msg = (char*) malloc(1024*sizeof(char)); - strcpy(error_msg, "Unable to create argument on Java side"); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, "Unable to create argument on Java side"); return false; } @@ -871,12 +864,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - int length = java_result->error_msg->length(); - char* error_msg = (char*) malloc((length+1)*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } From jvanek at icedtea.classpath.org Mon Sep 16 01:50:18 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 16 Sep 2013 08:50:18 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset dbd98f24eebb in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=dbd98f24eebb author: Jiri Vanek date: Mon Sep 16 10:09:57 2013 +0200 CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet changeset 838dea89725a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=838dea89725a author: Jiri Vanek date: Mon Sep 16 10:39:33 2013 +0200 Makefile.am: returned modified (EXTRA_DIST) variable. It is enriched for netx-dist-tests-whitelist and NEW_LINE_IFS to enable reproducers tests in dist tarball diffstat: ChangeLog | 13 +++++++++++++ Makefile.am | 3 +++ NEWS | 2 ++ plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 18 +++--------------- 4 files changed, 21 insertions(+), 15 deletions(-) diffs (87 lines): diff -r 14082a0be646 -r 838dea89725a ChangeLog --- a/ChangeLog Fri Sep 13 09:28:03 2013 -0400 +++ b/ChangeLog Mon Sep 16 10:39:33 2013 +0200 @@ -1,3 +1,16 @@ +2013-09-16 Jiri Vanek + + * Makefile.am: returned modified (EXTRA_DIST) variable. It is enriched for + netx-dist-tests-whitelist and NEW_LINE_IFS to enable reproducers tests + in dist tarball. + +2013-09-16 Deepak Bhole + + CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event + attached to applet + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary + heap allocations. + 2013-09-13 Andrew Azores * tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java: diff -r 14082a0be646 -r 838dea89725a Makefile.am --- a/Makefile.am Fri Sep 13 09:28:03 2013 -0400 +++ b/Makefile.am Mon Sep 16 10:39:33 2013 +0200 @@ -191,6 +191,9 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) +export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in launcher \ + itweb-settings.desktop.in $(top_srcdir)/tests html-gen.sh netx-dist-tests-whitelist NEW_LINE_IFS + # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) diff -r 14082a0be646 -r 838dea89725a NEWS --- a/NEWS Fri Sep 13 09:28:03 2013 -0400 +++ b/NEWS Mon Sep 16 10:39:33 2013 +0200 @@ -21,6 +21,8 @@ * Plugin - PR854: Resizing an applet several times causes 100% CPU load - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs +* Security Updates + - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet New in release 1.4 (2013-XX-XX): * Added cs localization diff -r 14082a0be646 -r 838dea89725a plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Fri Sep 13 09:28:03 2013 -0400 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Mon Sep 16 10:39:33 2013 +0200 @@ -618,10 +618,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - char* error_msg = (char*) malloc(java_result->error_msg->length()*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } @@ -874,11 +871,7 @@ createJavaObjectFromVariant(instance, args[i], &id); if (id == "0") { - // error message must be allocated on heap - char* error_msg = (char*) malloc(1024*sizeof(char)); - strcpy(error_msg, "Unable to create argument on Java side"); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, "Unable to create argument on Java side"); return false; } @@ -892,12 +885,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - int length = java_result->error_msg->length(); - char* error_msg = (char*) malloc((length+1)*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } From jvanek at redhat.com Mon Sep 16 02:34:04 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 11:34:04 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <523171DC.40609@redhat.com> References: <523171DC.40609@redhat.com> Message-ID: <5236D08C.4040307@redhat.com> On 09/12/2013 09:48 AM, Jiri Vanek wrote: > Hi folks! > > As fixes for 1.4 are multiplying, I would like to propose release of icedtea-web 1.4 at the > beginning of next week. > > Please consider branch frozen in that time, as it will be subject of testing. > > J. Hi all! Please consider http://icedtea.classpath.org/hg/release/icedtea-web-1.4 as frozen. Tarball: a03135f895d60837f6bf7784de0c3914 http://icedtea.classpath.org/hg/release/icedtea-web-1.4 is under testing. Unless some mayor fault will be found, this will become official release. As there is nothing crucial, if somebody feels something shoud be added, let me know as soon as possible , and I will retag. Not much had happened: New in release 1.4.1 (2013-XX-YY): * Improved and cleaned Temporary internet files panel * NetX - PR1465 - java.io.FileNotFoundException while trying to download a JAR file - PR1473 - javaws should not depend on name of local file * Plugin - PR854: Resizing an applet several times causes 100% CPU load * Security Updates - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet + reproducers tests are enabled in dist-tarball + application context support for OpenJDK build 25 and higher + small patches into rhino support and + PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties - which are backports and are not in news from some reason :) Happy testing J. From jvanek at redhat.com Mon Sep 16 02:51:05 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 11:51:05 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <5236D08C.4040307@redhat.com> References: <523171DC.40609@redhat.com> <5236D08C.4040307@redhat.com> Message-ID: <5236D489.7080206@redhat.com> On 09/16/2013 11:34 AM, Jiri Vanek wrote: > On 09/12/2013 09:48 AM, Jiri Vanek wrote: >> Hi folks! >> >> As fixes for 1.4 are multiplying, I would like to propose release of icedtea-web 1.4 at the >> beginning of next week. >> >> Please consider branch frozen in that time, as it will be subject of testing. >> >> J. > > Hi all! > > Please consider http://icedtea.classpath.org/hg/release/icedtea-web-1.4 as frozen. Tarball: > a03135f895d60837f6bf7784de0c3914 http://icedtea.classpath.org/hg/release/icedtea-web-1.4 is under > testing. arrgh, wrong url! http://icedtea.wildebeest.org/download/source/icedtea-web-1.4.1.tar.gz > > > Unless some mayor fault will be found, this will become official release. > As there is nothing crucial, if somebody feels something shoud be added, let me know as soon as > possible , and I will retag. > > Not much had happened: > > New in release 1.4.1 (2013-XX-YY): > * Improved and cleaned Temporary internet files panel > * NetX > - PR1465 - java.io.FileNotFoundException while trying to download a JAR file > - PR1473 - javaws should not depend on name of local file > * Plugin > - PR854: Resizing an applet several times causes 100% CPU load > * Security Updates > - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet > > + reproducers tests are enabled in dist-tarball > + application context support for OpenJDK build 25 and higher > + small patches into rhino support and > + PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties > - which are backports and are not in news from some reason :) > > > Happy testing > J. From xerxes at zafena.se Mon Sep 16 03:13:09 2013 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Mon, 16 Sep 2013 12:13:09 +0200 Subject: Upcoming 2.4.2 Release - JamVM 2013-08-28 x86_64 update - improved jdk java lang test results In-Reply-To: <52332484.5060200@zafena.se> References: <5231CB96.1060502@zafena.se> <52332484.5060200@zafena.se> Message-ID: <5236D9B5.1090104@zafena.se> 2013-09-13 16:43, Xerxes R?nby skrev: > 2013-09-12 16:58, And?? skrev: >> On 12 September 2013 15:11, Xerxes R?nby wrote: >>> 2013-09-11 22:25, And?? skrev: >>>> Some of you may have seen that Oracle have released u40 [0]. I'm >>>> currently testing 2.4.2, which will bring the 2.4 branch up to date >>>> with upstream on u40: ... >>>> I plan to release this coming Wednesday, the 18th of September, if all >>>> looks good by then. >>>> Xerxes is going to look at updating JamVM support on the branch in the meantime. ... >>> JamVM test logs, before jamvm update: ia32 & x86_64 >>> >>> Test procedure: >>> apt-get install mercurial >>> apt-get build-dep openjdk-7 >>> hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 >>> cd icedtea7-2.4 >>> ./autogen.sh >>> ./configure --enable-jamvm --disable-system-lcms ; make ; make check >>> > ... >>> https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 >>> https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 > ... >> >> Thanks! I await the improved results from the new version :) > > > Updated logs for JamVM x86_86 using the latest 2013-08-28 revision > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e > > Logs: https://gist.github.com/xranby/d8f6c5f16e0f456a0f43 - jamvm 2.4.2pre+r41272f3d7393+ 2013-08-28 x86_64 > Patch: > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e > ... > > Improvement seen after the update: > > diff -Naur 7c8dceb90880616b7dd670f257961a1f5f371ec3 ac22c9948434e528ece451642b4ebde40953ee7e > --- 7c8dceb90880616b7dd670f257961a1f5f371ec3 2013-09-13 16:22:43.909428937 +0200 > +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 > @@ -11,10 +11,7 @@ > Error: compiler/6901572/Test.java > FAILED: compiler/6910618/Test.java > FAILED: compiler/6942326/Test.java > -FAILED: compiler/6990212/Test6990212.java > -FAILED: compiler/7088020/Test7088020.java > FAILED: compiler/7116216/StackOverflow.java > -FAILED: compiler/7141637/SpreadNullArg.java > FAILED: compiler/7190310/Test7190310_unsafe.java > FAILED: compiler/7192963/TestByteVect.java > FAILED: compiler/7192963/TestDoubleVect.java > @@ -72,7 +69,7 @@ > FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh > FAILED: serviceability/attach/AttachWithStalePidFile.java > FAILED: serviceability/ParserTest.java > -Test results: passed: 193; failed: 70; error: 3 > +Test results: passed: 196; failed: 67; error: 3 > > Three more hotspot tests passed after the update. ... > --------------- jtreg console summary for jdk --------------- ... > I have issues running the JDK tests on this x86_64 machine in general. > The JDK tests abort without completing using both Hotspot and JamVM. I have run the JDK jtreg jdk java lang tests manually in order to see the new JamVM JSR 292 improvements after the update. ./openjdk.build/j2sdk-image/jre/bin/java -jar test/jtreg.jar -v1 -s openjdk/jdk/test/java/lang | tee java-lang.log Summary of the diff in jdk java lang test results using jamvm on x86_64, before and after the update: --- 7c8dceb90880616b7dd670f257961a1f5f371ec3-icedtea-2.4-jamvm-java-lang.log 2013-09-16 11:56:01.539380859 +0200 +++ ac22c9948434e528ece451642b4ebde40953ee7e-icedtea-2.4-jamvm-2013-08-28-java-lang.log 2013-09-16 11:54:44.426998476 +020 -FAILED: java/lang/invoke/6987555/Test6987555.java -FAILED: java/lang/invoke/6991596/Test6991596.java -FAILED: java/lang/invoke/6998541/Test6998541.java -FAILED: java/lang/invoke/7157574/Test7157574.java +Passed: java/lang/invoke/6987555/Test6987555.java +Passed: java/lang/invoke/6991596/Test6991596.java +Passed: java/lang/invoke/6998541/Test6998541.java +Passed: java/lang/invoke/7157574/Test7157574.java -FAILED: java/lang/invoke/CallSiteTest.java +Error: java/lang/invoke/CallSiteTest.java -FAILED: java/lang/invoke/InvokeDynamicPrintArgs.java +Passed: java/lang/invoke/InvokeDynamicPrintArgs.java -FAILED: java/lang/String/Split.java +Passed: java/lang/String/Split.java -FAILED: java/lang/Thread/ThreadStateTest.java +Passed: java/lang/Thread/ThreadStateTest.java -Test results: passed: 260; failed: 96; error: 22 +Test results: passed: 267; failed: 88; error: 23 Thus 7 more tests pass, no regressions seen in jdk java-lang after the update. The FAILED -> Error test of java/lang/invoke/CallSiteTest is IMHO OK for JamVM since this CallSiteTest tests for an Hotspot specific Indify optimization in order to pass. I recommend that we push this new 2013-08-28 update to HEAD and merge into icedtea-2.4 before the 2.4.2 release. Cheers Xerxes From gitne at gmx.de Mon Sep 16 04:36:24 2013 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 16 Sep 2013 13:36:24 +0200 Subject: Upcoming release of 1.4.1 In-Reply-To: <5236D08C.4040307@redhat.com> References: <523171DC.40609@redhat.com> <5236D08C.4040307@redhat.com> Message-ID: <5236ED38.3050706@gmx.de> Jiri Vanek wrote: > On 09/12/2013 09:48 AM, Jiri Vanek wrote: >> Hi folks! >> >> As fixes for 1.4 are multiplying, I would like to propose release of >> icedtea-web 1.4 at the >> beginning of next week. >> >> Please consider branch frozen in that time, as it will be subject of >> testing. >> >> J. > > Hi all! > > Please consider http://icedtea.classpath.org/hg/release/icedtea-web-1.4 > as frozen. Tarball: > a03135f895d60837f6bf7784de0c3914 > http://icedtea.classpath.org/hg/release/icedtea-web-1.4 is under testing. > > > Unless some mayor fault will be found, this will become official release. > As there is nothing crucial, if somebody feels something shoud be added, > let me know as soon as possible , and I will retag. I was hoping to add CacheViewer cleanup and CertificateViewer cleanup too. But, if you are on a schedule I won't insist. > Not much had happened: > > New in release 1.4.1 (2013-XX-YY): > * Improved and cleaned Temporary internet files panel > * NetX > - PR1465 - java.io.FileNotFoundException while trying to download a JAR > file > - PR1473 - javaws should not depend on name of local file > * Plugin > - PR854: Resizing an applet several times causes 100% CPU load > * Security Updates > - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering > event attached to applet > > + reproducers tests are enabled in dist-tarball > + application context support for OpenJDK build 25 and higher > + small patches into rhino support and > + PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other > properties > - which are backports and are not in news from some reason :) Regards, Jacob From aazores at redhat.com Mon Sep 16 06:27:50 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Sep 2013 09:27:50 -0400 Subject: [icedtea-web] RFC: use Arrays.asList instead of custom implementation In-Reply-To: <5233815E.1040509@redhat.com> References: <5233815E.1040509@redhat.com> Message-ID: <52370756.6050300@redhat.com> On 09/13/2013 05:19 PM, Omair Majid wrote: > Hi, > > There's a couple of places in icedtea-web where we are using a custom > method to do what's already being done by Arrays.asList. Lets remove > this 'duplicate' code. > > Thanks, > Omair Looks good to me. Not sure how I feel about the "import static" for the UnsignedAppletTrustConfirmationTest, but no big deal. Thanks, -- Andrew A From jvanek at redhat.com Mon Sep 16 06:50:19 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 15:50:19 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5233543D.4050603@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> Message-ID: <52370C9B.1050605@redhat.com> On 09/13/2013 08:06 PM, Omair Majid wrote: > Hi, > > On 09/13/2013 10:18 AM, Jiri Vanek wrote: >> On 09/12/2013 07:09 PM, Omair Majid wrote: >>> Are those exceptions worth logging? (or even worth stopping and showing >>> an error to the user?) >> >> Well thats the question. Which exception/message is which? There was >> nearly thousand of substitutions... Can you imagine to evaluate each one? > > I suspect we will have to. Most of these are really-for-debugging > messages. Some of they may be interesting to users, but most of them > probably will not be. Ok. As another chnagset please. I really do not walk through all 700 stdout/err occurences manually again. With logging bottleneck it will lead only to find usages. Also - with this patch applied - I will quite easily find the wrong cases and start to meassure it. Also I will keep it in mind when changing the itw settings. > > Otherwise we are syslog()ing all those (not-so-helpful) messages. > >> Anyway - four orriginally logged messages was nearly not worthy tobe >> logged.... Then the Logger was moreover forgotten :( > > Sorry, I am not clear about this. Can you elaborate? Originally the appletLog.log(..) was sused only in metxPanel.showAppletException(...) which is override of openjdk's appletPanel.showAppletException() The metxPanel.showAppletException(...) was adding the appletLog.log(..) and then call super.showAppletException(...). The super showAppletException is used *only* on 8 palces in openjdk's AppletPanel (which do only print stack trace and repaint). Those exceptions are extremely rare and (Althoug maybe usefull for debugginng openjdk itself) are useless for debugging ITW. The logger should help in both - with "my" refoctring it wil log both AppletPanel's exceptions and ITW exceptions. > >> TBH - personally I dont like java logging api - it is clumsy, and >> actually not helping at all. Also I found it not suiting to ITW. > > Can you elaborate some more on this? What is it about the logging API > that you think is not helping? I am only asking so I don't > (accidentally) suggest repeating the issues. > > I am also a little confused. The only place that uses java.util.logging > is Log (and AppletLog). As a complete aside, what are those 2 classes > doing? Are they just used in one place (showAppletExceptions)? > Answered above. They were probably some attempt to log at least something from inside of plugin, but not finished, and later forgotten. Actually bad luck:( They could serve earlier... >> It loosk like wee need to solve the system level implementation asap, >> otherwise some of mentioned questions cannot be answered correctly. > > I think that's a good idea. If we are making a change because it helps a > future change, let's try and narrow down exactly what that future change is. > Work in progress. In meanwhile, may we get the bottleneck inside? O:) j. ps: its really needed. The widespread sout/err are terrible when one is getting to dig the information. From jvanek at redhat.com Mon Sep 16 07:02:08 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 16:02:08 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <52337204.3000505@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> Message-ID: <52370F60.4060908@redhat.com> On 09/13/2013 10:13 PM, Omair Majid wrote: > Hi Andrew, > > On 09/13/2013 04:06 PM, Andrew Azores wrote: >> --- a/netx/net/sourceforge/jnlp/config/Defaults.java >> +++ b/netx/net/sourceforge/jnlp/config/Defaults.java > >> - final static String USER_CONFIG_HOME; >> + public final static String USER_CONFIG_HOME; >> public final static String USER_CACHE_HOME; > > One not-immediately-obvious consequence of making these variables public > is that a random untrusted program might be able to look at them and > guess the value of System.getProperty("user.home"). That would be > leaking information and a security hole. > > Thankfully, icedtea-web does disallow access to net.sourceforge.jnlp.** > packages so accessing the Defaults class should not be possible in > general. But I am still going to strongly encourage you to not expose > information. > > Thanks, > Omair > Yes it is interesting. From this point of view (and as Jacob picked up easily fake-able) both >> + public final static String USER_CONFIG_HOME; >> public final static String USER_CACHE_HOME; and also all other for-testing-package-private should become private and in tests used via reflection only... Well its not nice:( Any opinion? From jvanek at redhat.com Mon Sep 16 07:05:33 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 16:05:33 +0200 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <5229FB6D.2070301@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> Message-ID: <5237102D.4070207@redhat.com> On 09/06/2013 05:57 PM, Andrew Azores wrote: > On 09/06/13 11:41, Omair Majid wrote: >> On 09/06/2013 06:08 AM, Jiri Vanek wrote: >>> General nit - it would be necessary add javadocs why affected fields >>> have been made synchronised and why affected methods are no longer >>> synchronised. >> Something to watch out for: the more you use low-level synchronization >> features, the more the chances of unnecessary locking and/or deadlocks. >> >> If you can use higher level abstractions for concurrency/locking (eg: a >> built in data structure or some form of work queue) it will also explain >> (in code) what's going on _and_ most likely be more correct in terms of >> locking. >> >> Cheers, >> Omair >> > > Well I did wrap the relevant member variables in Collections.synchronized{List,Set,Hash,Map,etc.}() > to provide for atomic operations like add/remove, but even then you still need to synchronize when > you're going to iterate over a collection. Not very much else is actually happening in this patch, > if anything. The whole point is that a very very broad-scoped lock (the classloader instance itself) > was being given to a thread for the sole purpose of ensuring that only one thread entered one > specific method at a time, which was unnecessary locking and was what lead to issues. I suppose > simply using a ReentrantLock or something and emulating this behaviour but using the new lock for > only this one method could have also been done and would have avoided the problem. But to me iit > seems that that's a bit of a hackish fix for the deadlock, rather than actually addressing the issue > of not *really* needing to ensure that only one thread is in that method at a time. Rather we just > need to ensure that all the member variables affected by that method call are used in a thread safe > manner. Using the classloader instance lock to do this is very heavy handed. > > Thanks, > I think you can post another verison (maybe final...) of patch From aazores at redhat.com Mon Sep 16 07:15:27 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Sep 2013 10:15:27 -0400 Subject: [rfc][icedtea-web] net.sourceforge.jnlp.ResourcesTest fix In-Reply-To: <52336ED8.3070602@redhat.com> References: <52335D76.60806@redhat.com> <52336ED8.3070602@redhat.com> Message-ID: <5237127F.7030605@redhat.com> On 09/13/2013 04:00 PM, Omair Majid wrote: > On 09/13/2013 02:46 PM, Andrew Azores wrote: >> Renamed some variables and removed an assertion that the user plugin >> directory (~/.mozilla/plugins) must exist, as it may not > Thanks for doing the cleanup. The code is so much more readable now! > > If your IDE has refactoring support, please use that instead of renaming > things manually. nnoremap gr gd[{V%:s////gc Now it has refactoring support ;) > >> - if (f2 != null) { >> - Assert.assertTrue("browser's users-plugins location should exist " + f2.toString() + " for " + browser.getID().toString(), f2.exists()); > Please move the comment below about no user-plugins directory to here. > >> - File[] ff1 = new File[0]; >> - if (f1 != null) { >> - ff1 = f1.listFiles(); >> + File[] defaultPlugins = new File[0]; >> + if (defaultPlugins != null) { >> + defaultPlugins = defaultPluginDir.listFiles(); >> } > This looks like a mistake. It should be `if (defaultPluginDir != null)`, > right? Ah, yes. Thanks. >> - File[] ff2 = new File[0]; >> - if (f2 != null) { >> - ff2 = f2.listFiles(); >> + File[] userPlugins = null; >> + if (userPluginDir != null) { >> + userPlugins = userPluginDir.listFiles(); >> } >> + if (userPlugins == null) { >> + userPlugins = new File[0]; >> + } > Why not use the idiom used in defaultPlugins and declare and initialize > userPlugins to new File[0] at once? Yea actually this is pretty hacky. userPluginDir doesn't necessarily exist, and if it doesn't, then calling listFiles on it returns null. I've cleaned that up now. > > Cheers, > Omair > Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: ResourcesTest.patch Type: text/x-patch Size: 7045 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/0306d385/ResourcesTest.patch From jvanek at redhat.com Mon Sep 16 07:20:39 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 16:20:39 +0200 Subject: [rfc][icedtea-web] Cache viewer cleanup In-Reply-To: <52364E27.3010300@gmx.de> References: <201307302347.r6UNl2x1011963@mail-web03.excite.co.jp> <5229ACDB.7030102@redhat.com> <52364E27.3010300@gmx.de> Message-ID: <523713B7.6080607@redhat.com> On 09/16/2013 02:17 AM, Jakob Wisor wrote: > Hello there! > > I have checked and corrected the code's formatting, and followed Jiri's reasonable advice. > > Jiri Vanek wrote: >> On 07/31/2013 01:47 AM, Jacob Wisor wrote: >>> Hello, >>> >>> * Added closing of cache viewer by ESC key >>> * Added proper dis-/enabling of cache viewer's buttons >>> * Added busy mouse cursor indicator when populating the cache viewer >>> >>> Everything is done on purpose on the AWT thread as before. Although I am personally not in favor >>> of anonymous classes, I have tried to stick to the prevalent coding style. >>> >>> Unfortunately, I was unable to test the cache viewer's behavior because I do not know how to put >>> synthetic cache entries into the cache. Can anyone help me with that? What does a the cache look >>> like when filled with resources? Is there any index file that keeps track of the cache? As this is gui change only, it shouldbe ok without test. However cache is set of jars and jnlp files saved in url-like-filestrucutre eg http:\\my.domain\myApp.jnlp with myJAr in "." codebase will be saved like cache/http/my/domain/myApp.jnlp cache/http/my/domain/myJar.jnlp and yes, there is index file in tom cache directory I have some memorry that there are already tests for it - most simple case how to import jar into cache is to lunch javaws ;) >>> ...,snip... >> Those should be in finally block >>> + parent.getContentPane().setCursor(Cursor.getDefaultCursor()); > > Done. Please check whether I have done it correctly or the way you have meant. > >>> } Thank you. >>> /** >>> @@ -305,4 +363,4 @@ >>> defaultFocusComponent.requestFocusInWindow(); >>> } >>> } >>> -} >>> +} >>> \ No newline at end of file >>> diff --git a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>> b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>> --- a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>> +++ b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>> @@ -22,7 +22,10 @@ >>> import java.awt.Frame; >>> import java.awt.GridBagConstraints; >>> import java.awt.GridBagLayout; >>> +import java.awt.KeyEventDispatcher; >>> +import java.awt.KeyboardFocusManager; >>> import java.awt.Toolkit; >>> +import java.awt.event.KeyEvent; >>> import java.awt.event.WindowAdapter; >>> import java.awt.event.WindowEvent; >>> @@ -53,8 +56,9 @@ >>> */ >>> public CacheViewer(DeploymentConfiguration config) { >>> super((Frame) null, dialogTitle, true); // Don't need a parent. >>> + if ((this.config = config) == null) >>> + throw new IllegalArgumentException("config: " + config); >>> setIconImages(ImageResources.INSTANCE.getApplicationImages()); Please for head - split this to onemore line + this.config = config; + if (this.config == null) + throw new IllegalArgumentException("config: " + config); for possible backport as as you mentioned) please dont add this change of exception. 1.4 expect NPE later or some error. >>> - this.config >>> + }); >>> + >>> initialized = true; >>> } >>> @@ -116,4 +145,4 @@ >>> private void centerDialog() { >>> ScreenFinder.centerWindowsToCurrentScreen(this); >>> } >>> -} >>> +} >>> \ No newline at end of file >> >> Please mention both Cache viewer cleanup and CerViewr viewer cleanup in news. > > Will do but they are separate patches. > > Happy reviewing! For _this_ patch, the NEWS line should be attached explicitly. For CerViewr the separate patch is ok. No more review needed. With above fixed, ok to head (and 1.4 if wonted) J. From aazores at redhat.com Mon Sep 16 08:09:40 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Sep 2013 11:09:40 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <5237102D.4070207@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> Message-ID: <52371F34.9050207@redhat.com> On 09/16/2013 10:05 AM, Jiri Vanek wrote: > (snip) > > I think you can post another verison (maybe final...) of patch > > Attached. It's the same as last time but with some comments added. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: fix2.patch Type: text/x-patch Size: 12225 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/740478e9/fix2.patch From jvanek at redhat.com Mon Sep 16 08:17:37 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 17:17:37 +0200 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52371F34.9050207@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> Message-ID: <52372111.8030200@redhat.com> On 09/16/2013 05:09 PM, Andrew Azores wrote: > On 09/16/2013 10:05 AM, Jiri Vanek wrote: >> (snip) >> >> I think you can post another verison (maybe final...) of patch >> >> > > Attached. It's the same as last time but with some comments added. > > Thanks, > Ugh. I would say even more javadoc needed. You should include similar statements in javadoc which you are suing to persuade Omair and Me that your synchronisation is correct. The only reason for this is that sometime in future one may accidentaly revoke your patch in favour of more simple (as before) synchronisation. And so easily return back to RH976833 Sorry for troubeling J. From jvanek at redhat.com Mon Sep 16 08:37:42 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Sep 2013 17:37:42 +0200 Subject: [rfc][icedtea-web] makeing basic logger work at least a bit Message-ID: <523725C6.7020005@redhat.com> Well the current logger is even more broken then I thought. It is not working at all:) The reason is that deployment configuration it is using is not ready in static time. The best fix for this would be to make jnlpruntime.config better singleton then it is (several initialisations via load/load(boolean) - but it appeared to be tricky. So I'm creating one redundant copy only for initialisation of logger, and then dropping it. Well there is hidden one more change (/me knocking myself to head for double patch again) The xml logger is imho completely redundant thing for puposes of itw. - itw is not 24/7 hyper multi thread application - the output contains also soutt/err messages (hard to read among all the tags!) - every run of itw had its separate file - c-part is not (yet?) using thsi file - should, And if will ,then xml will be even harder bourden. I'm quite affraid of reactions after log flame-war, but I couldn't resist :) The log(ItwLogger.getHeader(ItwLogger.StdStream.OUT)); is just idea not necessary for this patch itself. Sorry for making noise with all the logging J. -------------- next part -------------- A non-text attachment was scrubbed... Name: makeCustomLoggingWorkAnusefull.patch Type: text/x-patch Size: 3690 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/36f9505d/makeCustomLoggingWorkAnusefull.patch From omajid at redhat.com Mon Sep 16 08:39:38 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Sep 2013 11:39:38 -0400 Subject: [icedtea-web] RFC: use Arrays.asList instead of custom implementation In-Reply-To: <52370756.6050300@redhat.com> References: <5233815E.1040509@redhat.com> <52370756.6050300@redhat.com> Message-ID: <5237263A.5060305@redhat.com> Hi Andrew, On 09/16/2013 09:27 AM, Andrew Azores wrote: > On 09/13/2013 05:19 PM, Omair Majid wrote: >> There's a couple of places in icedtea-web where we are using a custom >> method to do what's already being done by Arrays.asList. Lets remove >> this 'duplicate' code. > > Looks good to me. Not sure how I feel about the "import static" for the > UnsignedAppletTrustConfirmationTest, but no big deal. Do you see a (potential) issue? Or do you (only) have a stylistic concern? There was already a static import, so I added another. Fixed in updated patch. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: arrays-as-list-02.patch Type: text/x-patch Size: 4425 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/2399b47e/arrays-as-list-02.patch From aazores at redhat.com Mon Sep 16 08:53:35 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Sep 2013 11:53:35 -0400 Subject: [icedtea-web] RFC: use Arrays.asList instead of custom implementation In-Reply-To: <5237263A.5060305@redhat.com> References: <5233815E.1040509@redhat.com> <52370756.6050300@redhat.com> <5237263A.5060305@redhat.com> Message-ID: <5237297F.1000408@redhat.com> On 09/16/2013 11:39 AM, Omair Majid wrote: > Hi Andrew, > > On 09/16/2013 09:27 AM, Andrew Azores wrote: >> On 09/13/2013 05:19 PM, Omair Majid wrote: >>> There's a couple of places in icedtea-web where we are using a custom >>> method to do what's already being done by Arrays.asList. Lets remove >>> this 'duplicate' code. >> Looks good to me. Not sure how I feel about the "import static" for the >> UnsignedAppletTrustConfirmationTest, but no big deal. > Do you see a (potential) issue? Or do you (only) have a stylistic > concern? There was already a static import, so I added another. > > Fixed in updated patch. > > Thanks, > Omair > Just a stylistic concern :) I don't mind static imports for things like Assert.assertTrue, because it's already a bit of a redundant looking call. For things like Arrays.asList or Collections.synchronizedList I think keeping the name of the class the static method comes from just makes it a bit clearer to see what's happening, especially when the definition of the array and the method call are far enough apart that it might not be immediately obvious that the array is in fact an array. Also one minor point I just thought of. Arrays.asList() returns an object that implements the List interface, but the List it returns is actually defined as being fixed-size, ie the "add/remove" optional operations for Lists are not actually implemented (beyond throwing an UnsupportedOperationException at least). The methods you've replaced return an ArrayList in particular, which does implement "add/remove." It doesn't look like these operations are needed anywhere affected by this change but it's something to double check I suppose. Thanks, -- Andrew A From omajid at redhat.com Mon Sep 16 08:54:23 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Sep 2013 11:54:23 -0400 Subject: [rfc][icedtea-web] net.sourceforge.jnlp.ResourcesTest fix In-Reply-To: <5237127F.7030605@redhat.com> References: <52335D76.60806@redhat.com> <52336ED8.3070602@redhat.com> <5237127F.7030605@redhat.com> Message-ID: <523729AF.2050001@redhat.com> On 09/16/2013 10:15 AM, Andrew Azores wrote: > On 09/13/2013 04:00 PM, Omair Majid wrote: >> On 09/13/2013 02:46 PM, Andrew Azores wrote: >>> Renamed some variables and removed an assertion that the user plugin >>> directory (~/.mozilla/plugins) must exist, as it may not >> Thanks for doing the cleanup. The code is so much more readable now! >> >> If your IDE has refactoring support, please use that instead of renaming >> things manually. > > nnoremap gr gd[{V%:s////gc > > Now it has refactoring support ;) Not really; proper refactoring support is based on parsing the code. What you posted above won't work, for example, in the case of a protected variable used by subclasses. Approximate 'refactoring' is often very dangerous (especially in dynamically typed languages). This is one of the reasons the first step of refactoring is generally writing tests [1]. Patch itself looks okay to me. Cheers, Omair [1] http://c2.com/cgi/wiki?TheFirstRefactoringStep -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at icedtea.classpath.org Mon Sep 16 09:37:24 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Mon, 16 Sep 2013 16:37:24 +0000 Subject: /hg/icedtea-web: Use Arrays.asList instead of custom implementation Message-ID: changeset f544f5b40bb7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f544f5b40bb7 author: Omair Majid date: Mon Sep 16 12:35:20 2013 -0400 Use Arrays.asList instead of custom implementation 2013-09-16 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java (toList): Remove. (checkForMainFileLeakTest): Use Arrays.asList. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java (toList): Remove. (testToRelativePaths): Use Arrays.asList. diffstat: ChangeLog | 9 +++ tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java | 11 +--- tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java | 27 +++------ 3 files changed, 21 insertions(+), 26 deletions(-) diffs (102 lines): diff -r 838dea89725a -r f544f5b40bb7 ChangeLog --- a/ChangeLog Mon Sep 16 10:39:33 2013 +0200 +++ b/ChangeLog Mon Sep 16 12:35:20 2013 -0400 @@ -1,3 +1,12 @@ +2013-09-16 Omair Majid + + * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java + (toList): Remove. + (checkForMainFileLeakTest): Use Arrays.asList. + * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java + (toList): Remove. + (testToRelativePaths): Use Arrays.asList. + 2013-09-16 Jiri Vanek * Makefile.am: returned modified (EXTRA_DIST) variable. It is enriched for diff -r 838dea89725a -r f544f5b40bb7 tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java Mon Sep 16 10:39:33 2013 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java Mon Sep 16 12:35:20 2013 -0400 @@ -43,6 +43,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.jar.Attributes; import java.util.jar.Manifest; @@ -131,14 +132,6 @@ } } - static private List toList(T ... parts) { - List list = new ArrayList(); - for (T part : parts) { - list.add(part); - } - return list; - } - /* Note: Although it does a basic check, this mainly checks for file-descriptor leak */ @Test public void checkForMainFileLeakTest() throws Exception { @@ -152,7 +145,7 @@ @Override public void run() { try { - classLoader.checkForMain(toList(jnlpFile.jarDesc)); + classLoader.checkForMain(Arrays.asList(jnlpFile.jarDesc)); } catch (LaunchException e) { fail(e.toString()); } diff -r 838dea89725a -r f544f5b40bb7 tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java Mon Sep 16 10:39:33 2013 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java Mon Sep 16 12:35:20 2013 -0400 @@ -4,36 +4,29 @@ import java.net.URL; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.junit.Test; public class UnsignedAppletTrustConfirmationTest { - private List toList(String ... parts) { - List list = new ArrayList(); - for (String part : parts) { - list.add(part); - } - return list; - } - @Test public void testToRelativePaths() throws Exception { /* Absolute -> Relative */ - assertEquals(toList("test.jar"), - UnsignedAppletTrustConfirmation.toRelativePaths(toList("http://example.com/test.jar"), "http://example.com/")); + assertEquals(Arrays.asList("test.jar"), + UnsignedAppletTrustConfirmation.toRelativePaths(Arrays.asList("http://example.com/test.jar"), "http://example.com/")); /* Relative is unchanged */ - assertEquals(toList("test.jar"), - UnsignedAppletTrustConfirmation.toRelativePaths(toList("test.jar"), "http://example.com/")); + assertEquals(Arrays.asList("test.jar"), + UnsignedAppletTrustConfirmation.toRelativePaths(Arrays.asList("test.jar"), "http://example.com/")); /* Different root URL is unchanged */ - assertEquals(toList("http://example2.com/test.jar"), - UnsignedAppletTrustConfirmation.toRelativePaths(toList("http://example2.com/test.jar"), "http://example.com/")); + assertEquals(Arrays.asList("http://example2.com/test.jar"), + UnsignedAppletTrustConfirmation.toRelativePaths(Arrays.asList("http://example2.com/test.jar"), "http://example.com/")); /* Path with invalid URL characters is handled */ - assertEquals(toList("test .jar"), - UnsignedAppletTrustConfirmation.toRelativePaths(toList("http://example.com/test .jar"), "http://example.com/")); + assertEquals(Arrays.asList("test .jar"), + UnsignedAppletTrustConfirmation.toRelativePaths(Arrays.asList("http://example.com/test .jar"), "http://example.com/")); } -} \ No newline at end of file +} From omajid at redhat.com Mon Sep 16 09:40:12 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Sep 2013 12:40:12 -0400 Subject: [icedtea-web] RFC: use Arrays.asList instead of custom implementation In-Reply-To: <5237297F.1000408@redhat.com> References: <5233815E.1040509@redhat.com> <52370756.6050300@redhat.com> <5237263A.5060305@redhat.com> <5237297F.1000408@redhat.com> Message-ID: <5237346C.9020606@redhat.com> On 09/16/2013 11:53 AM, Andrew Azores wrote: > On 09/16/2013 11:39 AM, Omair Majid wrote: >> Hi Andrew, >> >> On 09/16/2013 09:27 AM, Andrew Azores wrote: >>> On 09/13/2013 05:19 PM, Omair Majid wrote: >>>> There's a couple of places in icedtea-web where we are using a custom >>>> method to do what's already being done by Arrays.asList. Lets remove >>>> this 'duplicate' code. >>> Looks good to me. Not sure how I feel about the "import static" for the >>> UnsignedAppletTrustConfirmationTest, but no big deal. >> Do you see a (potential) issue? Or do you (only) have a stylistic >> concern? There was already a static import, so I added another. >> > > Just a stylistic concern :) I don't mind static imports for things like > Assert.assertTrue, because it's already a bit of a redundant looking > call. For things like Arrays.asList or Collections.synchronizedList I > think keeping the name of the class the static method comes from just > makes it a bit clearer to see what's happening, especially when the > definition of the array and the method call are far enough apart that it > might not be immediately obvious that the array is in fact an array. Sure, but this sort of problem only happens if you are using a Java-unaware editor. Time to get a better editor? :) > The methods you've replaced > return an ArrayList in particular, which does implement "add/remove." It > doesn't look like these operations are needed anywhere affected by this > change but it's something to double check I suppose. I ran the unit tests and they still pass. Also, it would be pretty bad design if an input argument was modified unexpectedly. I have pushed the patch: http://icedtea.classpath.org/hg/icedtea-web/rev/f544f5b40bb7 Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Mon Sep 16 10:31:49 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Sep 2013 13:31:49 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52372111.8030200@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> <52372111.8030200@redhat.com> Message-ID: <52374085.5080901@redhat.com> On 09/16/2013 11:17 AM, Jiri Vanek wrote: > On 09/16/2013 05:09 PM, Andrew Azores wrote: >> On 09/16/2013 10:05 AM, Jiri Vanek wrote: >>> (snip) >>> >>> I think you can post another verison (maybe final...) of patch >>> >>> >> >> Attached. It's the same as last time but with some comments added. >> >> Thanks, >> > > > Ugh. I would say even more javadoc needed. You should include similar > statements in javadoc which you are suing to persuade Omair and Me > that your synchronisation is correct. > > The only reason for this is that sometime in future one may > accidentaly revoke your patch in favour of more simple (as before) > synchronisation. And so easily return back to RH976833 > > Sorry for troubeling > J. Is this enough? Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: fix2.patch Type: text/x-patch Size: 15409 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/38943ebf/fix2.patch From omajid at redhat.com Mon Sep 16 10:37:31 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Sep 2013 13:37:31 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <52370F60.4060908@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> Message-ID: <523741DB.30309@redhat.com> On 09/16/2013 10:02 AM, Jiri Vanek wrote: > Yes it is interesting. From this point of view (and as Jacob picked up > easily fake-able) both >>> + public final static String USER_CONFIG_HOME; >>> public final static String USER_CACHE_HOME; > and also all other for-testing-package-private should become private and > in tests used via reflection only... > > Any opinion? Please read this carefully: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html#jvms-5.4.4 In the normal netx runtime, Defaults will be loaded by the standard java classloader (sun.misc.Launcher.AppClassLoader) but the jnlp/applet will be loaded by net.sourceforge.jnlp.runtime.JNLPClassLoader. Even if an applet claims it was the net.source.jnlp.* package, the runtime packages are different. A package-private Defaults.USER_CONFIG_HOME will not be visible to an applet. That said, I wont mind if reproducers (not unit tests) did not poke into implementation classes at all, and relied on external interfaces. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Mon Sep 16 11:00:51 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Sep 2013 14:00:51 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52374085.5080901@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> <52372111.8030200@redhat.com> <52374085.5080901@redhat.com> Message-ID: <52374753.1070903@redhat.com> On 09/16/2013 01:31 PM, Andrew Azores wrote: > + * [...] Locking on the JNLPClassLoader instance when this method is called > + * can result in deadlock if another thread is dealing with the CodeBaseClassLoader > + * at the same time. > + * See bug report RH976833. On some systems the bug will manifest itself as deadlock on > + * every webpage with more than one Java applet, potentially also causing the browser > + * process to hang. > + * More information in the mailing list archives: > + * http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-September/024536.html This would be better 'documented' as a unit test that exercises JNLPClassLoader. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Mon Sep 16 13:07:22 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 16 Sep 2013 20:07:22 +0000 Subject: [Bug 1108] jnlp files encoded in not-utf8 encoding with special characters are not loaded In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1108 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130916/a88947f0/attachment.html From aazores at icedtea.classpath.org Mon Sep 16 13:19:08 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Mon, 16 Sep 2013 20:19:08 +0000 Subject: /hg/icedtea-web: Fix ResourcesTest to not assert the existence o... Message-ID: changeset 075e3da46eda in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=075e3da46eda author: Andrew Azores date: Mon Sep 16 16:18:52 2013 -0400 Fix ResourcesTest to not assert the existence of ~/.mozilla/plugins/ directory diffstat: ChangeLog | 8 + tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java | 80 ++++------ 2 files changed, 40 insertions(+), 48 deletions(-) diffs (179 lines): diff -r f544f5b40bb7 -r 075e3da46eda ChangeLog --- a/ChangeLog Mon Sep 16 12:35:20 2013 -0400 +++ b/ChangeLog Mon Sep 16 16:18:52 2013 -0400 @@ -1,3 +1,11 @@ +2013-09-16 Andrew Azores + + Fix ResourcesTest reproducer. + * tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java: + fixed formatting, removed commented lines. + (testBrowser): assertion that ~/.mozilla/plugins directory exists removed. + Renamed (userPluginDir, defaultPluginDir, userPlugins, defaultPlugins) + 2013-09-16 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java diff -r f544f5b40bb7 -r 075e3da46eda tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java --- a/tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java Mon Sep 16 12:35:20 2013 -0400 +++ b/tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java Mon Sep 16 16:18:52 2013 -0400 @@ -120,8 +120,6 @@ @TestInBrowsers(testIn = Browsers.all) public void testBrowser3() throws Exception { testBrowser(server.getCurrentBrowser()); - - } @Test @@ -215,10 +213,6 @@ bf = new BrowserFactory(s); expected = 2; Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); - - - - } @Test @@ -274,13 +268,11 @@ @Override public void charReaded(char ch) { - //ServerAccess.logOutputReprint("OO recieved char: "+ch); o1.append(ch); } @Override public void lineReaded(String s) { - //ServerAccess.logOutputReprint("OO recieved line: "+s); o2.append(s).append("\n"); } }; @@ -288,30 +280,23 @@ @Override public void charReaded(char ch) { - //ServerAccess.logOutputReprint("EE recieved char: "+ch); e1.append(ch); } @Override public void lineReaded(String s) { - //ServerAccess.logOutputReprint("EE recieved line: "+s); e2.append(s).append("\n"); } }; ServerAccess.ProcessResult pr = server.executeBrowser("not_existing_url.html",lo,le); - server.setCurrentBrowser(BrowserFactory.getFactory().getFirst().getID()); - Assert.assertNotNull(server.getCurrentBrowsers()); - Assert.assertNotNull(server.getCurrentBrowser()); -// ServerAccess.logOutputReprint("total o"); -// ServerAccess.logOutputReprint(pr.stdout); -// ServerAccess.logOutputReprint("total e"); -// ServerAccess.logOutputReprint(pr.stderr); + server.setCurrentBrowser(BrowserFactory.getFactory().getFirst().getID()); + Assert.assertNotNull(server.getCurrentBrowsers()); + Assert.assertNotNull(server.getCurrentBrowser()); Assert.assertEquals(pr.stdout, o1.toString()); Assert.assertEquals(pr.stderr, e1.toString()); //the last \n is mandatory as las tline is flushed also when proces dies Assert.assertEquals(pr.stdout.replace("\n", ""), o2.toString().replace("\n", "")); Assert.assertEquals(pr.stderr.replace("\n", ""), e2.toString().replace("\n", "")); - } private void testFullFactory(BrowserFactory bf) { @@ -324,36 +309,35 @@ } private void testBrowser(Browser browser) throws IOException { - File f1 = null; + File defaultPluginDir = null; if (browser.getDefaultPluginExpectedLocation() != null) { - f1 = new File(browser.getDefaultPluginExpectedLocation()); + defaultPluginDir = new File(browser.getDefaultPluginExpectedLocation()); } - File f2 = null; - if (browser.getUserDefaultPluginExpectedLocation() != null) { - f2 = new File(browser.getUserDefaultPluginExpectedLocation()); - } - if (f1 != null) { - Assert.assertTrue("browser's plugins location should exist " + f1.toString() + " for " + browser.getID().toString(), f1.exists()); - } - if (f2 != null) { - Assert.assertTrue("browser's users-plugins location should exist " + f2.toString() + " for " + browser.getID().toString(), f2.exists()); + if (defaultPluginDir != null) { + Assert.assertTrue("browser's plugins location should exist " + defaultPluginDir.toString() + " for " + browser.getID().toString(), defaultPluginDir.exists()); } - File[] ff1 = new File[0]; - if (f1 != null) { - ff1 = f1.listFiles(); + File userPluginDir = null; + if (browser.getUserDefaultPluginExpectedLocation() != null) { + userPluginDir = new File(browser.getUserDefaultPluginExpectedLocation()); + } + // userPluginDir (~/.mozilla/plugins/) may not exist if user has not installed any Firefox plugins. + + File[] defaultPlugins = new File[0]; + if (defaultPluginDir != null && defaultPluginDir.isDirectory()) { + defaultPlugins = defaultPluginDir.listFiles(); } - File[] ff2 = new File[0]; - if (f2 != null) { - ff2 = f2.listFiles(); + File[] userPlugins = new File[0]; + if (userPluginDir != null && userPluginDir.isDirectory()) { + userPlugins = userPluginDir.listFiles(); } - Assert.assertTrue("at least one of browser's plugins directory should contains at least one file didn't. For " + browser.getID().toString(), ff1.length + ff2.length > 0); + Assert.assertTrue("at least one of browser's plugins directory should contains at least one file didn't. For " + browser.getID().toString(), defaultPlugins.length + userPlugins.length > 0); - ff1 = new File[0]; - if (f1 != null) { - ff1 = f1.listFiles(new FileFilter() { + defaultPlugins = new File[0]; + if (defaultPluginDir != null && defaultPluginDir.isDirectory()) { + defaultPlugins = defaultPluginDir.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { @@ -362,9 +346,9 @@ }); } - ff2 = new File[0]; - if (f2 != null) { - ff2 = f2.listFiles(new FileFilter() { + userPlugins = new File[0]; + if (userPluginDir != null && userPluginDir.isDirectory()) { + userPlugins = userPluginDir.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { @@ -374,16 +358,16 @@ } Assert.assertTrue("browser's plugins directories should contains exactly one " + LinuxBrowser.DEFAULT_PLUGIN_NAME + ", but didnt for " + browser.getID().toString(), - ff1.length + ff2.length == 1); + defaultPlugins.length + userPlugins.length == 1); String currentPath = server.getJavawsFile().getParentFile().getParentFile().getAbsolutePath(); - File[] ff; - if (ff1.length == 1) { - ff = ff1; + File[] plugins; + if (defaultPlugins.length == 1) { + plugins = defaultPlugins; } else { - ff = ff2; + plugins = userPlugins; } - String s = ServerAccess.getContentOfStream(new FileInputStream(ff[0]), "ASCII"); + String s = ServerAccess.getContentOfStream(new FileInputStream(plugins[0]), "ASCII"); Assert.assertTrue("browser's plugins shoud points to" + currentPath + ", but didnt", s.contains(s)); } From gitne at gmx.de Mon Sep 16 17:26:32 2013 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 17 Sep 2013 02:26:32 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <523741DB.30309@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> Message-ID: <5237A1B8.7050908@gmx.de> Hello, Omair Majid wrote: > On 09/16/2013 10:02 AM, Jiri Vanek wrote: >> Yes it is interesting. From this point of view (and as Jacob picked up >> easily fake-able) both >>>> + public final static String USER_CONFIG_HOME; >>>> public final static String USER_CACHE_HOME; >> and also all other for-testing-package-private should become private and >> in tests used via reflection only... >> >> Any opinion? > > Please read this carefully: > http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html#jvms-5.4.4 > > In the normal netx runtime, Defaults will be loaded by the standard java > classloader (sun.misc.Launcher.AppClassLoader) but the jnlp/applet will > be loaded by net.sourceforge.jnlp.runtime.JNLPClassLoader. Even if an > applet claims it was the net.source.jnlp.* package, the runtime packages > are different. A package-private Defaults.USER_CONFIG_HOME will not be > visible to an applet. Hmm, after studying the Java language specification, the Java virtual machine specification, the ClassLoader's reference documentation, and JNLPClassLoader's source code for an evening I am not completely convinced that JNLPClassLoader's current implementation is free of a potential security hole in this case. Just to be clear, my impression is based on reading and academic review only. I did not write any test to exploit this potential security hole which could prove either way. As I see it, JNLPClassLoader.loadClass(String) blindly attempts to load any given class name and does not prevent loading classes from net.sourceforge.jnlp.*. Although e.g. net.sourceforge.jnlp.config.Defaults probably won't be found by the JNLPClassLoader it will be found by its parent class loader (ClassLoader.getSystemClassLoader()) simply because this is what JNLPClassLoader's code tries to do first. > public class JNLPClassLoader extends URLClassLoader { > public synchronized Class loadClass(String name) throws ClassNotFoundException { > [?] > // filter out 'bad' package names like java, javax > // validPackage(name); This suggests that there had been an attempt or had been thought about filtering out classes in /restricted/ packages, but this does not seem to be in effect anymore or not yet. So, at least loading arbitrary IcedTea-Web classes by client applets seems possible. Of course, this does not necessarily mean that these classes may be initialized or fields of currently loaded and instantiated classes by parent class loaders (or the system class loader) are accessible per se. But, I do assume this because different class loaders always return the same Class for a name N as well as resolutions of references to instances of classes and fields always result in the same entity. Hence has a class been loaded and its static fields initialized already an access attempt (for a given name N) is always resolved to exactly the same field (JVM Spec ?5.4.3). Furthermore, I also did not find any text in the specifications nor the reference documentation that would support the claim that class loaders define separate class or namespace domains. All it says is that "Every Class object contains a reference to the ClassLoader that defined it." (ClassLoader reference) and "At run time, a class or interface is determined not by its name alone, but by a pair: its binary name (?4.2.1) and its defining class loader. Each such class or interface belongs to a single run-time package. The run-time package of a class or interface is determined by the package name and defining class loader of the class or interface." (JVM Spec ?5.3). I may be wrong but this does not read to me as if class loaders were defining separate class or namespace domains. There does indeed exist a hard requirement for JVMs to satisfy ClassLoaderL1.loadClass(name) == ClassLoaderL2.loadClass(name) in order to prevent substitution or replacement of classes but there seems to be no restriction on loading and/or accessing instances of classes loaded by different class loaders. As always, I may be proved wrong. Unfortunately, I do not have the time for writing an exploit test for this problem so I have to leave this to somebody else, open to debate, or as is. Thank you for reading! Jacob From jvanek at redhat.com Tue Sep 17 01:19:32 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Sep 2013 10:19:32 +0200 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52374085.5080901@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> <52372111.8030200@redhat.com> <52374085.5080901@redhat.com> Message-ID: <52381094.10300@redhat.com> On 09/16/2013 07:31 PM, Andrew Azores wrote: > On 09/16/2013 11:17 AM, Jiri Vanek wrote: >> On 09/16/2013 05:09 PM, Andrew Azores wrote: >>> On 09/16/2013 10:05 AM, Jiri Vanek wrote: >>>> (snip) >>>> >>>> I think you can post another verison (maybe final...) of patch >>>> >>>> >>> >>> Attached. It's the same as last time but with some comments added. >>> >>> Thanks, >>> >> >> >> Ugh. I would say even more javadoc needed. You should include similar statements in javadoc which you are suing to persuade Omair and Me that your synchronisation is correct. >> >> The only reason for this is that sometime in future one may accidentaly revoke your patch in favour of more simple (as before) synchronisation. And so easily return back to RH976833 >> >> Sorry for troubeling >> J. > > Is this enough? > > Thanks, > I'm happy with it as it is. Please confirm push with Omair. J. From jvanek at redhat.com Tue Sep 17 01:33:39 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Sep 2013 10:33:39 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <5237A1B8.7050908@gmx.de> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> Message-ID: <523813E3.9060906@redhat.com> On 09/17/2013 02:26 AM, Jacob Wisor wrote: > Hello, > > Omair Majid wrote: >> On 09/16/2013 10:02 AM, Jiri Vanek wrote: >>> Yes it is interesting. From this point of view (and as Jacob picked up >>> easily fake-able) both >>>>> + public final static String USER_CONFIG_HOME; >>>>> public final static String USER_CACHE_HOME; >>> and also all other for-testing-package-private should become private and >>> in tests used via reflection only... >>> >>> Any opinion? >> >> Please read this carefully: >> http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html#jvms-5.4.4 >> >> In the normal netx runtime, Defaults will be loaded by the standard java >> classloader (sun.misc.Launcher.AppClassLoader) but the jnlp/applet will >> be loaded by net.sourceforge.jnlp.runtime.JNLPClassLoader. Even if an >> applet claims it was the net.source.jnlp.* package, the runtime packages >> are different. A package-private Defaults.USER_CONFIG_HOME will not be >> visible to an applet. > > Hmm, after studying the Java language specification, the Java virtual machine specification, the ClassLoader's reference documentation, and JNLPClassLoader's source code for an evening I am not completely convinced that JNLPClassLoader's current implementation is free of a potential security hole in this case. Just to be clear, my impression is based on reading and academic review only. I did not write any test to exploit this potential security hole which could prove either way. > > As I see it, JNLPClassLoader.loadClass(String) blindly attempts to load any given class name and does not prevent loading classes from net.sourceforge.jnlp.*. Although e.g. net.sourceforge.jnlp.config.Defaults probably won't be found by the JNLPClassLoader it will be found by its parent class loader (ClassLoader.getSystemClassLoader()) simply because this is what JNLPClassLoader's code tries to do first. > > > public class JNLPClassLoader extends URLClassLoader { > > public synchronized Class loadClass(String name) throws ClassNotFoundException { > > [?] > > // filter out 'bad' package names like java, javax > > // validPackage(name); > > This suggests that there had been an attempt or had been thought about filtering out classes in /restricted/ packages, but this does not seem to be in effect anymore or not yet. So, at least loading arbitrary IcedTea-Web classes by client applets seems possible. Of course, this does not necessarily mean that these classes may be initialized or fields of currently loaded and instantiated classes by parent class loaders (or the system class loader) are accessible per se. But, I do assume this because different class loaders always return the same Class for a name N as well as resolutions of references to instances of classes and fields always result in the same entity. Hence has a class been loaded and its static > fields initialized already an access attempt (for a given name N) is always resolved to exactly the same field (JVM Spec ?5.4.3). > Furthermore, I also did not find any text in the specifications nor the reference documentation that would support the claim that class loaders define separate class or namespace domains. All it says is that "Every Class object contains a reference to the ClassLoader that defined it." (ClassLoader reference) and "At run time, a class or interface is determined not by its name alone, but by a pair: its binary name (?4.2.1) and its defining class loader. Each such class or interface belongs to a single run-time package. The run-time package of a class or interface is determined by the package name and defining class loader of the class or interface." (JVM Spec ?5.3). I may be wrong but this does not read to me as > if class loaders were defining separate class or namespace domains. There does indeed exist a hard requirement for JVMs to satisfy ClassLoaderL1.loadClass(name) == ClassLoaderL2.loadClass(name) in order to prevent substitution or replacement of classes but there seems to be no restriction on loading and/or accessing instances of classes loaded by different class loaders. > > As always, I may be proved wrong. Unfortunately, I do not have the time for writing an exploit test for this problem so I have to leave this to somebody else, open to debate, or as is. > > Thank you for reading! > > Jacob Thank you both for investigations, but we can sleep well: package net.sourceforge.jnlp.config; public class Main { public static void main(String[] args) { System.out.println("XP13" + DeploymentConfiguration.DEPLOYMENT_CONFIG_DIR); System.out.println("XP13" + Defaults.USER_CACHE_HOME); System.out.println("XP13" + Defaults.USER_CONFIG_HOME); } } die with attached exception I know that it is just basic approach (and the reprodcuer in testsuite is doing the same) but at least something :) J. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: log Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/1d34b60c/log.ksh From ptisnovs at icedtea.classpath.org Tue Sep 17 02:28:01 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 17 Sep 2013 09:28:01 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset 12f27742973a in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=12f27742973a author: Pavel Tisnovsky date: Tue Sep 17 11:31:40 2013 +0200 Added new test testNewInstance into the test suite BindingsClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/CompilableClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r 073edb9552f8 -r 12f27742973a ChangeLog --- a/ChangeLog Mon Sep 16 09:40:40 2013 +0200 +++ b/ChangeLog Tue Sep 17 11:31:40 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-17 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test testNewInstance into the test suite + BindingsClassTest. + 2013-09-16 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r 073edb9552f8 -r 12f27742973a src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Mon Sep 16 09:40:40 2013 +0200 +++ b/src/org/RhinoTests/CompilableClassTest.java Tue Sep 17 11:31:40 2013 +0200 @@ -1396,6 +1396,23 @@ } /** + * Test for method javax.script.Compilable.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.compilableClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Compilable */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Tue Sep 17 02:31:28 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 17 Sep 2013 09:31:28 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset ec77c383357b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ec77c383357b author: Pavel Tisnovsky date: Tue Sep 17 11:35:16 2013 +0200 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 7 +- src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 156 insertions(+), 1 deletions(-) diffs (177 lines): diff -r 263eb96c49c3 -r ec77c383357b ChangeLog --- a/ChangeLog Mon Sep 16 09:44:36 2013 +0200 +++ b/ChangeLog Tue Sep 17 11:35:16 2013 +0200 @@ -1,7 +1,12 @@ +2013-09-17 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2013-09-16 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: - Ten new tests added into BitBltUsingBgColor test suite. + Ten new tests added into BitBltBasicTests test suite. 2013-09-13 Pavel Tisnovsky diff -r 263eb96c49c3 -r ec77c383357b src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Sep 16 09:44:36 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Sep 17 11:35:16 2013 +0200 @@ -3752,6 +3752,156 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteGrayBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteGray(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.red); + } + + /** * Entry point to the test suite. * * @param args not used in this case From omajid at redhat.com Tue Sep 17 08:08:57 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 17 Sep 2013 11:08:57 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <5237A1B8.7050908@gmx.de> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> Message-ID: <52387089.7000703@redhat.com> Hi Jacob, I wanted to avoid doing these explanations so I pointed you to the spec. Looks like I did not clarify what I meant, so let me try again :) On 09/16/2013 08:26 PM, Jacob Wisor wrote: > This suggests that there had been an attempt or had been thought about > filtering out classes in /restricted/ packages, but this does not seem > to be in effect anymore or not yet. This is restricted by two things: 1. The existing java.security file shipped with your (open)JDK. This should define a variable called package.access. This variable contains packages that can not be accessed without a permission check. Untrusted code accessing a package (any package) will trigger a permission check - this is done in the JDK and not in icedtea-web. 2. IcedTea-Web adds itself to this list on startup. This takes care of untrusted applications trying to access net.sourceforge.jnlp.*. > Furthermore, I also did not find any text in the specifications nor the > reference documentation that would support the claim that class loaders > define separate class or namespace domains. It doesn't. But please read my mail again because that's not the claim I made. I only mentioned making fields package-private. And the JVM spec does clarify that: """ 5.4.4 Access control: A field or method R is accessible to a class or interface D if and only if any of the following conditions are true: (snip) R is either protected or has default access (that is, neither public nor protected nor private), and is declared by a class in the same run-time package as D. """ Given that our net.sourceforge.jnlp* classes are a in different run-time package than an attacker supplied net.sourceforge.jnlp.* class, making things package-private limits access. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gnu_andrew at member.fsf.org Tue Sep 17 09:49:50 2013 From: gnu_andrew at member.fsf.org (=?UTF-8?B?QW5kw6/Drw==?=) Date: Tue, 17 Sep 2013 17:49:50 +0100 Subject: Upcoming 2.4.2 Release - JamVM 2013-08-28 x86_64 update - improved jdk java lang test results In-Reply-To: <5236D9B5.1090104@zafena.se> References: <5231CB96.1060502@zafena.se> <52332484.5060200@zafena.se> <5236D9B5.1090104@zafena.se> Message-ID: On 16 September 2013 11:13, Xerxes R?nby wrote: > 2013-09-13 16:43, Xerxes R?nby skrev: >> 2013-09-12 16:58, And?? skrev: >>> On 12 September 2013 15:11, Xerxes R?nby wrote: >>>> 2013-09-11 22:25, And?? skrev: >>>>> Some of you may have seen that Oracle have released u40 [0]. I'm >>>>> currently testing 2.4.2, which will bring the 2.4 branch up to date >>>>> with upstream on u40: > ... >>>>> I plan to release this coming Wednesday, the 18th of September, if all >>>>> looks good by then. >>>>> Xerxes is going to look at updating JamVM support on the branch in the meantime. > ... >>>> JamVM test logs, before jamvm update: ia32 & x86_64 >>>> >>>> Test procedure: >>>> apt-get install mercurial >>>> apt-get build-dep openjdk-7 >>>> hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 >>>> cd icedtea7-2.4 >>>> ./autogen.sh >>>> ./configure --enable-jamvm --disable-system-lcms ; make ; make check >>>> >> ... >>>> https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 >>>> https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 >> ... >>> >>> Thanks! I await the improved results from the new version :) >> >> >> Updated logs for JamVM x86_86 using the latest 2013-08-28 revision >> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >> >> Logs: https://gist.github.com/xranby/d8f6c5f16e0f456a0f43 - jamvm 2.4.2pre+r41272f3d7393+ 2013-08-28 x86_64 >> Patch: >> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >> > ... >> >> Improvement seen after the update: >> >> diff -Naur 7c8dceb90880616b7dd670f257961a1f5f371ec3 ac22c9948434e528ece451642b4ebde40953ee7e >> --- 7c8dceb90880616b7dd670f257961a1f5f371ec3 2013-09-13 16:22:43.909428937 +0200 >> +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 >> @@ -11,10 +11,7 @@ >> Error: compiler/6901572/Test.java >> FAILED: compiler/6910618/Test.java >> FAILED: compiler/6942326/Test.java >> -FAILED: compiler/6990212/Test6990212.java >> -FAILED: compiler/7088020/Test7088020.java >> FAILED: compiler/7116216/StackOverflow.java >> -FAILED: compiler/7141637/SpreadNullArg.java >> FAILED: compiler/7190310/Test7190310_unsafe.java >> FAILED: compiler/7192963/TestByteVect.java >> FAILED: compiler/7192963/TestDoubleVect.java >> @@ -72,7 +69,7 @@ >> FAILED: serviceability/7170638/SDTProbesGNULinuxTest.sh >> FAILED: serviceability/attach/AttachWithStalePidFile.java >> FAILED: serviceability/ParserTest.java >> -Test results: passed: 193; failed: 70; error: 3 >> +Test results: passed: 196; failed: 67; error: 3 >> >> Three more hotspot tests passed after the update. > ... >> --------------- jtreg console summary for jdk --------------- > ... >> I have issues running the JDK tests on this x86_64 machine in general. >> The JDK tests abort without completing using both Hotspot and JamVM. > > I have run the JDK jtreg jdk java lang tests manually in order to see the new JamVM JSR 292 improvements after the update. > ./openjdk.build/j2sdk-image/jre/bin/java -jar test/jtreg.jar -v1 -s openjdk/jdk/test/java/lang | tee java-lang.log > > Summary of the diff in jdk java lang test results using jamvm on x86_64, before and after the update: > --- 7c8dceb90880616b7dd670f257961a1f5f371ec3-icedtea-2.4-jamvm-java-lang.log 2013-09-16 11:56:01.539380859 +0200 > +++ ac22c9948434e528ece451642b4ebde40953ee7e-icedtea-2.4-jamvm-2013-08-28-java-lang.log 2013-09-16 11:54:44.426998476 +020 > > -FAILED: java/lang/invoke/6987555/Test6987555.java > -FAILED: java/lang/invoke/6991596/Test6991596.java > -FAILED: java/lang/invoke/6998541/Test6998541.java > -FAILED: java/lang/invoke/7157574/Test7157574.java > +Passed: java/lang/invoke/6987555/Test6987555.java > +Passed: java/lang/invoke/6991596/Test6991596.java > +Passed: java/lang/invoke/6998541/Test6998541.java > +Passed: java/lang/invoke/7157574/Test7157574.java > > -FAILED: java/lang/invoke/CallSiteTest.java > +Error: java/lang/invoke/CallSiteTest.java > > -FAILED: java/lang/invoke/InvokeDynamicPrintArgs.java > +Passed: java/lang/invoke/InvokeDynamicPrintArgs.java > > -FAILED: java/lang/String/Split.java > +Passed: java/lang/String/Split.java > > -FAILED: java/lang/Thread/ThreadStateTest.java > +Passed: java/lang/Thread/ThreadStateTest.java > > -Test results: passed: 260; failed: 96; error: 22 > +Test results: passed: 267; failed: 88; error: 23 > > Thus 7 more tests pass, no regressions seen in jdk java-lang after the update. > The FAILED -> Error test of java/lang/invoke/CallSiteTest is IMHO OK for JamVM since this CallSiteTest tests for an Hotspot specific Indify optimization in order to pass. > I recommend that we push this new 2013-08-28 update to HEAD and merge into icedtea-2.4 before the 2.4.2 release. > > Cheers > Xerxes > So this is newer than what's in HEAD? Ok, then please push to HEAD and I'll merge both changesets over. -- Andii :-) From xranby at icedtea.classpath.org Tue Sep 17 10:41:28 2013 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Tue, 17 Sep 2013 17:41:28 +0000 Subject: /hg/icedtea7: JamVM: Fix issue with recent versions of JEdit; Up... Message-ID: changeset 731375f0ba2e in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=731375f0ba2e author: Xerxes Ranby date: Tue Sep 17 19:44:28 2013 +0200 JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes Ranby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. Removed note about JSR 355 for IcedTea 2. JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 15 +++++++++++++++ Makefile.am | 4 ++-- NEWS | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) diffs (49 lines): diff -r d0908d45075a -r 731375f0ba2e ChangeLog --- a/ChangeLog Fri Aug 30 14:54:54 2013 +0100 +++ b/ChangeLog Tue Sep 17 19:44:28 2013 +0200 @@ -1,3 +1,18 @@ +2013-09-17 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 335: fix frame.c + - Add support for CallerSensitive + - JSR 335: handle interfaces when resolving a method + - sun.misc.Unsafe: additional methods get/putAddress + - JSR 292: make internal functions static + * NEWS: Updated. Removed note about JSR 355 for IcedTea 2. + JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. + (JAMVM_SHA256SUM): Updated. + 2013-08-30 Andrew John Hughes * acinclude.m4: diff -r d0908d45075a -r 731375f0ba2e Makefile.am --- a/Makefile.am Fri Aug 30 14:54:54 2013 +0100 +++ b/Makefile.am Tue Sep 17 19:44:28 2013 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 1a58072f8339270f9372c273d82a00790e04375d -JAMVM_SHA256SUM = b6dafea4924a2772877597b07a59108ac5f95d6ec85fbb0bb2ea80653cdaaaaf +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r d0908d45075a -r 731375f0ba2e NEWS --- a/NEWS Fri Aug 30 14:54:54 2013 +0100 +++ b/NEWS Tue Sep 17 19:44:28 2013 +0200 @@ -16,7 +16,8 @@ * JamVM - JSR 292: Invoke Dynamic - - JSR 335: Lambda Expressions + - sun.misc.Unsafe: additional methods get/putAddress: + allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. - FreeClassData: adjust method count for Miranda methods New in release 2.4.1 (2013-07-05): From xerxes at zafena.se Tue Sep 17 10:51:22 2013 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Tue, 17 Sep 2013 19:51:22 +0200 Subject: Upcoming 2.4.2 Release - JamVM 2013-08-28 x86_64 update - improved jdk java lang test results In-Reply-To: References: <5231CB96.1060502@zafena.se> <52332484.5060200@zafena.se> <5236D9B5.1090104@zafena.se> Message-ID: <5238969A.60808@zafena.se> 2013-09-17 18:49, And?? skrev: > On 16 September 2013 11:13, Xerxes R?nby wrote: >> 2013-09-13 16:43, Xerxes R?nby skrev: >>> 2013-09-12 16:58, And?? skrev: >>>> On 12 September 2013 15:11, Xerxes R?nby wrote: >>>>> 2013-09-11 22:25, And?? skrev: >>>>>> Some of you may have seen that Oracle have released u40 [0]. I'm >>>>>> currently testing 2.4.2, which will bring the 2.4 branch up to date >>>>>> with upstream on u40: >> ... >>>>>> I plan to release this coming Wednesday, the 18th of September, if all >>>>>> looks good by then. >>>>>> Xerxes is going to look at updating JamVM support on the branch in the meantime. >> ... >>>>> JamVM test logs, before jamvm update: ia32 & x86_64 >>>>> >>>>> Test procedure: >>>>> apt-get install mercurial >>>>> apt-get build-dep openjdk-7 >>>>> hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 >>>>> cd icedtea7-2.4 >>>>> ./autogen.sh >>>>> ./configure --enable-jamvm --disable-system-lcms ; make ; make check >>>>> >>> ... >>>>> https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 >>>>> https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 >>> ... >>>> >>>> Thanks! I await the improved results from the new version :) >>> >>> >>> Updated logs for JamVM x86_86 using the latest 2013-08-28 revision >>> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >>> >>> Logs: https://gist.github.com/xranby/d8f6c5f16e0f456a0f43 - jamvm 2.4.2pre+r41272f3d7393+ 2013-08-28 x86_64 >>> Patch: >>> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >>> >> ... >>> >>> Improvement seen after the update: >>> >>> diff -Naur 7c8dceb90880616b7dd670f257961a1f5f371ec3 ac22c9948434e528ece451642b4ebde40953ee7e >>> --- 7c8dceb90880616b7dd670f257961a1f5f371ec3 2013-09-13 16:22:43.909428937 +0200 >>> +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 ... >>> -Test results: passed: 193; failed: 70; error: 3 >>> +Test results: passed: 196; failed: 67; error: 3 >>> >>> Three more hotspot tests passed after the update. >> ... >>> --------------- jtreg console summary for jdk --------------- >> ... >>> I have issues running the JDK tests on this x86_64 machine in general. >>> The JDK tests abort without completing using both Hotspot and JamVM. >> >> I have run the JDK jtreg jdk java lang tests manually in order to see the new JamVM JSR 292 improvements after the update. >> ./openjdk.build/j2sdk-image/jre/bin/java -jar test/jtreg.jar -v1 -s openjdk/jdk/test/java/lang | tee java-lang.log >> >> Summary of the diff in jdk java lang test results using jamvm on x86_64, before and after the update: >> --- 7c8dceb90880616b7dd670f257961a1f5f371ec3-icedtea-2.4-jamvm-java-lang.log 2013-09-16 11:56:01.539380859 +0200 >> +++ ac22c9948434e528ece451642b4ebde40953ee7e-icedtea-2.4-jamvm-2013-08-28-java-lang.log 2013-09-16 11:54:44.426998476 +020 ... >> -Test results: passed: 260; failed: 96; error: 22 >> +Test results: passed: 267; failed: 88; error: 23 >> >> Thus 7 more tests pass, no regressions seen in jdk java-lang after the update. >> The FAILED -> Error test of java/lang/invoke/CallSiteTest is IMHO OK for JamVM since this CallSiteTest tests for an Hotspot specific Indify optimization in order to pass. >> I recommend that we push this new 2013-08-28 update to HEAD and merge into icedtea-2.4 before the 2.4.2 release. >> >> Cheers >> Xerxes >> > > So this is newer than what's in HEAD? > > Ok, then please push to HEAD and I'll merge both changesets over. > Ok, I have pushed the new update to IcedTea 7 HEAD. Please merge the two change-sets into 2.4. http://icedtea.classpath.org/hg/icedtea7/rev/731375f0ba2e - JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes R?nby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. Removed note about JSR 355 for IcedTea 2. JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. One important part of this update is the fixed recent JEdit version support found and fixed by Robert. http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=74ebffd419716c9d2779fc1b9cec14cc51af4820 - sun.misc.Unsafe: additional methods get/putAddress I Removed the erroneous NEWS about JSR 335, it was never enabled for IcedTea 2. It was erroneous added to the icedtea 2 NEWS in the 2013-07-14 revision update. This JamVM commit part of the 2013-07-14 revision update http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=1a58072f8339270f9372c273d82a00790e04375d - JSR 292: enable for OpenJDK 7/IcedTea 2 Clearly show JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. http://icedtea.classpath.org/hg/icedtea7/rev/b5fa79fec364 - JamVM: JSR 335: Lambda Expressions; JSR 292: enable for OpenJDK 7/IcedTea 2; Updated to 2013-07-14 revision. 2013-08-14 Xerxes R?nby Robert Lougher JamVM - JSR 292: enable for OpenJDK 7/IcedTea 2 - JSR 335: invokeinterface check in method resolution - JSR 335: java.lang.invoke.MagicLambdaImpl - JSR 292: invokedynamic is 5 bytes - non-direct interp - JSR 292: invokedynamic is 5 bytes in length - Minor formatting change - Minor fixes: use perror for mmap failure - FreeClassData: fix comment - FreeClassData: adjust method count for Miranda methods - JSR 335: remove GC hack - JSR 335: implement "bridge" methods for Mirandas - JSR 335: handle multiple defaults and conflicts * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-07-14 revision. (JAMVM_SHA256SUM): Updated. Cheers Xerxes From xranby at icedtea.classpath.org Tue Sep 17 11:04:52 2013 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Tue, 17 Sep 2013 18:04:52 +0000 Subject: /hg/icedtea6: JamVM: Fix issue with recent versions of JEdit; Up... Message-ID: changeset 48ba1e242c44 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=48ba1e242c44 author: Xerxes Ranby date: Tue Sep 17 20:08:21 2013 +0200 JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes Ranby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 14 ++++++++++++++ Makefile.am | 4 ++-- NEWS | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diffs (46 lines): diff -r 1f7c8917ad9c -r 48ba1e242c44 ChangeLog --- a/ChangeLog Mon Sep 09 14:28:21 2013 +0100 +++ b/ChangeLog Tue Sep 17 20:08:21 2013 +0200 @@ -1,3 +1,17 @@ +2013-09-17 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 335: fix frame.c + - Add support for CallerSensitive + - JSR 335: handle interfaces when resolving a method + - sun.misc.Unsafe: additional methods get/putAddress + - JSR 292: make internal functions static + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. + (JAMVM_SHA256SUM): Updated. + 2013-09-09 Andrew John Hughes * NEWS: diff -r 1f7c8917ad9c -r 48ba1e242c44 Makefile.am --- a/Makefile.am Mon Sep 09 14:28:21 2013 +0100 +++ b/Makefile.am Tue Sep 17 20:08:21 2013 +0200 @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 1a58072f8339270f9372c273d82a00790e04375d -JAMVM_SHA256SUM = b6dafea4924a2772877597b07a59108ac5f95d6ec85fbb0bb2ea80653cdaaaaf +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r 1f7c8917ad9c -r 48ba1e242c44 NEWS --- a/NEWS Mon Sep 09 14:28:21 2013 +0100 +++ b/NEWS Tue Sep 17 20:08:21 2013 +0200 @@ -50,6 +50,7 @@ * JamVM - JSR 335: Lambda Expressions - JEP 171: Implement fence methods in sun.misc.Unsafe + - sun.misc.Unsafe: additional methods get/putAddress - FreeClassData: adjust method count for Miranda methods - Fix invokesuper check in invokespecial opcode - Fix non-direct interpreter invokespecial super-class check From xranby at icedtea.classpath.org Tue Sep 17 11:12:17 2013 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Tue, 17 Sep 2013 18:12:17 +0000 Subject: /hg/icedtea: JamVM: Fix issue with recent versions of JEdit; Upd... Message-ID: changeset fe76f3068203 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=fe76f3068203 author: Xerxes Ranby date: Tue Sep 17 20:15:54 2013 +0200 JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes Ranby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 14 ++++++++++++++ Makefile.am | 4 ++-- NEWS | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diffs (47 lines): diff -r 8b48635893db -r fe76f3068203 ChangeLog --- a/ChangeLog Wed Aug 14 15:38:27 2013 +0200 +++ b/ChangeLog Tue Sep 17 20:15:54 2013 +0200 @@ -1,3 +1,17 @@ +2013-09-17 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 335: fix frame.c + - Add support for CallerSensitive + - JSR 335: handle interfaces when resolving a method + - sun.misc.Unsafe: additional methods get/putAddress + - JSR 292: make internal functions static + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. + (JAMVM_SHA256SUM): Updated. + 2013-08-14 Xerxes R??nby Robert Lougher diff -r 8b48635893db -r fe76f3068203 Makefile.am --- a/Makefile.am Wed Aug 14 15:38:27 2013 +0200 +++ b/Makefile.am Tue Sep 17 20:15:54 2013 +0200 @@ -26,8 +26,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 1a58072f8339270f9372c273d82a00790e04375d -JAMVM_SHA256SUM = b6dafea4924a2772877597b07a59108ac5f95d6ec85fbb0bb2ea80653cdaaaaf +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r 8b48635893db -r fe76f3068203 NEWS --- a/NEWS Wed Aug 14 15:38:27 2013 +0200 +++ b/NEWS Tue Sep 17 20:15:54 2013 +0200 @@ -18,6 +18,8 @@ - JSR 335: Lambda Expressions - JSR 901: VM support for method parameter reflection - JEP 171: Implement fence methods in sun.misc.Unsafe + - sun.misc.Unsafe: additional methods get/putAddress: + allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. - FreeClassData: adjust method count for Miranda methods - Fix invokesuper check in invokespecial opcode - Fix non-direct interpreter invokespecial super-class check From xerxes at zafena.se Tue Sep 17 11:16:43 2013 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Tue, 17 Sep 2013 20:16:43 +0200 Subject: Upcoming 2.4.2 Release - JamVM 2013-08-28 - IcedTea 1, 2 & 3 HEAD updated and in sync. In-Reply-To: <5238969A.60808@zafena.se> References: <5231CB96.1060502@zafena.se> <52332484.5060200@zafena.se> <5236D9B5.1090104@zafena.se> <5238969A.60808@zafena.se> Message-ID: <52389C8B.9050905@zafena.se> 2013-09-17 19:51, Xerxes R?nby skrev: > 2013-09-17 18:49, And?? skrev: >> On 16 September 2013 11:13, Xerxes R?nby wrote: >>> 2013-09-13 16:43, Xerxes R?nby skrev: >>>> 2013-09-12 16:58, And?? skrev: >>>>> On 12 September 2013 15:11, Xerxes R?nby wrote: >>>>>> 2013-09-11 22:25, And?? skrev: >>>>>>> Some of you may have seen that Oracle have released u40 [0]. I'm >>>>>>> currently testing 2.4.2, which will bring the 2.4 branch up to date >>>>>>> with upstream on u40: >>> ... >>>>>>> I plan to release this coming Wednesday, the 18th of September, if all >>>>>>> looks good by then. >>>>>>> Xerxes is going to look at updating JamVM support on the branch in the meantime. >>> ... >>>>>> JamVM test logs, before jamvm update: ia32 & x86_64 >>>>>> >>>>>> Test procedure: >>>>>> apt-get install mercurial >>>>>> apt-get build-dep openjdk-7 >>>>>> hg clone http://icedtea.classpath.org/hg/release/icedtea7-2.4 >>>>>> cd icedtea7-2.4 >>>>>> ./autogen.sh >>>>>> ./configure --enable-jamvm --disable-system-lcms ; make ; make check >>>>>> >>>> ... >>>>>> https://gist.github.com/xranby/a7fcbcbb08e0b80164fb - jamvm 2.4.2pre+r41272f3d7393 ia32 >>>>>> https://gist.github.com/xranby/87bcbec586aca4ba8c70 - jamvm 2.4.2pre+r41272f3d7393 x86_64 >>>> ... >>>>> >>>>> Thanks! I await the improved results from the new version :) >>>> >>>> >>>> Updated logs for JamVM x86_86 using the latest 2013-08-28 revision >>>> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >>>> >>>> Logs: https://gist.github.com/xranby/d8f6c5f16e0f456a0f43 - jamvm 2.4.2pre+r41272f3d7393+ 2013-08-28 x86_64 >>>> Patch: >>>> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=ac22c9948434e528ece451642b4ebde40953ee7e >>>> >>> ... >>>> >>>> Improvement seen after the update: >>>> >>>> diff -Naur 7c8dceb90880616b7dd670f257961a1f5f371ec3 ac22c9948434e528ece451642b4ebde40953ee7e >>>> --- 7c8dceb90880616b7dd670f257961a1f5f371ec3 2013-09-13 16:22:43.909428937 +0200 >>>> +++ ac22c9948434e528ece451642b4ebde40953ee7e 2013-09-13 16:22:14.889285035 +0200 > ... >>>> -Test results: passed: 193; failed: 70; error: 3 >>>> +Test results: passed: 196; failed: 67; error: 3 >>>> >>>> Three more hotspot tests passed after the update. >>> ... >>>> --------------- jtreg console summary for jdk --------------- >>> ... >>>> I have issues running the JDK tests on this x86_64 machine in general. >>>> The JDK tests abort without completing using both Hotspot and JamVM. >>> >>> I have run the JDK jtreg jdk java lang tests manually in order to see the new JamVM JSR 292 improvements after the update. >>> ./openjdk.build/j2sdk-image/jre/bin/java -jar test/jtreg.jar -v1 -s openjdk/jdk/test/java/lang | tee java-lang.log >>> >>> Summary of the diff in jdk java lang test results using jamvm on x86_64, before and after the update: >>> --- 7c8dceb90880616b7dd670f257961a1f5f371ec3-icedtea-2.4-jamvm-java-lang.log 2013-09-16 11:56:01.539380859 +0200 >>> +++ ac22c9948434e528ece451642b4ebde40953ee7e-icedtea-2.4-jamvm-2013-08-28-java-lang.log 2013-09-16 11:54:44.426998476 +020 > > ... >>> -Test results: passed: 260; failed: 96; error: 22 >>> +Test results: passed: 267; failed: 88; error: 23 >>> >>> Thus 7 more tests pass, no regressions seen in jdk java-lang after the update. >>> The FAILED -> Error test of java/lang/invoke/CallSiteTest is IMHO OK for JamVM since this CallSiteTest tests for an Hotspot specific Indify optimization in order to pass. >>> I recommend that we push this new 2013-08-28 update to HEAD and merge into icedtea-2.4 before the 2.4.2 release. >>> >>> Cheers >>> Xerxes >>> >> >> So this is newer than what's in HEAD? >> >> Ok, then please push to HEAD and I'll merge both changesets over. >> > > Ok, I have pushed the new update to IcedTea 7 HEAD. Please merge the two change-sets into 2.4. > http://icedtea.classpath.org/hg/icedtea7/rev/731375f0ba2e - JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. ... > http://icedtea.classpath.org/hg/icedtea7/rev/b5fa79fec364 - JamVM: JSR 335: Lambda Expressions; JSR 292: enable for OpenJDK 7/IcedTea 2; Updated to 2013-07-14 revision. I have also updated IcedTea 1 and IcedTea 3 to be in sync all three HEAD branches are now using the same JamVM 2013-08-28 revision ac22c9948434e528ece451642b4ebde40953ee7e http://icedtea.classpath.org/hg/icedtea6/rev/48ba1e242c44 http://icedtea.classpath.org/hg/icedtea/rev/fe76f3068203 Cheers Xerxes From bugzilla-daemon at icedtea.classpath.org Tue Sep 17 12:31:08 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Sep 2013 19:31:08 +0000 Subject: [Bug 1563] New: A fatal error has been detected by the Java Runtime Environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1563 Bug ID: 1563 Summary: A fatal error has been detected by the Java Runtime Environment Classification: Unclassified Product: IcedTea Version: 7-1.0 Hardware: x86 OS: Linux Status: NEW Severity: major Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: kcchouette at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 938 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=938&action=edit hs_err_pid774.log It's when I try to launch Eclipse (the IDE) : jeremy at pirate:~$ eclipse -consoleLog I: Injected update sites # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xaf8fa213, pid=31520, tid=3075909312 # # JRE version: 7.0_21-b02 # Java VM: OpenJDK Client VM (23.7-b01 mixed mode, sharing linux-x86 ) # Problematic frame: # C [libsoup-2.4.so.1+0x58213] soup_session_feature_detach+0x23 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /home/jeremy/hs_err_pid31520.log # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Abandon jeremy at pirate:~$ ulimit -c unlimited jeremy at pirate:~$ eclipse -consoleLog # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xaf960213, pid=774, tid=3076003520 # # JRE version: 7.0_21-b02 # Java VM: OpenJDK Client VM (23.7-b01 mixed mode, sharing linux-x86 ) # Problematic frame: # C [libsoup-2.4.so.1+0x58213] soup_session_feature_detach+0x23 # # Core dump written. Default location: /home/jeremy/core or core.774 # # An error report file with more information is saved as: # /home/jeremy/hs_err_pid774.log # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Abandon -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/39fe5de5/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 17 12:32:14 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Sep 2013 19:32:14 +0000 Subject: [Bug 1563] A fatal error has been detected by the Java Runtime Environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1563 --- Comment #1 from kcchouette at gmail.com --- Created attachment 939 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=939&action=edit hs_err_pid31520.log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/be0d7230/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 17 12:45:40 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Sep 2013 19:45:40 +0000 Subject: [Bug 1563] A fatal error has been detected by the Java Runtime Environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1563 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |omajid at redhat.com Resolution|--- |INVALID --- Comment #2 from Omair Majid --- This is a bug in eclipse. Please see this eclipse bug for more details including workarounds and what version of eclipse this is fixed in: https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/e7c31e8b/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 17 12:57:20 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Sep 2013 19:57:20 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #20 from Andrew Azores --- *** This bug has been marked as a duplicate of bug 1465 *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/de9a8777/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Sep 17 12:57:20 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Sep 2013 19:57:20 +0000 Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a JAR file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |steve at slmandr.com --- Comment #13 from Andrew Azores --- *** Bug 1507 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130917/57e002dd/attachment.html From omajid at redhat.com Tue Sep 17 17:03:12 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 17 Sep 2013 20:03:12 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52331D42.5010700@redhat.com> References: <522F7EDF.5070407@redhat.com> <523200F2.4050606@redhat.com> <52331D42.5010700@redhat.com> Message-ID: <5238EDC0.1090900@redhat.com> On 09/13/2013 10:12 AM, Jiri Vanek wrote: > On 09/12/2013 07:59 PM, Omair Majid wrote: >>> + synchronized public static ItwLogger getLogger() { >>> + if (logger == null) { >>> + logger = new ItwLogger(); >>> + } >>> + return logger; >>> + } >> >> An enum is often used to implement a singleton with less synchronization >> overhead. > > In case of enum creation of singleton can not be controlled. I once > burned myself on it, so I get used to this pattern. > > If you insists, I will switch to enum. No. There are pros and cons of each singleton implementation. For the purpose of testing, enum is often the wrong answer. >> >>> + private void logToSystemLogger(StdStream stream, Object o) { >> >> Maybe it would be nicer to simply accept a String or a Throwable here? >> Since logging deals with strings, expecting the caller to make a string >> explicitly sounds okay to me. > > hmhmh... Will add few more declarations. As object.toString should be > perfectly ok, then I'm more for this. It will allow us to log object > instead of messages in time. I am trying to think of a case where logging an object by itself (instead of a larger string containing a string representation of the object too) will be useful, but I can't come up with one. >> Both java.util.logging and syslog define levels (things like DEBUG or >> ERROR or SEVERE) and .NET defines EventLogEntryType with a similar >> purpose. Maybe we should add this to the API? > > Yah. I was thinking about it. And I think it would be worthy. > However the amount the work needed to evaluate each message and decide > to which level it belongs, appeared to me as to much. > > Can you imagine doing it? If so, then I will probably reconsider. Do you really want to log completely informational messages (and ~1000 lines of them) to syslog for each javaws run? If you do, then I think we really need to take a step back and consider the purpose of logging to syslog, because I don't think throwing (by default) lots of (for all intents and purposes) useless messages in there is helping anyone. If you want to filter messages and decide what goes into syslog, then you need a mechanism for doing so. A debug level seems like the obvious solution for this but if you have others, I would like to hear about them too. >> (and > > One of the reason for this is to have it enabled by default. If somebody > is using itw on daily work, and no exception appears, and logging will > become blocker, then he will investiagte how to disable it. >> most of them are from buggy programs). Wouldn't a single javaws run >> double that size? > > Dont forget that itw is not used in application like 24/7 But if I run javaws 2 times a day, I have already tripled the volume of my syslog. If no errors happened, then all this information is useless. I don't know which is worse, lots of useless information or useful information missing. >> Maybe we should think about making these methods more semantic and only >> syslog'ing those errors that are important. > > Which are which??? :(( Even if there's no way to find this out now, I think it's worth working towards this in the long run. >> Or perhaps we should use the logging levels and only syslog >> important-enough messages >> >>> + public void printErrorLn(String e) { >> >>> + public void printOutLn(String e) { >> >>> + public void printBothLn(String e) { >> >>> + public void printError(String e) { >> >>> + public void printOut(String e) { >> >>> + public void printBoth(String e) { >> >> Do these really need to be public? They look like internal helper >> methods. > > Parially. I have used them also in itw to print messages like -abourt > and -help. //see the refactoring patch for them) Please don't. There's no reason why -about has to use the logger for output. In fact, a logger which logs messages is the last place I would except to see formatting methods (like printError vs printErrorLn). > Maybe this change crossed the purpose of this patch. I was under > obsession to have "bottleneck to control all outputs" Now I''m > hesitating here. I think the (slightly) older-and-wiser-you are right. While it's good to have debugging messages go to logger, not everything needs to (or even should) go to the logger. If you really want to have all outputs go to logger, why not have swing widgets output to logger too? > diff -r 6124fd87eaba tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java Wed Sep 11 12:05:44 2013 +0200 > +++ b/tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java Fri Sep 13 15:41:45 2013 +0200 > @@ -132,10 +132,10 @@ > JEditorPaneBasedExceptionDialog d2 = new JEditorPaneBasedExceptionDialog(null, false, ex, ec, null); > JEditorPaneBasedExceptionDialog d3 = new JEditorPaneBasedExceptionDialog(null, false, ex, null, ai); > JEditorPaneBasedExceptionDialog d4 = new JEditorPaneBasedExceptionDialog(null, false, null, ec, ai); > - Assert.assertTrue("message from dialog mus be same as pattern", d1.getMessage().equals(s1)); > - Assert.assertTrue("message from dialog mus be same as pattern", d2.getMessage().equals(s2)); > - Assert.assertTrue("message from dialog mus be same as pattern", d3.getMessage().equals(s3)); > - Assert.assertTrue("message from dialog mus be same as pattern", d4.getMessage().equals(s4)); > + Assert.assertTrue("message from dialog must be same as pattern", d1.getMessage().equals(s1)); > + Assert.assertTrue("message from dialog must be same as pattern", d2.getMessage().equals(s2)); > + Assert.assertTrue("message from dialog must be same as pattern", d3.getMessage().equals(s3)); > + Assert.assertTrue("message from dialog must be same as pattern", d4.getMessage().equals(s4)); > > } Please go ahead and commit this change as a separate patch. It's unrelated to everything else and good enough that it go in right now. > diff -r 6124fd87eaba netx/net/sourceforge/jnlp/util/ItwLogger.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/netx/net/sourceforge/jnlp/util/ItwLogger.java Fri Sep 13 15:41:56 2013 +0200 > + public static enum StdStream { > + > + OUT, ERR, BOTH > + } Stupid question: is there any output from icedtea-web that we want to go do stdout? Everything I can think of is basically an error message and probably should go to stderr. If you think this makes sense, maybe we can reduce the API to two methods: logInformation(String message) logError(String message) (and maybe variants that accept Object or Throwable arguments, or maybe change the methods tolog(Level level, String message)). Giving user-code the option to reprint, select streams and so on is rather unnecessary, IHMO. And based on these two methods, we can select what should go into low-volume output (syslog) and high-volume output (terminal if -verbose is used or a icedtea-web log file), with the option to change policy on what-goes-where later. > + public void log(boolean reprint, StdStream stream, Object o) { > + //log to system > + logToSystemLogger(stream, o); > + //reuse old logger - finally will log something > + //on/off wia itw-settings (enableLogging) > + logToUserFile(stream, o); > + //log to streams if should > + if (reprint || isDebug() || force) { > + logToStreams(stream, o); > + } > + } There's a probably a better object-oriented design possible. Have you thought about making a tiny logger-implementation-interface that syslog, stderr-log and file-log can emulate? We will be able to unit test each logger-implementation in isolation too. This main class can simply compose them. It should be much easier to add additional log-implementations based on, say, whether -verbose is used or not. Have you seen TeeOutputStream? > diff -r 6124fd87eaba netx/net/sourceforge/jnlp/ParseException.java > --- a/netx/net/sourceforge/jnlp/ParseException.java Wed Sep 11 12:05:44 2013 +0200 > +++ b/netx/net/sourceforge/jnlp/ParseException.java Fri Sep 13 15:42:08 2013 +0200 > @@ -30,9 +30,7 @@ > // todo: add meaningful information, such as the invalid > // element, parse position, etc. > > - /** the original exception */ > - private Throwable cause = null; > - > + > /** > * Create a parse exception with the specified message. > */ > @@ -45,44 +43,7 @@ > * cause. > */ > public ParseException(String message, Throwable cause) { > - super(message); > - > - // replace with setCause when no longer 1.3 compatible > - this.cause = cause; > - } > - > - /** > - * Return the cause of the launch exception or null if there > - * is no cause exception. > - */ > - public Throwable getCause() { > - return cause; > - } > - > - /** > - * Print the stack trace and the cause exception (1.3 > - * compatible) > - */ > - public void printStackTrace(PrintStream stream) { > - super.printStackTrace(stream); > - > - if (cause != null) { > - stream.println("Caused by: "); > - cause.printStackTrace(stream); > - } > - } > - > - /** > - * Print the stack trace and the cause exception (1.3 > - * compatible) > - */ > - public void printStackTrace(PrintWriter stream) { > - super.printStackTrace(stream); > - > - if (cause != null) { > - stream.println("Caused by: "); > - cause.printStackTrace(stream); > - } > - } > + super(message, cause); > + } > > } Please go ahead and commit this as a separate patch too. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at redhat.com Tue Sep 17 23:26:58 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Sep 2013 08:26:58 +0200 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <51BB52A5.1060502@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> Message-ID: <523947B2.9060800@redhat.com> On 06/14/2013 07:28 PM, Andrew Azores wrote: > On 06/14/2013 10:37 AM, Jiri Vanek wrote: >> >>> fix.patch >>> >>> >>> diff --git a/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java >>> b/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java >>> --- a/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java >>> +++ b/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java >>> @@ -38,6 +38,8 @@ exception statement from your version. * >>> package net.sourceforge.jnlp.cache; >>> >>> import java.net.MalformedURLException; >>> +import java.net.URI; >>> +import java.net.URISyntaxException; >>> import java.net.URL; >>> import java.util.LinkedList; >>> import java.util.List; >>> @@ -152,23 +154,24 @@ public class ResourceUrlCreator { >>> * @param resource the resource to get the url for >>> */ >>> protected URL getVersionedUrlUsingQuery(Resource resource) { >>> - String actualLocation = resource.getLocation().getProtocol() + "://" >>> - + resource.getLocation().getHost(); >>> - if (resource.getLocation().getPort() != -1) { >>> - actualLocation += ":" + resource.getLocation().getPort(); >>> + URL resourceUrl = resource.getLocation(); >>> + try { >>> + String query = resourceUrl.getQuery(); >>> + if (query == null) query = ""; >>> + if (resource.requestVersion != null >>> + && resource.requestVersion.isVersionId()) { >>> + if (!query.isEmpty()) { >>> + query += "&"; >>> + } >>> + query += "version-id=" + resource.requestVersion; >>> + } >>> + URI uri = new URI(resourceUrl.getProtocol(), null, resourceUrl.getHost(), >>> resourceUrl.getPort(), resourceUrl.getPath(), query, null); >>> + return uri.toURL(); >>> + } catch (MalformedURLException e) { >>> + return resourceUrl; >>> + } catch (URISyntaxException e) { >>> + return resourceUrl; >>> } >> >> >> This is really deep change. It would need huge unittesting. (dont forget to negative cases and >> versioning) >> >> The new approach looks correct, but I'm afraid it can affect caching and versioned ajrs. You will >> have to prove that thay are still working correctly. > > Will do. Adam actually wrote this hunk (minus one line I added) so I will bother him if I need any > help with it. > >>> + >>> + requestURI = UrlUtil.encode(baseURI, "UTF-8"); >>> + System.out.println("##### PluginAppletViewer requestPluginProxyInfo uri: " + >>> uri.toString()); >>> + System.out.println("##### PluginAppletViewer requestPluginProxyInfo requestURI: " + >>> requestURI); >> >> This debug should be removed, or moved to if debug, with some more informative output (eg was, is, >> should be...) - I'm however for removal your choice :) > > Oops :) I meant to remove those. > >> ANyway I think this is very wrong palce - especially just plugin (proxy?!?!?) is affected - This >> chanage should affect both javaws and appelt. (and so the query change, but its place looks more >> correct) > > Based on my debugging and tracing, and the log messages I found output by the plugin (which matched > those in the original bug report), the "//" part of the bug was occurring only in the plugin and > specifically had to do with retrieving proxy info. I can move this fix somewhere else, but I put it > here because this to me seems like the first place where the malformed URL occurs. > >> The reproducer is nice. To current one just two nits - there should be @bug annotation on top of >> testcases with bug id (with PR) and links to this thread in mail archive. >> Second nit is reusing of already existing jars. Last time you have already wrote applet >> aproximatly same as your new AbsolutePathAndQueryStringApplet. So the best for this patch will be >> to get rid of this new, and reuse the same :) >> In jnlp and html files you can call the existing one. >> >> Also this test needs to be enhanced - >> - you need to test it for both javaws and for appelts. >> - you need to check how this behaves with versioned jars >> - you need to test if the cache is still ok (query) > > Working on this. I have the first point done and I'll start looking into the other two. > >> >>> diff --git >>> a/tests/reproducers/simple/AbsolutePathAndQueryStringApplet/resources/AbsolutePathAndQueryStringApplet.html >>> b/tests/reproducers/simple/AbsolutePathAndQueryStringApplet/resources/AbsolutePathAndQueryStringApplet.html >>> >>> new file mode 100644 >>> --- /dev/null >>> +++ >>> b/tests/reproducers/simple/AbsolutePathAndQueryStringApplet/resources/AbsolutePathAndQueryStringApplet.html >>> >>> @@ -0,0 +1,48 @@ >>> < snip > >>> + @Override >>> + public void init() { >>> + System.out.println(appletCloseString); >>> + } >> >> init or start? :) > > Ah, thank you. I thought it was init, and that's what I used last time as well. I've changed that now. > > > > Thanks, > > Andrew A ping? From ptisnovs at icedtea.classpath.org Wed Sep 18 02:20:36 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 18 Sep 2013 09:20:36 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineIdentityTrans... Message-ID: changeset ee75bbf712b8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ee75bbf712b8 author: Pavel Tisnovsky date: Wed Sep 18 11:24:24 2013 +0200 Ten new tests added into BitBltAffineIdentityTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r ec77c383357b -r ee75bbf712b8 ChangeLog --- a/ChangeLog Tue Sep 17 11:35:16 2013 +0200 +++ b/ChangeLog Wed Sep 18 11:24:24 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-18 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Ten new tests added into BitBltAffineIdentityTransformOp. + 2013-09-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r ec77c383357b -r ee75bbf712b8 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Sep 17 11:35:16 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Wed Sep 18 11:24:24 2013 +0200 @@ -772,6 +772,146 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntARGBPreIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From ptisnovs at icedtea.classpath.org Wed Sep 18 02:38:43 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 18 Sep 2013 09:38:43 +0000 Subject: /hg/rhino-tests: Added new test testAsSubclass into the test suite Message-ID: changeset 2e5f4bdb4931 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=2e5f4bdb4931 author: Pavel Tisnovsky date: Wed Sep 18 11:42:31 2013 +0200 Added new test testAsSubclass into the test suite ScriptExceptionClassTest. diffstat: ChangeLog | 8 +- src/org/RhinoTests/ScriptExceptionClassTest.java | 118 +++++++++++++++++++++++ 2 files changed, 125 insertions(+), 1 deletions(-) diffs (147 lines): diff -r 12f27742973a -r 2e5f4bdb4931 ChangeLog --- a/ChangeLog Tue Sep 17 11:31:40 2013 +0200 +++ b/ChangeLog Wed Sep 18 11:42:31 2013 +0200 @@ -1,8 +1,14 @@ +2013-09-18 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Added new test testAsSubclass into the test suite + ScriptExceptionClassTest. + 2013-09-17 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: Added new test testNewInstance into the test suite - BindingsClassTest. + CompilableClassTest. 2013-09-16 Pavel Tisnovsky diff -r 12f27742973a -r 2e5f4bdb4931 src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Tue Sep 17 11:31:40 2013 +0200 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Wed Sep 18 11:42:31 2013 +0200 @@ -1266,6 +1266,124 @@ } /** + * Test for method javax.script.ScriptException.getClass().asSubclass() + */ + protected void testAsSubclass() { + try { + this.scriptExceptionClass.asSubclass(scriptExceptionClass); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptExceptionClass.asSubclass(Exception.class); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptExceptionClass.asSubclass(Throwable.class); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptExceptionClass.asSubclass(Object.class); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Void.class); + throw new AssertionError("Class.asSubclass(java.lang.Void.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Number.class); + throw new AssertionError("Class.asSubclass(java.lang.Number.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Byte.class); + throw new AssertionError("Class.asSubclass(java.lang.Byte.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Double.class); + throw new AssertionError("Class.asSubclass(java.lang.Double.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Float.class); + throw new AssertionError("Class.asSubclass(java.lang.Float.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Integer.class); + throw new AssertionError("Class.asSubclass(java.lang.Integer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Long.class); + throw new AssertionError("Class.asSubclass(java.lang.Long.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.Short.class); + throw new AssertionError("Class.asSubclass(java.lang.Short.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Color.class); + throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Font.class); + throw new AssertionError("Class.asSubclass(java.awt.Font.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptException */ @SuppressWarnings("cast") From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 04:16:25 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 11:16:25 +0000 Subject: [Bug 1566] New: autocomplete crashes Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1566 Bug ID: 1566 Summary: autocomplete crashes Eclipse Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: major Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: thbugzilla at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 940 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=940&action=edit error log I have a freshly installed Debian and cloned a project from github Every time I open the project and try to use autocomplete the list of possible completions opens, eclipse freezes and closes after a short moment. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/ee811568/attachment.html From jvanek at icedtea.classpath.org Wed Sep 18 06:59:40 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 18 Sep 2013 13:59:40 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 8d87108be099 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8d87108be099 author: Jiri Vanek date: Wed Sep 18 15:46:55 2013 +0200 Fixed minor typo in JEditorPaneBasedExceptionDialogTest (mus -> must) severla times "message from dialog mus be same as pattern" -> "message from dialog must be same as pattern" changeset 6344db94b95f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6344db94b95f author: Jiri Vanek date: Wed Sep 18 15:54:12 2013 +0200 Removed java 1.3 comaptible (redundant) code from ParseException netx/net/sourceforge/jnlp/ParseException.java: (ParseException) modified to support super call only, (getCause) and both (printStackTrace) removed diffstat: ChangeLog | 7 + netx/net/sourceforge/jnlp/ParseException.java | 45 +--------- tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java | 8 +- 3 files changed, 14 insertions(+), 46 deletions(-) diffs (93 lines): diff -r 075e3da46eda -r 6344db94b95f ChangeLog --- a/ChangeLog Mon Sep 16 16:18:52 2013 -0400 +++ b/ChangeLog Wed Sep 18 15:54:12 2013 +0200 @@ -1,3 +1,10 @@ +2013-09-18 Jiri Vanek + + Removed java 1.3 comaptible (redundant) code from ParseException + * netx/net/sourceforge/jnlp/ParseException.java: (ParseException) + modified to support super call only, (getCause) and both (printStackTrace) + removed + 2013-09-16 Andrew Azores Fix ResourcesTest reproducer. diff -r 075e3da46eda -r 6344db94b95f netx/net/sourceforge/jnlp/ParseException.java --- a/netx/net/sourceforge/jnlp/ParseException.java Mon Sep 16 16:18:52 2013 -0400 +++ b/netx/net/sourceforge/jnlp/ParseException.java Wed Sep 18 15:54:12 2013 +0200 @@ -30,9 +30,7 @@ // todo: add meaningful information, such as the invalid // element, parse position, etc. - /** the original exception */ - private Throwable cause = null; - + /** * Create a parse exception with the specified message. */ @@ -45,44 +43,7 @@ * cause. */ public ParseException(String message, Throwable cause) { - super(message); - - // replace with setCause when no longer 1.3 compatible - this.cause = cause; - } - - /** - * Return the cause of the launch exception or null if there - * is no cause exception. - */ - public Throwable getCause() { - return cause; - } - - /** - * Print the stack trace and the cause exception (1.3 - * compatible) - */ - public void printStackTrace(PrintStream stream) { - super.printStackTrace(stream); - - if (cause != null) { - stream.println("Caused by: "); - cause.printStackTrace(stream); - } - } - - /** - * Print the stack trace and the cause exception (1.3 - * compatible) - */ - public void printStackTrace(PrintWriter stream) { - super.printStackTrace(stream); - - if (cause != null) { - stream.println("Caused by: "); - cause.printStackTrace(stream); - } - } + super(message, cause); + } } diff -r 075e3da46eda -r 6344db94b95f tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java Mon Sep 16 16:18:52 2013 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java Wed Sep 18 15:54:12 2013 +0200 @@ -132,10 +132,10 @@ JEditorPaneBasedExceptionDialog d2 = new JEditorPaneBasedExceptionDialog(null, false, ex, ec, null); JEditorPaneBasedExceptionDialog d3 = new JEditorPaneBasedExceptionDialog(null, false, ex, null, ai); JEditorPaneBasedExceptionDialog d4 = new JEditorPaneBasedExceptionDialog(null, false, null, ec, ai); - Assert.assertTrue("message from dialog mus be same as pattern", d1.getMessage().equals(s1)); - Assert.assertTrue("message from dialog mus be same as pattern", d2.getMessage().equals(s2)); - Assert.assertTrue("message from dialog mus be same as pattern", d3.getMessage().equals(s3)); - Assert.assertTrue("message from dialog mus be same as pattern", d4.getMessage().equals(s4)); + Assert.assertTrue("message from dialog must be same as pattern", d1.getMessage().equals(s1)); + Assert.assertTrue("message from dialog must be same as pattern", d2.getMessage().equals(s2)); + Assert.assertTrue("message from dialog must be same as pattern", d3.getMessage().equals(s3)); + Assert.assertTrue("message from dialog must be same as pattern", d4.getMessage().equals(s4)); } From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 07:35:50 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 14:35:50 +0000 Subject: [Bug 1566] autocomplete crashes Eclipse In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1566 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |omajid at redhat.com Resolution|--- |INVALID --- Comment #1 from Omair Majid --- This is a bug in eclipse. Please see this for the actual cause and possible workarounds and fixes: https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/d53a7a93/attachment.html From jvanek at redhat.com Wed Sep 18 09:04:44 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Sep 2013 18:04:44 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5238EDC0.1090900@redhat.com> References: <522F7EDF.5070407@redhat.com> <523200F2.4050606@redhat.com> <52331D42.5010700@redhat.com> <5238EDC0.1090900@redhat.com> Message-ID: <5239CF1C.9020802@redhat.com> On 09/18/2013 02:03 AM, Omair Majid wrote: > On 09/13/2013 10:12 AM, Jiri Vanek wrote: >> On 09/12/2013 07:59 PM, Omair Majid wrote: > >>>> + synchronized public static ItwLogger getLogger() { > > I am trying to think of a case where logging an object by itself > (instead of a larger string containing a string representation of the > object too) will be useful, but I can't come up with one. ok then. I will do this. > >>> Both java.util.logging and syslog define levels (things like DEBUG or >>> ERROR or SEVERE) and .NET defines EventLogEntryType with a similar >>> purpose. Maybe we should add this to the API? >> >> Yah. I was thinking about it. And I think it would be worthy. >> However the amount the work needed to evaluate each message and decide >> to which level it belongs, appeared to me as to much. >> >> Can you imagine doing it? If so, then I will probably reconsider. > > Do you really want to log completely informational messages (and ~1000 > lines of them) to syslog for each javaws run? > It is not so much. even in verbose mode, when you imagine-out reprinted jnlp (which I do not log in no way) then it is quit ok ammount (fromjava side) The c side with debug on is quite more treacherous. > If you do, then I think we really need to take a step back and consider > the purpose of logging to syslog, because I don't think throwing (by > default) lots of (for all intents and purposes) useless messages in > there is helping anyone. > > If you want to filter messages and decide what goes into syslog, then > you need a mechanism for doing so. A debug level seems like the obvious > solution for this but if you have others, I would like to hear about > them too. fair enough > >>> (and >> >> One of the reason for this is to have it enabled by default. If somebody >> is using itw on daily work, and no exception appears, and logging will >> become blocker, then he will investiagte how to disable it. >>> most of them are from buggy programs). Wouldn't a single javaws run >>> double that size? >> >> Dont forget that itw is not used in application like 24/7 > > But if I run javaws 2 times a day, I have already tripled the volume of > my syslog. If no errors happened, then all this information is useless. > I don't know which is worse, lots of useless information or useful > information missing. This stil needs ot be investigated. But yes, your points are valid. > >>> Maybe we should think about making these methods more semantic and only >>> syslog'ing those errors that are important. >> >> Which are which??? :(( > > Even if there's no way to find this out now, I think it's worth working > towards this in the long run. Exactly. --- In all cases I think you took the review maybe to much precise. My intention in this patch is not to provide new logging, but to create bottleneck, moreover compatible with current system. Although I agree that my api was not perfect at all for new loggin but it was supposed to be an gateway to another refactorings which have to come. But - to negotiate may above - better api now, much less work later. > >>> Or perhaps we should use the logging levels and only syslog >>> important-enough messages >>> >>>> + public void printErrorLn(String e) { >>> >>>> + public void printOutLn(String e) { >>> >>>> + public void printBothLn(String e) { >>> >>>> + public void printError(String e) { >>> >>>> + public void printOut(String e) { >>> >>>> + public void printBoth(String e) { >>> >>> Do these really need to be public? They look like internal helper >>> methods. >> >> Parially. I have used them also in itw to print messages like -abourt >> and -help. //see the refactoring patch for them) > > Please don't. There's no reason why -about has to use the logger for output. no no, you misunderstood me a bit - I do not log those messages. Those wraper methods are ensuring, that the "standard output" is going to same standard output as is used by ItwLogger for "standard output" reprint So I'm still for keeping them inside, so the messages will coem to correct stream (se eg trerrible method of redirectStreems (under refactoring right now) > > In fact, a logger which logs messages is the last place I would except > to see formatting methods (like printError vs printErrorLn). As I told, those are not logging methods. Those are ensuring methods that message is going where it should go. > >> Maybe this change crossed the purpose of this patch. I was under >> obsession to have "bottleneck to control all outputs" Now I''m >> hesitating here. > > I think the (slightly) older-and-wiser-you are right. While it's good to > have debugging messages go to logger, not everything needs to (or even > should) go to the logger. If you really want to have all outputs go to > logger, why not have swing widgets output to logger too? What do yo think by swing wdgets? I would like to log itw messages. But I got the rebuke, level will be necessary. > >> diff -r 6124fd87eaba tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java >> --- a/tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java Wed Sep 11 12:05:44 2013 +0200 ... >> - Assert.assertTrue("message from dialog mus be same as pattern", d4.getMessage().equals(s4)); >> + Assert.assertTrue("message from dialog must be same as pattern", d1.getMessage().equals(s1)); ... > > Please go ahead and commit this change as a separate patch. It's > unrelated to everything else and good enough that it go in right now. pushed > >> diff -r 6124fd87eaba netx/net/sourceforge/jnlp/util/ItwLogger.java >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/netx/net/sourceforge/jnlp/util/ItwLogger.java Fri Sep 13 15:41:56 2013 +0200 > >> + public static enum StdStream { >> + >> + OUT, ERR, BOTH >> + } This was mentioned for replacement of various stderr/stdout > > Stupid question: is there any output from icedtea-web that we want to go > do stdout? Everything I can think of is basically an error message and > probably should go to stderr. I think that info message should go to stdout, warning messages to std out and err, and errors and exceptions to std_err > > If you think this makes sense, maybe we can reduce the API to two methods: > > logInformation(String message) > logError(String message) hmhmh. My current opinion is to include it to "current (new) logging levels" levels of messages: MESSAGE_ALL - stdout in all cases MESSAGE_VERBOSE - stdout in verbose/debug mode ERROR_ALL - stderr in all cases (default for ERROR_VERBOSE - stderr in verbose/debug mode Those may change during development, especially in phase of tuning messages - some fine,finer,finest or similar :) And still three checkboxes to control output: std streams file system log > > (and maybe variants that accept Object or Throwable arguments, or maybe > change the methods tolog(Level level, String message)). > > Giving user-code the option to reprint, select streams and so on is > rather unnecessary, IHMO. And based on these two methods, we can select > what should go into low-volume output (syslog) and high-volume output > (terminal if -verbose is used or a icedtea-web log file), with the > option to change policy on what-goes-where later. Hm, I wonted to unify (internal) form of debug/verbose. But you sounds different. May you elaborate here on your prerequisites? > >> + public void log(boolean reprint, StdStream stream, Object o) { >> + //log to system >> + logToSystemLogger(stream, o); >> + //reuse old logger - finally will log something >> + //on/off wia itw-settings (enableLogging) >> + logToUserFile(stream, o); >> + //log to streams if should >> + if (reprint || isDebug() || force) { >> + logToStreams(stream, o); >> + } >> + } > > There's a probably a better object-oriented design possible. Have you > thought about making a tiny logger-implementation-interface that syslog, > stderr-log and file-log can emulate? We will be able to unit test each > logger-implementation in isolation too. This main class can simply > compose them. > > It should be much easier to add additional log-implementations based on, > say, whether -verbose is used or not. I see. I will elaborate here a bit > > Have you seen TeeOutputStream? If you mean the apache one or general ide of it then yes. > >> diff -r 6124fd87eaba netx/net/sourceforge/jnlp/ParseException.java >> --- a/netx/net/sourceforge/jnlp/ParseException.java Wed Sep 11 12:05:44 2013 +0200 >..snip... >> - } >> - } >> + super(message, cause); >> + } >> >> } > > Please go ahead and commit this as a separate patch too. pushed. Thank you Have an hope to this patch !o) It is going to evolve in time even if pushed not yet ripe :) From omajid at redhat.com Wed Sep 18 10:28:08 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Sep 2013 13:28:08 -0400 Subject: [icedtea-web] RFC: Unit test for InformationDesc Message-ID: <5239E2A8.1080606@redhat.com> Hi, The attached patch adds a unit test for InformationDesc. It only makes once functional change to InformationDesc: it removes the references to JNLPFile from InformationDesc. This made it much easier to instantiate an instance of InformationDesc. Okay to push? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: information-desc-tests-01.patch Type: text/x-patch Size: 11919 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/6621796e/information-desc-tests-01.patch From mrsanna1 at gmail.com Wed Sep 18 13:51:44 2013 From: mrsanna1 at gmail.com (Mauro Sanna) Date: Wed, 18 Sep 2013 22:51:44 +0200 Subject: still bugged? Message-ID: Sorry for disturbing and for my bad english. I'm using linux debian and ubuntu raring 13.04. The openjdk packages have still this bug: http://jira.grails.org/browse/GRAILS-10183 Why it is still not solved? I do not want to be forced to use oracle jdk. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/07f46f90/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 14:18:30 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 21:18:30 +0000 Subject: [Bug 1400] Menu of maximized AWT window not working in GNOME Shell In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1400 --- Comment #3 from Omair Majid --- GNOME Shell is now fixed in OpenJDK8: http://hg.openjdk.java.net/jdk8/awt/jdk/rev/8530456e0091 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/683f0174/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 14:19:39 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 21:19:39 +0000 Subject: [Bug 1400] Menu of maximized AWT window not working in GNOME Shell In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1400 --- Comment #4 from Omair Majid --- (In reply to comment #1) > MATE desktop suffers from same problem. Please include that in the fix The OpenJDK code is quite messy in this location, so it basically handles window managers on a case-by-case basis. What's the _NET_WM_NAME used by mate? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/04942ec0/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 14:20:16 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 21:20:16 +0000 Subject: [Bug 1400] Menu of maximized AWT window not working in GNOME Shell In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1400 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.openjdk.java.n | |et/browse/JDK-8024863 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/bc8069b1/attachment.html From gnu.andrew at redhat.com Wed Sep 18 14:29:01 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 18 Sep 2013 17:29:01 -0400 (EDT) Subject: still bugged? In-Reply-To: References: Message-ID: <300512982.16170869.1379539741139.JavaMail.root@redhat.com> ----- Original Message ----- > Sorry for disturbing and for my bad english. > I'm using linux debian and ubuntu raring 13.04. > The openjdk packages have still this bug: > http://jira.grails.org/browse/GRAILS-10183 > > Why it is still not solved? > I do not want to be forced to use oracle jdk. > Thank you. > The fix is available: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk/rev/6f1a1e26f521 Distros can apply that or waiting for a newer 2.3.x release coming soon. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 14:58:23 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Sep 2013 21:58:23 +0000 Subject: [Bug 1400] Menu of maximized AWT window not working in GNOME Shell In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1400 --- Comment #5 from torkildj at gmail.com --- Good to hear there is finally some progress on this. MATE's vmname is Marco It can be verified by looking at this source file: https://github.com/mate-desktop/mate-window-manager/blob/master/src/core/display.c meta_prop_set_utf8_string_hint (the_display, the_display->leader_window, the_display->atom__NET_WM_NAME, "Marco"); -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130918/d81912e6/attachment.html From andrew at icedtea.classpath.org Wed Sep 18 16:00:45 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 18 Sep 2013 23:00:45 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: 3 new changesets Message-ID: changeset af221c82682c in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=af221c82682c author: andrew date: Wed Sep 18 21:34:50 2013 +0100 Cast should use same type as GCDrainStackTargetSize (uintx). changeset c39d06e6c10d in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=c39d06e6c10d author: tschatzl date: Tue Sep 17 12:04:11 2013 +0200 8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp Summary: Incorrect usage of idx_t where bm_word_t is appropriate. Reviewed-by: tschatzl, brutisso Contributed-by: Dan Horak changeset b732355257e3 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=b732355257e3 author: andrew date: Thu Sep 19 00:00:25 2013 +0100 Add casts to fix build on S390 diffstat: src/share/vm/compiler/methodLiveness.cpp | 12 +++--- src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp | 2 +- src/share/vm/gc_implementation/g1/concurrentMark.cpp | 2 +- src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp | 2 +- src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp | 2 +- src/share/vm/gc_implementation/parNew/parNewGeneration.cpp | 2 +- src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp | 2 +- src/share/vm/memory/collectorPolicy.cpp | 16 ++++---- src/share/vm/oops/objArrayKlass.inline.hpp | 4 +- src/share/vm/runtime/arguments.cpp | 2 +- src/share/vm/utilities/bitMap.inline.hpp | 20 +++++----- 11 files changed, 33 insertions(+), 33 deletions(-) diffs (250 lines): diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/compiler/methodLiveness.cpp --- a/src/share/vm/compiler/methodLiveness.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/compiler/methodLiveness.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -572,15 +572,15 @@ MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) : - _gen((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + _gen((BitMap::bm_word_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), analyzer->bit_map_size_bits()), - _kill((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + _kill((BitMap::bm_word_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), analyzer->bit_map_size_bits()), - _entry((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + _entry((BitMap::bm_word_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), analyzer->bit_map_size_bits()), - _normal_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + _normal_exit((BitMap::bm_word_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), analyzer->bit_map_size_bits()), - _exception_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), + _exception_exit((BitMap::bm_word_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()), analyzer->bit_map_size_bits()), _last_bci(-1) { _analyzer = analyzer; @@ -998,7 +998,7 @@ } MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* method, int bci) { - MethodLivenessResult answer(NEW_RESOURCE_ARRAY(size_t, _analyzer->bit_map_size_words()), + MethodLivenessResult answer(NEW_RESOURCE_ARRAY(BitMap::bm_word_t, _analyzer->bit_map_size_words()), _analyzer->bit_map_size_bits()); answer.set_is_valid(); diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp --- a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -2678,7 +2678,7 @@ if (ResizeOldPLAB && CMSOldPLABResizeQuicker) { size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks); n_blks += CMSOldPLABReactivityFactor*multiple*n_blks; - n_blks = MIN2(n_blks, CMSOldPLABMax); + n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax); } assert(n_blks > 0, "Error"); _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl); diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/g1/concurrentMark.cpp --- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -3632,7 +3632,7 @@ // of things to do) or totally (at the very end). size_t target_size; if (partially) { - target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize); + target_size = MIN2((uintx)_task_queue->max_elems()/3, GCDrainStackTargetSize); } else { target_size = 0; } diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -1735,7 +1735,7 @@ verify_region_sets_optional(); - size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes); + size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes); ergo_verbose1(ErgoHeapSizing, "attempt heap expansion", ergo_format_reason("allocation request failed") diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp --- a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -840,7 +840,7 @@ // This can be done by either mutator threads together with the // concurrent refinement threads or GC threads. int HeapRegionRemSet::num_par_rem_sets() { - return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads); + return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (size_t)ParallelGCThreads); } HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa, diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp --- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -192,7 +192,7 @@ const size_t num_overflow_elems = of_stack->size(); const size_t space_available = queue->max_elems() - queue->size(); const size_t num_take_elems = MIN3(space_available / 4, - ParGCDesiredObjsFromOverflowList, + (size_t)ParGCDesiredObjsFromOverflowList, num_overflow_elems); // Transfer the most recent num_take_elems from the overflow // stack to our work queue. diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -69,7 +69,7 @@ if (_virtual_space != NULL && _virtual_space->expand_by(_reserved_byte_size)) { _region_start = covered_region.start(); _region_size = covered_region.word_size(); - idx_t* map = (idx_t*)_virtual_space->reserved_low_addr(); + BitMap::bm_word_t* map = (BitMap::bm_word_t*)_virtual_space->reserved_low_addr(); _beg_bits.set_map(map); _beg_bits.set_size(bits / 2); _end_bits.set_map(map + words / 2); diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/memory/collectorPolicy.cpp --- a/src/share/vm/memory/collectorPolicy.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/memory/collectorPolicy.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -361,7 +361,7 @@ // generally small compared to the NewRatio calculation. _min_gen0_size = NewSize; desired_new_size = NewSize; - max_new_size = MAX2(max_new_size, NewSize); + max_new_size = MAX2(max_new_size, (size_t)NewSize); } else { // For the case where NewSize is the default, use NewRatio // to size the minimum and initial generation sizes. @@ -369,10 +369,10 @@ // NewRatio is overly large, the resulting sizes can be too // small. _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()), - NewSize); + (size_t)NewSize); desired_new_size = MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()), - NewSize); + (size_t)NewSize); } assert(_min_gen0_size > 0, "Sanity check"); @@ -427,14 +427,14 @@ // Adjust gen0 down to accomodate OldSize *gen0_size_ptr = heap_size - min_gen0_size; *gen0_size_ptr = - MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()), + MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()), min_alignment()); assert(*gen0_size_ptr > 0, "Min gen0 is too large"); result = true; } else { *gen1_size_ptr = heap_size - *gen0_size_ptr; *gen1_size_ptr = - MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()), + MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()), min_alignment()); } } @@ -458,7 +458,7 @@ // for setting the gen1 maximum. _max_gen1_size = max_heap_byte_size() - _max_gen0_size; _max_gen1_size = - MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()), + MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()), min_alignment()); // If no explicit command line flag has been set for the // gen1 size, use what is left for gen1. @@ -472,11 +472,11 @@ "gen0 has an unexpected minimum size"); set_min_gen1_size(min_heap_byte_size() - min_gen0_size()); set_min_gen1_size( - MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()), + MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()), min_alignment())); set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size()); set_initial_gen1_size( - MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()), + MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()), min_alignment())); } else { diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/oops/objArrayKlass.inline.hpp --- a/src/share/vm/oops/objArrayKlass.inline.hpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/oops/objArrayKlass.inline.hpp Thu Sep 19 00:00:25 2013 +0100 @@ -46,7 +46,7 @@ const size_t beg_index = size_t(index); assert(beg_index < len || len == 0, "index too large"); - const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride); + const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride); const size_t end_index = beg_index + stride; T* const base = (T*)a->base(); T* const beg = base + beg_index; @@ -80,7 +80,7 @@ const size_t beg_index = size_t(index); assert(beg_index < len || len == 0, "index too large"); - const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride); + const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride); const size_t end_index = beg_index + stride; T* const base = (T*)a->base(); T* const beg = base + beg_index; diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/runtime/arguments.cpp Thu Sep 19 00:00:25 2013 +0100 @@ -1240,7 +1240,7 @@ // so it's NewRatio x of NewSize. if (FLAG_IS_DEFAULT(OldSize)) { if (max_heap > NewSize) { - FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize)); + FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t)(NewRatio*NewSize), max_heap - NewSize)); if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize); diff -r 4fc9d4d964ad -r b732355257e3 src/share/vm/utilities/bitMap.inline.hpp --- a/src/share/vm/utilities/bitMap.inline.hpp Thu Sep 12 15:52:17 2013 +0100 +++ b/src/share/vm/utilities/bitMap.inline.hpp Thu Sep 19 00:00:25 2013 +0100 @@ -52,16 +52,16 @@ inline bool BitMap::par_set_bit(idx_t bit) { verify_index(bit); - volatile idx_t* const addr = word_addr(bit); - const idx_t mask = bit_mask(bit); - idx_t old_val = *addr; + volatile bm_word_t* const addr = word_addr(bit); + const bm_word_t mask = bit_mask(bit); + bm_word_t old_val = *addr; do { - const idx_t new_val = old_val | mask; + const bm_word_t new_val = old_val | mask; if (new_val == old_val) { return false; // Someone else beat us to it. } - const idx_t cur_val = (idx_t) Atomic::cmpxchg_ptr((void*) new_val, + const bm_word_t cur_val = (bm_word_t) Atomic::cmpxchg_ptr((void*) new_val, (volatile void*) addr, (void*) old_val); if (cur_val == old_val) { @@ -73,16 +73,16 @@ inline bool BitMap::par_clear_bit(idx_t bit) { verify_index(bit); - volatile idx_t* const addr = word_addr(bit); - const idx_t mask = ~bit_mask(bit); - idx_t old_val = *addr; + volatile bm_word_t* const addr = word_addr(bit); + const bm_word_t mask = ~bit_mask(bit); + bm_word_t old_val = *addr; do { - const idx_t new_val = old_val & mask; + const bm_word_t new_val = old_val & mask; if (new_val == old_val) { return false; // Someone else beat us to it. } - const idx_t cur_val = (idx_t) Atomic::cmpxchg_ptr((void*) new_val, + const bm_word_t cur_val = (bm_word_t) Atomic::cmpxchg_ptr((void*) new_val, (volatile void*) addr, (void*) old_val); if (cur_val == old_val) { From bugzilla-daemon at icedtea.classpath.org Wed Sep 18 17:58:46 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 00:58:46 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #21 from Steve --- Thank you for your help with this Andrew and Udo. I'll watch bug 1465 for developments. In the meantime I removed IcedTea and replaced it with Sun Java: https://sites.google.com/site/easylinuxtipsproject/java-for-opensuse -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/5b681496/attachment.html From andrew at icedtea.classpath.org Wed Sep 18 18:34:54 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 19 Sep 2013 01:34:54 +0000 Subject: /hg/icedtea6-hg: 3 new changesets Message-ID: changeset 48ba1e242c44 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=48ba1e242c44 author: Xerxes Ranby date: Tue Sep 17 20:08:21 2013 +0200 JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes Ranby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. changeset a0468e1d41b2 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a0468e1d41b2 author: Andrew John Hughes date: Wed Sep 18 15:57:18 2013 +0100 Merge changeset 75ec17efe140 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=75ec17efe140 author: Andrew John Hughes date: Thu Sep 19 02:34:29 2013 +0100 Work around @Override on interfaces issue by removing annotation rather than increasing source/target. 2013-09-19 Andrew John Hughes * patches/cacao/hotspot/hs23/memory.patch, * patches/hotspot/hs23/6_for_override.patch: Removed. * Makefile.am: (ICEDTEA_PATCHES): Replace 6_for_override with remove_bad_overrides and hs23 memory patch with original. * patches/cacao/hotspot/original/memory.patch: Restored. * patches/hotspot/hs23/remove_bad_overrides.patch: Added. diffstat: ChangeLog | 362 + INSTALL | 12 +- Makefile.am | 269 +- NEWS | 1 + acinclude.m4 | 18 +- hotspot.map | 1 - patches/cacao/hotspot/hs23/memory.patch | 36 - patches/copy_memory.patch | 36 - patches/ecj/bootver.patch | 14 - patches/ecj/hotspot/original/hotspot-jdk-dependency.patch | 25 - patches/ecj/jcp-importsources.patch | 10 - patches/ecj/override.patch | 51 + patches/fonts-rhel-version.patch | 33 - patches/fonts-rhel.patch | 458 - patches/hotspot/hs23/remove_bad_overrides.patch | 17 + patches/hotspot/hs23/revert-7017193.patch | 138 - patches/hotspot/original/6840152-jvm_crashes_with_heavyweight_monitors.patch | 32 - patches/hotspot/original/7022999-fastlocking_compiler1_only.patch | 25 - patches/hotspot/original/7032696-7029152_broke_vm.patch | 52 - patches/hotspot/original/7140985-hsdis_caller_options.patch | 23 - patches/hotspot/original/7197906-handle_32_bit_shifts.patch | 33 - patches/hotspot/original/aarch64.patch | 34 - patches/hotspot/original/alpha-fixes.patch | 21 - patches/hotspot/original/arm-hsdis.patch | 80 - patches/hotspot/original/arm.patch | 286 - patches/hotspot/original/fix_get_stack_bounds_leak.patch | 12 - patches/hotspot/original/gcc-suffix.patch | 31 - patches/hotspot/original/jtreg-test7020373-fix.patch | 187 - patches/hotspot/original/pr639-broken_shark_build.patch | 44 - patches/hotspot/original/sdt-arguments.patch | 24 - patches/hotspot/original/sdt-dtrace-hpp.patch | 103 - patches/hotspot/original/sdt-jni.patch | 37 - patches/hotspot/original/sdt-make.patch | 51 - patches/hotspot/original/systemtap-alloc-size-workaround.patch | 17 - patches/hotspot/original/systemtap_gc.patch | 369 - patches/hotspot/original/text-relocations.patch | 63 - patches/hotspot/original/update-bootclasspath.patch | 13 - patches/hotspot/original/version.patch | 56 - patches/ia64-fix.patch | 15 - patches/jtreg-remove-test-6987555.patch | 184 - patches/jtreg-remove-test-6991596.patch | 472 - patches/numa_on_early_glibc.patch | 46 - patches/object-factory-cl-internal.patch | 384 - patches/openjdk/5102804-memory_leak.patch | 429 - patches/openjdk/6469266-xmlsec_1.4.2.patch | 23876 - patches/openjdk/6501644-icu_sync.patch | 8066 - patches/openjdk/6669869-queries_per_appcontext.patch | 355 - patches/openjdk/6786028-wcag_bold_tags.patch | 2914 - patches/openjdk/6786682-wcag_lang.patch | 274 - patches/openjdk/6786688-wcag_table.patch | 2828 - patches/openjdk/6786690-wcag_dl.patch | 3230 - patches/openjdk/6796786-invalid_FP_identity_transform.patch | 105 - patches/openjdk/6802694-no_deprecated.patch | 601 - patches/openjdk/6851834-handle_renames.patch | 605 - patches/openjdk/6851834-restructure.patch | 26853 - patches/openjdk/6886358-layout_update.patch | 13847 - patches/openjdk/6888167-medialib_memory_leaks.patch | 134 - patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch | 93 - patches/openjdk/6961178-doclet_xml.patch | 1989 - patches/openjdk/6963811-deadlock_fix.patch | 42 - patches/openjdk/7006270-regressions.patch | 299 - patches/openjdk/7010849-modernise_sa.patch | 394 - patches/openjdk/7017324-kerning_crash.patch | 101 - patches/openjdk/7019808-stack_noexec.patch | 23 - patches/openjdk/7029152-String_intrinsics_miss_optimization.patch | 383 - patches/openjdk/7031385-gcc-register-allocation-fix.patch | 21 - patches/openjdk/7032388-work_without_cmov_instruction.patch | 178 - patches/openjdk/7034464-transparent_huge_pages.patch | 458 - patches/openjdk/7036220-shark_llvm_29_headers.patch | 44 - patches/openjdk/7036559-concurrenthashmap_improvements.patch | 1436 - patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch | 71 - patches/openjdk/7041156-gcc_export_dynamic.patch | 22 - patches/openjdk/7042070-Typo_in_Test6796786.patch | 33 - patches/openjdk/7043564-hugepage.patch | 21 - patches/openjdk/7047069-Array_can_dynamically_change_size.patch | 239 - patches/openjdk/7064279-fixup.patch | 71 - patches/openjdk/7064279-resource_release.patch | 436 - patches/openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch | 298 - patches/openjdk/7195301-no_instanceof_node.patch | 86 - patches/openjdk/8004302-soap_test_failure.patch | 75 - patches/openjdk/8004341-jck_dialog_failure.patch | 26 - patches/openjdk/8005615-failure_to_load_logger_implementation.patch | 542 - patches/openjdk/8007393.patch | 78 - patches/openjdk/8007611.patch | 24 - patches/openjdk/8009641-8007675_build_fix.patch | 49 - patches/openjdk/8009996-emitter_bean.patch | 27 - patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch | 449213 ------- patches/openjdk/jaxp144_05.patch | 595589 ---------- patches/params-cast-size_t.patch | 270 - patches/pr690-shark-jit-hs20.patch | 61 - patches/pr696-zero-fast_aldc-hs20.patch | 44 - patches/security/20130201/6563318.patch | 36 - patches/security/20130201/6664509.patch | 1322 - patches/security/20130201/6776941.patch | 272 - patches/security/20130201/7141694.patch | 87 - patches/security/20130201/7173145.patch | 22 - patches/security/20130201/7186945.patch | 10819 - patches/security/20130201/7186948.patch | 20 - patches/security/20130201/7186952.patch | 127 - patches/security/20130201/7186954.patch | 81 - patches/security/20130201/7192392.patch | 695 - patches/security/20130201/7192393.patch | 60 - patches/security/20130201/7192977.patch | 444 - patches/security/20130201/7197546.patch | 479 - patches/security/20130201/7200491.patch | 49 - patches/security/20130201/7200500.patch | 60 - patches/security/20130201/7201064.patch | 125 - patches/security/20130201/7201066.patch | 66 - patches/security/20130201/7201068.patch | 83 - patches/security/20130201/7201070.patch | 31 - patches/security/20130201/7201071.patch | 553 - patches/security/20130201/8000210.patch | 104 - patches/security/20130201/8000537.patch | 334 - patches/security/20130201/8000540.patch | 187 - patches/security/20130201/8000631.patch | 3964 - patches/security/20130201/8001242.patch | 61 - patches/security/20130201/8001307.patch | 27 - patches/security/20130201/8001972.patch | 438 - patches/security/20130201/8002325.patch | 59 - patches/security/20130219/8006446.patch | 395 - patches/security/20130219/8006777.patch | 1036 - patches/security/20130219/8007688.patch | 130 - patches/security/20130304/8007014.patch | 477 - patches/security/20130304/8007675.patch | 416 - patches/security/20130416/6657673-factory_finder.patch | 54 - patches/security/20130416/6657673-fixup.patch | 229 - patches/security/20130416/6657673.patch | 9494 - patches/security/20130416/7200507.patch | 230 - patches/security/20130416/8000724.patch | 1368 - patches/security/20130416/8001031.patch | 5457 - patches/security/20130416/8001040.patch | 113 - patches/security/20130416/8001322.patch | 61 - patches/security/20130416/8001329.patch | 32 - patches/security/20130416/8003335.patch | 63 - patches/security/20130416/8003445.patch | 77 - patches/security/20130416/8003543.patch | 236 - patches/security/20130416/8004261.patch | 142 - patches/security/20130416/8004336.patch | 29 - patches/security/20130416/8004986.patch | 374 - patches/security/20130416/8005432.patch | 518 - patches/security/20130416/8005943.patch | 202 - patches/security/20130416/8006309.patch | 22 - patches/security/20130416/8006435.patch | 76 - patches/security/20130416/8006790.patch | 166 - patches/security/20130416/8006795.patch | 35 - patches/security/20130416/8007406.patch | 31 - patches/security/20130416/8007617.patch | 376 - patches/security/20130416/8007667.patch | 579 - patches/security/20130416/8007918.patch | 357 - patches/security/20130416/8009063.patch | 67 - patches/security/20130416/8009305.patch | 68 - patches/security/20130416/8009699.patch | 25 - patches/security/20130416/8009814.patch | 27 - patches/security/20130416/8009857.patch | 66 - patches/security/20130618/6741606-apache_santuario.patch | 8110 - patches/security/20130618/7158805-nested_subroutine_rewriting.patch | 467 - patches/security/20130618/7170730-windows_network_stack.patch | 1057 - patches/security/20130618/8000638-improve_deserialization.patch | 26 - patches/security/20130618/8000642-better_transportation_handling.patch | 808 - patches/security/20130618/8001032-restrict_object_access-corba.patch | 544 - patches/security/20130618/8001032-restrict_object_access-jdk.patch | 21 - patches/security/20130618/8001033-refactor_address_handling.patch | 119 - patches/security/20130618/8001034-memory_management.patch | 78 - patches/security/20130618/8001038-resourcefully_handle_resources.patch | 236 - patches/security/20130618/8001043-clarify_definition_restrictions.patch | 92 - patches/security/20130618/8001309-better_handling_of_annotation_interfaces.patch | 36 - patches/security/20130618/8001318-6_fixup.patch | 114 - patches/security/20130618/8001318-socket_getlocaladdress_consistency.patch | 470 - patches/security/20130618/8001330-checking_order_improvement.patch | 407 - patches/security/20130618/8001330-improve_checking_order.patch | 97 - patches/security/20130618/8003703-update_rmi_connection_dialog.patch | 131 - patches/security/20130618/8004584-augment_applet_contextualization.patch | 322 - patches/security/20130618/8005007-better_glyph_processing.patch | 118 - patches/security/20130618/8006328-6_fixup.patch | 31 - patches/security/20130618/8006328-sound_class_robustness.patch | 6937 - patches/security/20130618/8006611-improve_scripting.patch | 78 - patches/security/20130618/8007467-improve_jmx_internal_api_robustness.patch | 108 - patches/security/20130618/8007471-6_fixup.patch | 25 - patches/security/20130618/8007471-improve_mbean_notifications.patch | 89 - patches/security/20130618/8007812-getenclosingmethod.patch | 89 - patches/security/20130618/8008120-improve_jmx_class_checking.patch | 332 - patches/security/20130618/8008124-better_compliance_testing.patch | 20 - patches/security/20130618/8008128-better_jmx_api_coherence.patch | 110 - patches/security/20130618/8008132-better_serialization.patch | 121 - patches/security/20130618/8008585-jmx_data_handling.patch | 69 - patches/security/20130618/8008593-better_urlclassloader.patch | 270 - patches/security/20130618/8008603-jmx_provider_provision.patch | 29 - patches/security/20130618/8008611-6_fixup.patch | 20 - patches/security/20130618/8008611-jmx_annotations.patch | 32 - patches/security/20130618/8008615-jmx_internal_api_robustness.patch | 70 - patches/security/20130618/8008623-mbeanserver_handling.patch | 121 - patches/security/20130618/8008744-6741606_rework.patch | 882 - patches/security/20130618/8008982-jmx_interface_changes.patch | 168 - patches/security/20130618/8009004-rmi_connection_improvement.patch | 54 - patches/security/20130618/8009013-t2k_glyphs.patch | 39 - patches/security/20130618/8009034-jmx_notification_improvement.patch | 30 - patches/security/20130618/8009038-jmx_notification_support_improvement.patch | 89 - patches/security/20130618/8009067-improve_key_storing.patch | 20 - patches/security/20130618/8009235-improve_tsa_data_handling.patch | 80 - patches/security/20130618/8011243-improve_imaginglib.patch | 618 - patches/security/20130618/8011248-better_component_rasters.patch | 51 - patches/security/20130618/8011253-better_short_component_rasters.patch | 140 - patches/security/20130618/8011257-better_byte_component_rasters.patch | 157 - patches/security/20130618/8011557-improve_reflection.patch | 132 - patches/security/20130618/8012375-javadoc_framing.patch | 61 - patches/security/20130618/8012421-better_positioning.patch | 100 - patches/security/20130618/8012438-better_image_validation.patch | 283 - patches/security/20130618/8012597-better_image_channel_validation.patch | 597 - patches/security/20130618/8012601-better_layout_validation.patch | 125 - patches/security/20130618/8014281-better_xml_signature_checking.patch | 49 - patches/security/20130618/8015997-more_javadoc_framing.patch | 21 - patches/security/20130618/diamond_fix.patch | 55 - patches/security/20130618/handle_npe.patch | 21 - patches/security/20130618/javac_issue.patch | 60 - patches/security/20130618/langtools_generics.patch | 600 - patches/security/20130618/langtools_merge-01.patch | 30 - patches/security/20130618/langtools_merge-02.patch | 30 - patches/security/20130618/langtools_merge-03.patch | 18 - patches/stdc-limit-macros.patch | 12 - patches/systemtap-gcc-4.5.patch | 11 - patches/use-idx_t.patch | 101 - 221 files changed, 462 insertions(+), 1210637 deletions(-) diffs (truncated from 1212235 to 500 lines): diff -r 1f7c8917ad9c -r 75ec17efe140 ChangeLog --- a/ChangeLog Mon Sep 09 14:28:21 2013 +0100 +++ b/ChangeLog Thu Sep 19 02:34:29 2013 +0100 @@ -1,3 +1,102 @@ +2013-09-19 Andrew John Hughes + + * patches/cacao/hotspot/hs23/memory.patch, + * patches/hotspot/hs23/6_for_override.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Replace 6_for_override with + remove_bad_overrides and hs23 memory patch with + original. + * patches/cacao/hotspot/original/memory.patch: + Restored. + * patches/hotspot/hs23/remove_bad_overrides.patch: + Added. + +2013-09-17 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 335: fix frame.c + - Add support for CallerSensitive + - JSR 335: handle interfaces when resolving a method + - sun.misc.Unsafe: additional methods get/putAddress + - JSR 292: make internal functions static + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. + (JAMVM_SHA256SUM): Updated. + +2013-09-13 Andrew John Hughes + + * patches/cacao/hotspot/original/memory.patch, + * patches/ecj/bootver.patch, + * patches/ecj/hotspot/original/hotspot-jdk-dependency.patch, + * patches/hotspot/hs23/7197906-handle_32_bit_shifts.patch, + * patches/hotspot/hs23/revert-7017193.patch, + * patches/hotspot/original/6840152-jvm_crashes_with_heavyweight_monitors.patch, + * patches/hotspot/original/7022999-fastlocking_compiler1_only.patch, + * patches/hotspot/original/7032696-7029152_broke_vm.patch, + * patches/hotspot/original/7140985-hsdis_caller_options.patch, + * patches/hotspot/original/aarch64.patch, + * patches/hotspot/original/alpha-fixes.patch, + * patches/hotspot/original/arm-hsdis.patch, + * patches/hotspot/original/arm.patch, + * patches/hotspot/original/gcc-suffix.patch, + * patches/hotspot/original/jtreg-test7020373-fix.patch, + * patches/hotspot/original/pr639-broken_shark_build.patch, + * patches/hotspot/original/sdt-arguments.patch, + * patches/hotspot/original/sdt-dtrace-hpp.patch, + * patches/hotspot/original/sdt-jni.patch, + * patches/hotspot/original/sdt-make.patch, + * patches/hotspot/original/systemtap-alloc-size-workaround.patch, + * patches/hotspot/original/systemtap_gc.patch, + * patches/hotspot/original/text-relocations.patch, + * patches/hotspot/original/update-bootclasspath.patch, + * patches/hotspot/original/version.patch, + * patches/ia64-fix.patch, + * patches/jtreg-remove-test-6987555.patch, + * patches/jtreg-remove-test-6991596.patch, + * patches/numa_on_early_glibc.patch, + * patches/openjdk/6796786-invalid_FP_identity_transform.patch, + * patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch, + * patches/openjdk/7010849-modernise_sa.patch, + * patches/openjdk/7019808-stack_noexec.patch, + * patches/openjdk/7029152-String_intrinsics_miss_optimization.patch, + * patches/openjdk/7031385-gcc-register-allocation-fix.patch, + * patches/openjdk/7032388-work_without_cmov_instruction.patch, + * patches/openjdk/7034464-transparent_huge_pages.patch, + * patches/openjdk/7036220-shark_llvm_29_headers.patch, + * patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch, + * patches/openjdk/7041156-gcc_export_dynamic.patch, + * patches/openjdk/7042070-Typo_in_Test6796786.patch, + * patches/openjdk/7043564-hugepage.patch, + * patches/openjdk/7047069-Array_can_dynamically_change_size.patch, + * patches/params-cast-size_t.patch, + * patches/pr690-shark-jit-hs20.patch, + * patches/pr696-zero-fast_aldc-hs20.patch, + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8009699.patch, + * patches/security/20130618/7158805-nested_subroutine_rewriting.patch, + * patches/security/20130618/8001330-checking_order_improvement.patch, + * patches/stdc-limit-macros.patch, + * patches/systemtap-gcc-4.5.patch, + * patches/use-idx_t.patch: + Remove patches obsoleted by dropping of hs20 support. + * INSTALL: Update docs to support only the 'original' hs23. + * Makefile.am: + (SECURITY_PATCHES): Removed (in hs23). + (ICEDTEA_PATCHES): Add 6_for_override. Replace + $(HSBUILD) with hs23. Join ALT_HSBUILD patches + into main version. Remove !ALT_HSBUILD patches. + (ICEDTEA_ENV): Join ALT_HSBUILD settings to main version. + * acinclude.m4: + (IT_WITH_HOTSPOT_BUILD): Support only original. + * hotspot.map: Remove hs23 line. + * patches/hotspot/hs23/6_for_override.patch: + New patch to use source/target 6 for building + the agent as the hs23 version includes @Override. + 2013-09-09 Andrew John Hughes * NEWS: @@ -105,6 +204,34 @@ * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Fixes TCK regression caused by 7162902. +2013-08-23 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Apply 7197906 on hs23 only. + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8009699.patch: + Restore HotSpot security patches as not available + in upstream HotSpot yet. + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch: + Moved to... + * patches/hotspot/hs23/7197906-handle_32_bit_shifts.patch: + ...here. + +2013-08-22 Andrew John Hughes + + * patches/fonts-rhel-version.patch, + * patches/fonts-rhel.patch, + * patches/object-factory-cl-internal.patch, + * patches/openjdk/8009996-emitter_bean.patch, + * patches/security/20130618/handle_npe.patch: + Remove upstreamed patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed patch. + (ICEDTEA_PATCHES): Remove upstreamed patches. + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch: + Restored as now used by the HotSpot 23 build. + 2013-08-20 Andrew John Hughes * Makefile.am: @@ -212,10 +339,39 @@ 2013-08-07 Andrew John Hughes + * patches/openjdk/6786028-wcag_bold_tags.patch, + * patches/openjdk/6786682-wcag_lang.patch, + * patches/openjdk/6786688-wcag_table.patch, + * patches/openjdk/6786690-wcag_dl.patch, + * patches/openjdk/6802694-no_deprecated.patch, + * patches/openjdk/6851834-handle_renames.patch, + * patches/openjdk/6851834-restructure.patch, + * patches/openjdk/6961178-doclet_xml.patch, + * patches/openjdk/7006270-regressions.patch, + * patches/security/20130618/8012375-javadoc_framing.patch, + * patches/security/20130618/8015997-more_javadoc_framing.patch, + * patches/security/20130618/langtools_generics.patch, + * patches/security/20130618/langtools_merge-01.patch, + * patches/security/20130618/langtools_merge-02.patch, + * patches/security/20130618/langtools_merge-03.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Remove upstreamed patches. + +2013-08-07 Andrew John Hughes + * hotspot.map: Bring in 2.3.12 tag. 2013-08-06 Andrew John Hughes + * patches/security/20130618/8000642-better_transportation_handling.patch, + * patches/security/20130618/8001032-restrict_object_access-corba.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Remove upstreamed patches. + +2013-08-06 Andrew John Hughes + * 8013196-TimeZone_getDefault_throws_exception.patch: Renamed to... * 8013196-timezone_getdefault_throws_exception.patch: @@ -239,6 +395,117 @@ * hotspot.map: Bring in hs23 changes to ARM32 port, syncing with 2.3.12 tag. +2013-08-02 Andrew John Hughes + + * patches/openjdk/6469266-xmlsec_1.4.2.patch, + * patches/openjdk/6888167-medialib_memory_leaks.patch, + * patches/openjdk/7195301-no_instanceof_node.patch, + * patches/security/20130618/6741606-apache_santuario.patch, + * patches/security/20130618/7170730-windows_network_stack.patch, + * patches/security/20130618/8000638-improve_deserialization.patch, + * patches/security/20130618/8001032-restrict_object_access-jdk.patch, + * patches/security/20130618/8001033-refactor_address_handling.patch, + * patches/security/20130618/8001034-memory_management.patch, + * patches/security/20130618/8001038-resourcefully_handle_resources.patch, + * patches/security/20130618/8001043-clarify_definition_restrictions.patch, + * patches/security/20130618/8001309-better_handling_of_annotation_interfaces.patch, + * patches/security/20130618/8001318-6_fixup.patch, + * patches/security/20130618/8001318-socket_getlocaladdress_consistency.patch, + * patches/security/20130618/8001330-improve_checking_order.patch, + * patches/security/20130618/8003703-update_rmi_connection_dialog.patch, + * patches/security/20130618/8004584-augment_applet_contextualization.patch, + * patches/security/20130618/8005007-better_glyph_processing.patch, + * patches/security/20130618/8006328-6_fixup.patch, + * patches/security/20130618/8006328-sound_class_robustness.patch, + * patches/security/20130618/8006611-improve_scripting.patch, + * patches/security/20130618/8007467-improve_jmx_internal_api_robustness.patch, + * patches/security/20130618/8007471-6_fixup.patch, + * patches/security/20130618/8007471-improve_mbean_notifications.patch, + * patches/security/20130618/8007812-getenclosingmethod.patch, + * patches/security/20130618/8008120-improve_jmx_class_checking.patch, + * patches/security/20130618/8008124-better_compliance_testing.patch, + * patches/security/20130618/8008128-better_jmx_api_coherence.patch, + * patches/security/20130618/8008132-better_serialization.patch, + * patches/security/20130618/8008585-jmx_data_handling.patch, + * patches/security/20130618/8008593-better_urlclassloader.patch, + * patches/security/20130618/8008603-jmx_provider_provision.patch, + * patches/security/20130618/8008611-6_fixup.patch, + * patches/security/20130618/8008611-jmx_annotations.patch, + * patches/security/20130618/8008615-jmx_internal_api_robustness.patch, + * patches/security/20130618/8008623-mbeanserver_handling.patch, + * patches/security/20130618/8008744-6741606_rework.patch, + * patches/security/20130618/8008982-jmx_interface_changes.patch, + * patches/security/20130618/8009004-rmi_connection_improvement.patch, + * patches/security/20130618/8009013-t2k_glyphs.patch, + * patches/security/20130618/8009034-jmx_notification_improvement.patch, + * patches/security/20130618/8009038-jmx_notification_support_improvement.patch, + * patches/security/20130618/8009067-improve_key_storing.patch, + * patches/security/20130618/8009235-improve_tsa_data_handling.patch, + * patches/security/20130618/8011243-improve_imaginglib.patch, + * patches/security/20130618/8011248-better_component_rasters.patch, + * patches/security/20130618/8011253-better_short_component_rasters.patch, + * patches/security/20130618/8011257-better_byte_component_rasters.patch, + * patches/security/20130618/8011557-improve_reflection.patch, + * patches/security/20130618/8012421-better_positioning.patch, + * patches/security/20130618/8012438-better_image_validation.patch, + * patches/security/20130618/8012597-better_image_channel_validation.patch, + * patches/security/20130618/8012601-better_layout_validation.patch, + * patches/security/20130618/8014281-better_xml_signature_checking.patch, + * patches/security/20130618/diamond_fix.patch, + * patches/security/20130618/javac_issue.patch, + * Makefile.am: + Remove unused patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed security + patches. + +2013-07-31 Andrew John Hughes + + * patches/ecj/jcp-importsources.patch, + * patches/openjdk/5102804-memory_leak.patch, + * patches/openjdk/6501644-icu_sync.patch, + * patches/openjdk/6669869-queries_per_appcontext.patch, + * patches/openjdk/6886358-layout_update.patch, + * patches/openjdk/6963811-deadlock_fix.patch, + * patches/openjdk/7017324-kerning_crash.patch, + * patches/openjdk/7064279-fixup.patch, + * patches/openjdk/7064279-resource_release.patch, + * patches/openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch, + * patches/security/20130416/6657673-factory_finder.patch, + * patches/security/20130416/6657673-fixup.patch, + * patches/security/20130416/6657673.patch, + * patches/security/20130416/7200507.patch, + * patches/security/20130416/8000724.patch, + * patches/security/20130416/8001031.patch, + * patches/security/20130416/8001040.patch, + * patches/security/20130416/8001322.patch, + * patches/security/20130416/8001329.patch, + * patches/security/20130416/8003335.patch, + * patches/security/20130416/8003445.patch, + * patches/security/20130416/8003543.patch, + * patches/security/20130416/8004261.patch, + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8004986.patch, + * patches/security/20130416/8005432.patch, + * patches/security/20130416/8005943.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8006435.patch, + * patches/security/20130416/8006790.patch, + * patches/security/20130416/8006795.patch, + * patches/security/20130416/8007406.patch, + * patches/security/20130416/8007617.patch, + * patches/security/20130416/8007667.patch, + * patches/security/20130416/8007918.patch, + * patches/security/20130416/8009063.patch, + * patches/security/20130416/8009305.patch, + * patches/security/20130416/8009699.patch, + * patches/security/20130416/8009814.patch, + * patches/security/20130416/8009857.patch: + Remove unused patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed security + patches. + 2013-07-22 Andrew John Hughes * Makefile.am: @@ -299,6 +566,13 @@ 2013-07-11 Andrew John Hughes + * patches/openjdk/7036559-concurrenthashmap_improvements.patch: + Remove upstreamed patch. + * Makefile.am: + (ICEDTEA_PATCHES): Drop upstreamed patches. + +2013-07-11 Andrew John Hughes + * NEWS: Add 1.11.12 and 1.12.6 release notes. @@ -594,6 +868,15 @@ * patches/security/20130618/langtools_merge-03.patch: 2013/06/18 security patches. +2013-05-31 Andrew John Hughes + + * patches/copy_memory.patch, + * patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch: + Drop upstreamed patches. + * Makefile.am: + (DROP_PATCHES): Remove JAXP patch. + (ICEDTEA_PATCHES): Remove OpenJDK6-4 patch. + 2013-05-28 Xerxes R??nby PR1188: ASM Interpreter and Thumb2 JIT javac miscompile @@ -659,6 +942,18 @@ * patches/jtreg-TextLayoutBoundsChecks.patch: Fixed wrong JTreg test name in @run annotation. +2013-05-17 Andrew John Hughes + + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch, + * patches/hotspot/original/fix_get_stack_bounds_leak.patch, + * patches/openjdk/8004302-soap_test_failure.patch, + * patches/openjdk/jaxp144_05.patch: + Removed as available upstream. + * Makefile.am: Remove patches. + * patches/security/20130416/6657673.patch, + * patches/security/20130416/8005432.patch: + Regenerated against upstream. + 2013-05-17 Pavel Tisnovsky * patches/componentOrientationTests.patch: @@ -676,6 +971,12 @@ * Makefile.am: Renamed three patches to be more consistent with other JTreg-related patches. +2013-05-15 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Remove reference to removed + patch patches/openjdk/8009641-8007675_build_fix.patch. + 2013-05-15 Pavel Tisnovsky * Makefile.am: @@ -1052,6 +1353,62 @@ * patches/jvmtiEnv.patch: Moved to... * patches/hotspot/original/jvmtiEnv.patch: here. +2013-03-19 Andrew John Hughes + + * patches/openjdk/8004341-jck_dialog_failure.patch, + * patches/openjdk/8005615-failure_to_load_logger_implementation.patch, + * patches/openjdk/8007393.patch, + * patches/openjdk/8007611.patch, + * patches/openjdk/8009641-8007675_build_fix.patch, + * patches/security/20130201/6563318.patch, + * patches/security/20130201/6664509.patch, + * patches/security/20130201/6776941.patch, + * patches/security/20130201/7141694.patch, + * patches/security/20130201/7173145.patch, + * patches/security/20130201/7186945.patch, + * patches/security/20130201/7186948.patch, + * patches/security/20130201/7186952.patch, + * patches/security/20130201/7186954.patch, + * patches/security/20130201/7192392.patch, + * patches/security/20130201/7192393.patch, + * patches/security/20130201/7192977.patch, + * patches/security/20130201/7197546.patch, + * patches/security/20130201/7200491.patch, + * patches/security/20130201/7200500.patch, + * patches/security/20130201/7201064.patch, + * patches/security/20130201/7201066.patch, + * patches/security/20130201/7201068.patch, + * patches/security/20130201/7201070.patch, + * patches/security/20130201/7201071.patch, + * patches/security/20130201/8000210.patch, + * patches/security/20130201/8000537.patch, + * patches/security/20130201/8000540.patch, + * patches/security/20130201/8000631.patch, + * patches/security/20130201/8001235.patch, + * patches/security/20130201/8001242.patch, + * patches/security/20130201/8001307.patch, + * patches/security/20130201/8001972.patch, + * patches/security/20130201/8002325.patch, + * patches/security/20130219/8006446.patch, + * patches/security/20130219/8006777.patch, + * patches/security/20130219/8007688.patch, + * patches/security/20130304/8007014.patch, + * patches/security/20130304/8007675.patch: + Remove patches available upstream. + * Makefile.am: + (JAXP_DROP_ZIP): Update to jaxp144_05.zip + with latest security fix included. + (JAXP_DROP_SHA256SUM): Likewise. + (SECURITY_PATCHES): Remove ones available + upstream (all from 2013/02/01, 2013/02/19 + and 2013/03/04). + (ICEDTEA_PATCHES): Remove patches for + 8005615, 8004341, 8007393 & 8007611 + available upstream. + * patches/ecj/override.patch: + Add new case introduced by upstream version + of security patches (sigh...) + 2013-03-18 Andrew John Hughes * Makefile.am: @@ -1653,6 +2010,11 @@ 2012-10-31 Andrew John Hughes + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b28. + +2012-10-31 Andrew John Hughes + * generated/com/sun/corba/se/impl/logging/ActivationSystemException.java, * generated/com/sun/corba/se/impl/logging/IORSystemException.java, * generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java, diff -r 1f7c8917ad9c -r 75ec17efe140 INSTALL --- a/INSTALL Mon Sep 09 14:28:21 2013 +0100 +++ b/INSTALL Thu Sep 19 02:34:29 2013 +0100 @@ -319,19 +319,15 @@ download stage and just verifies that the zip's MD5 sum matches that of the requested build. -At present, IcedTea6 supports the 'original' HotSpot 20 provided as -part of the upstream tarball and 'hs23', the HotSpot used by the IcedTea -2.3.x series. Note that the norm. is for up to one alternate (non-default) -build to be supported and just passing --with-hotspot-build +At present, IcedTea6 supports the 'original' HotSpot 23 provided as +part of the upstream tarball. Note that the norm. is for up to one +alternate (non-default) build to be supported and just passing --with-hotspot-build (equivalent to --with-hotspot-build=yes) will always provide the alternate build. Conversely, passing --without-hotspot-build (equivalent to --with-hotspot-build=no) provides the original build from the OpenJDK tarball. When no option is specified, the default build is used. At present, -this is 'hs23' unless the user is building Zero or Shark (either by -choice, or because the build has default to this on architectures -other than x86/x86_64/sparc). As 'hs23' is known not to work with -Zero or Shark, 'original' is still the default for these builds. +this is 'original'. JavaScript Support ================== diff -r 1f7c8917ad9c -r 75ec17efe140 Makefile.am --- a/Makefile.am Mon Sep 09 14:28:21 2013 +0100 +++ b/Makefile.am Thu Sep 19 02:34:29 2013 +0100 @@ -2,7 +2,7 @@ OPENJDK_DATE = 26_oct_2012 OPENJDK_SHA256SUM = 044c3877b15940ff04f8aa817337f2878a00cc89674854557f1a02f15b1802a0 -OPENJDK_VERSION = b27 +OPENJDK_VERSION = b28 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ CACAO_VERSION = 68fe50ac34ec @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 1a58072f8339270f9372c273d82a00790e04375d -JAMVM_SHA256SUM = b6dafea4924a2772877597b07a59108ac5f95d6ec85fbb0bb2ea80653cdaaaaf +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -278,170 +278,10 @@ ICEDTEA_FSG_PATCHES = -DROP_PATCHES = \ - patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch \ - patches/openjdk/jaxp144_05.patch +DROP_PATCHES = SECURITY_PATCHES = \ - patches/security/20120830/7182135-impossible_to_use_some_editors_directly.patch \ - patches/security/20130201/7201068.patch \ - patches/security/20130201/6563318.patch \ - patches/security/20130201/6664509.patch \ From ptisnovs at icedtea.classpath.org Thu Sep 19 00:43:42 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 19 Sep 2013 07:43:42 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset d1dd2cc5a2c0 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d1dd2cc5a2c0 author: Pavel Tisnovsky date: Thu Sep 19 09:47:24 2013 +0200 Ten new tests added into BitBltAffineQuadrantRotateTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r ee75bbf712b8 -r d1dd2cc5a2c0 ChangeLog --- a/ChangeLog Wed Sep 18 11:24:24 2013 +0200 +++ b/ChangeLog Thu Sep 19 09:47:24 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-19 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Ten new tests added into BitBltAffineQuadrantRotateTransformOp. + 2013-09-18 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r ee75bbf712b8 -r d1dd2cc5a2c0 src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Wed Sep 18 11:24:24 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Thu Sep 19 09:47:24 2013 +0200 @@ -361,6 +361,146 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteBinaryRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Sep 19 00:47:40 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 19 Sep 2013 07:47:40 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset 83faff14e207 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=83faff14e207 author: Pavel Tisnovsky date: Thu Sep 19 09:51:27 2013 +0200 Added new test testNewInstance into the test suite CompilableClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/SimpleScriptContextClassTest.java | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diffs (41 lines): diff -r 2e5f4bdb4931 -r 83faff14e207 ChangeLog --- a/ChangeLog Wed Sep 18 11:42:31 2013 +0200 +++ b/ChangeLog Thu Sep 19 09:51:27 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-19 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + Added new test testNewInstance into the test suite + CompilableClassTest. + 2013-09-18 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r 2e5f4bdb4931 -r 83faff14e207 src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Wed Sep 18 11:42:31 2013 +0200 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Thu Sep 19 09:51:27 2013 +0200 @@ -1692,6 +1692,24 @@ } /** + * Test for method javax.script.SimpleScriptContext.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.simpleScriptContextClass.newInstance(); + } + catch (InstantiationException e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + catch (IllegalAccessException e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleScriptContext */ @SuppressWarnings("cast") From jvanek at redhat.com Thu Sep 19 01:06:57 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Sep 2013 10:06:57 +0200 Subject: IcedTea-Web 1.4.1 released! Message-ID: <523AB0A1.2060905@redhat.com> Hi all! Please consider http://icedtea.classpath.org/hg/release/icedtea-web-1.4 as free to work :) Tarball: a03135f895d60837f6bf7784de0c3914 http://icedtea.wildebeest.org/download/source/icedtea-web-1.4.1.tar.gz After extracting, it can be built as per instructions here: http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web Not much had happened: New in release 1.4.1 (2013-XX-YY): * Improved and cleaned Temporary internet files panel * NetX - PR1465 - java.io.FileNotFoundException while trying to download a JAR file - PR1473 - javaws should not depend on name of local file * Plugin - PR854: Resizing an applet several times causes 100% CPU load * Security Updates - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet + reproducers tests are enabled in dist-tarball + application context support for OpenJDK build 25 and higher + small patches into rhino support and + PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties - which are backports and are not in news from some reason :) J. Specials thanks goes to Jana Fabrikova and Andrew Azores, who were willing to deeply test the tarball From jvanek at icedtea.classpath.org Thu Sep 19 01:18:41 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Sep 2013 08:18:41 +0000 Subject: /hg/release/icedtea-web-1.4: Prepared for 1.4.2 Message-ID: changeset 07a42beaadad in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=07a42beaadad author: Jiri Vanek date: Thu Sep 19 10:18:21 2013 +0200 Prepared for 1.4.2 diffstat: NEWS | 4 +++- configure.ac | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diffs (23 lines): diff -r 0ada01b1cdc3 -r 07a42beaadad NEWS --- a/NEWS Mon Sep 16 10:45:37 2013 +0200 +++ b/NEWS Thu Sep 19 10:18:21 2013 +0200 @@ -8,7 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.4.1 (2013-XX-YY): +New in release 1.4.2 (2013-MM-DD): + +New in release 1.4.1 (2013-09-19): * Improved and cleaned Temporary internet files panel * NetX - PR1465 - java.io.FileNotFoundException while trying to download a JAR file diff -r 0ada01b1cdc3 -r 07a42beaadad configure.ac --- a/configure.ac Mon Sep 16 10:45:37 2013 +0200 +++ b/configure.ac Thu Sep 19 10:18:21 2013 +0200 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.4.1],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.4.2pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile netx.manifest]) From jfabriko at redhat.com Thu Sep 19 02:19:04 2013 From: jfabriko at redhat.com (Jana Fabrikova) Date: Thu, 19 Sep 2013 11:19:04 +0200 Subject: [rfc][icedtea-web] Generating text reports from tests_output.xml Message-ID: <523AC188.8080803@redhat.com> Hello, please see the attached patch (xls styles for generating text output from reproducers run), cheers, Jana -------------- next part -------------- A non-text attachment was scrubbed... Name: xsl-patch.patch Type: text/x-patch Size: 13401 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/80cbde44/xsl-patch.patch From jvanek at redhat.com Thu Sep 19 02:33:14 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Sep 2013 11:33:14 +0200 Subject: [rfc][icedtea-web] Generating text reports from tests_output.xml In-Reply-To: <523AC188.8080803@redhat.com> References: <523AC188.8080803@redhat.com> Message-ID: <523AC4DA.2000208@redhat.com> On 09/19/2013 11:19 AM, Jana Fabrikova wrote: > Hello, > > please see the attached patch (xls styles for generating text output from reproducers run), > > cheers, > Jana Just general hints as we agreed: - left only the complex template - use it also for unittests - get rid of xml header - will be ok for head and 1.4 - you should use xmllint to format the sheet. Thanx! J. From gitne at gmx.de Thu Sep 19 03:29:11 2013 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 19 Sep 2013 12:29:11 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <52387089.7000703@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> Message-ID: <523AD1F7.10609@gmx.de> Hello Omair, Omair Majid wrote: > Hi Jacob, > > I wanted to avoid doing these explanations so I pointed you to the spec. > Looks like I did not clarify what I meant, so let me try again :) > > On 09/16/2013 08:26 PM, Jacob Wisor wrote: >> This suggests that there had been an attempt or had been thought about >> filtering out classes in /restricted/ packages, but this does not seem >> to be in effect anymore or not yet. > > This is restricted by two things: > > 1. The existing java.security file shipped with your (open)JDK. This > should define a variable called package.access. This variable contains > packages that can not be accessed without a permission check. Untrusted > code accessing a package (any package) will trigger a permission check - > this is done in the JDK and not in icedtea-web. > > 2. IcedTea-Web adds itself to this list on startup. > > This takes care of untrusted applications trying to access > net.sourceforge.jnlp.*. Yes, I have done some testing (even with some less naive test than Jiri's) myself and have come to the same conclusion after examining the exception stack trace, namely that IcedTea-Web does add the net.sourceforge.jnlp.* package namespace to the list of restricted packages with its own JNLPSecurityManager. You are right, it does take care of malicious code that may put its classes into net.sourceforge.jnlp. Now I am feeling uncomfortable with IcedTea-Web restricting access to the net.sourceforge.jnlp package namespace entirely because this package namespace is not reserved by any public specification. Although this probably does not pose a problem in practice, I am thinking whether IcedTea-Web should not take a more granular approach when restricting access. Should not it only restrict access to actually existing IcedTea-Web classes? And, since signed jars get AllPermissions by default it is still advised to keep access to fields and methods as limited as possible but as open as necessary. >> Furthermore, I also did not find any text in the specifications nor the >> reference documentation that would support the claim that class loaders >> define separate class or namespace domains. > > It doesn't. But please read my mail again because that's not the claim I > made. I only mentioned making fields package-private. And the JVM spec > does clarify that: > > """ > 5.4.4 Access control: > > A field or method R is accessible to a class or interface D if and only > if any of the following conditions are true: > > (snip) > > R is either protected or has default access (that is, neither public > nor protected nor private), and is declared by a class in the same > run-time package as D. > """ > > Given that our net.sourceforge.jnlp* classes are a in different run-time > package than an attacker supplied net.sourceforge.jnlp.* class, making > things package-private limits access. Well, then obviously class loaders do define separate namespace domains effectively, at least at run-time. This is a hell of a way to describe it. :-D The JVM spec brings up the distinct concepts of run-time packages and compile-time packages rather in passing. I would have expected this concept to be described in a separate paragraph. Nevertheless, the fields of concern in net.sourceforge.jnlp.config.Defaults should still be kept to default access modifiers. The reproducer can load javaws with the system class loader that has an AllPermissions security context. Because of that it can also load its helper class in net.sourceforge.jnlp.config into javaws' net.sourceforge.jnlp.config run-time package by using JNLPClassLoader providing its AllPermissions security context. Then the reproducer should be able to access the fields in question via its helper class. Regards, Jacob From jfabriko at redhat.com Thu Sep 19 04:12:16 2013 From: jfabriko at redhat.com (Jana Fabrikova) Date: Thu, 19 Sep 2013 13:12:16 +0200 Subject: [rfc][icedtea-web] Generating text reports from tests_output.xml In-Reply-To: <523AC4DA.2000208@redhat.com> References: <523AC188.8080803@redhat.com> <523AC4DA.2000208@redhat.com> Message-ID: <523ADC10.8060603@redhat.com> On 09/19/2013 11:33 AM, Jiri Vanek wrote: > On 09/19/2013 11:19 AM, Jana Fabrikova wrote: >> Hello, >> >> please see the attached patch (xls styles for generating text output >> from reproducers run), >> >> cheers, >> Jana > Just general hints as we agreed: > - left only the complex template > - use it also for unittests > - get rid of xml header > - will be ok for head and 1.4 > - you should use xmllint to format the sheet. > > Thanx! > > J. Hi Jiri, thanks for comments. All the above points have been done, please see the attached patch, Jana -------------- next part -------------- A non-text attachment was scrubbed... Name: xsl-patch.patch Type: text/x-patch Size: 6509 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/6f4c368a/xsl-patch.patch From jvanek at redhat.com Thu Sep 19 04:27:14 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Sep 2013 13:27:14 +0200 Subject: [rfc][icedtea-web] Generating text reports from tests_output.xml In-Reply-To: <523ADC10.8060603@redhat.com> References: <523AC188.8080803@redhat.com> <523AC4DA.2000208@redhat.com> <523ADC10.8060603@redhat.com> Message-ID: <523ADF92.3040903@redhat.com> On 09/19/2013 01:12 PM, Jana Fabrikova wrote: > On 09/19/2013 11:33 AM, Jiri Vanek wrote: >> On 09/19/2013 11:19 AM, Jana Fabrikova wrote: >>> Hello, >>> >>> please see the attached patch (xls styles for generating text output from reproducers run), >>> >>> cheers, >>> Jana >> Just general hints as we agreed: >> - left only the complex template >> - use it also for unittests >> - get rid of xml header >> - will be ok for head and 1.4 >> - you should use xmllint to format the sheet. >> >> Thanx! >> >> J. > Hi Jiri, thanks for comments. All the above points have been done, please see the attached patch, > Jana Wou. Most nasty xmllint --format ever ;) jsut nit: the comment is out of scope in this new tempalte 9from where it was copypasted? O:) please remove and ok for head+1.4. Happy diff-ing :) J. From jfabriko at icedtea.classpath.org Thu Sep 19 04:34:27 2013 From: jfabriko at icedtea.classpath.org (jfabriko at icedtea.classpath.org) Date: Thu, 19 Sep 2013 11:34:27 +0000 Subject: /hg/icedtea-web: adding xsl style for generating text summary af... Message-ID: changeset 259e569a407d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=259e569a407d author: Jana Fabrikova date: Thu Sep 19 13:36:15 2013 +0200 adding xsl style for generating text summary after reproducers or unit tests run diffstat: ChangeLog | 9 +++++ Makefile.am | 2 + tests/report-styles/textreport.xsl | 63 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 0 deletions(-) diffs (102 lines): diff -r 6344db94b95f -r 259e569a407d ChangeLog --- a/ChangeLog Wed Sep 18 15:54:12 2013 +0200 +++ b/ChangeLog Thu Sep 19 13:36:15 2013 +0200 @@ -1,3 +1,12 @@ +2013-09-19 Jana Fabrikova + + Added text only reports from reproducers and unit tests run + * tests/report-styles/textreport.xls: + style for generating summary output in summary_reproducers.txt + and summary_unit.txt + * Makefile.am: + added generating the text reports in run-netx-dist-tests goal + 2013-09-18 Jiri Vanek Removed java 1.3 comaptible (redundant) code from ParseException diff -r 6344db94b95f -r 259e569a407d Makefile.am --- a/Makefile.am Wed Sep 18 15:54:12 2013 +0200 +++ b/Makefile.am Thu Sep 19 13:36:15 2013 +0200 @@ -876,6 +876,7 @@ if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/summary_reproducers.txt endif touch $@ @@ -1053,6 +1054,7 @@ if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/summary_unit.txt endif mkdir -p stamps && \ touch $@ diff -r 6344db94b95f -r 259e569a407d tests/report-styles/textreport.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/report-styles/textreport.xsl Thu Sep 19 13:36:15 2013 +0200 @@ -0,0 +1,63 @@ + + + + + Date: + +Result: (In brackets are KnownToFail values if any) + +TOTAL: () +passed: () +failed: () +ignored: () + +Classes: + +PASSED +FAILED + + +Individual results: + +IGNORED +FAILED +PASSED - WARNING This test is known to fail, but have passed! - This test is known to fail - This test is running remote content. + + + From jfabriko at icedtea.classpath.org Thu Sep 19 04:45:27 2013 From: jfabriko at icedtea.classpath.org (jfabriko at icedtea.classpath.org) Date: Thu, 19 Sep 2013 11:45:27 +0000 Subject: /hg/release/icedtea-web-1.4: adding xsl style for generating tex... Message-ID: changeset 43c022220b84 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=43c022220b84 author: Jana Fabrikova date: Thu Sep 19 13:47:13 2013 +0200 adding xsl style for generating text summaries of reproducers and unit tests run diffstat: ChangeLog | 9 ++++ Makefile.am | 2 + tests/report-styles/textreport.xsl | 70 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 0 deletions(-) diffs (109 lines): diff -r 07a42beaadad -r 43c022220b84 ChangeLog --- a/ChangeLog Thu Sep 19 10:18:21 2013 +0200 +++ b/ChangeLog Thu Sep 19 13:47:13 2013 +0200 @@ -1,3 +1,12 @@ +2013-09-19 Jana Fabrikova + + Added text only reports from reproducers and unit tests run + * tests/report-styles/textreport.xls: + style for generating summary output in summary_reproducers.txt + and summary_unit.txt + * Makefile.am: + added generating the text reports in run-netx-dist-tests goal + 2013-09-16 Jiri Vanek * Makefile.am: (EXTRA_DIST) added netx-dist-tests-whitelist NEW_LINE_IFS diff -r 07a42beaadad -r 43c022220b84 Makefile.am --- a/Makefile.am Thu Sep 19 10:18:21 2013 +0200 +++ b/Makefile.am Thu Sep 19 13:47:13 2013 +0200 @@ -857,6 +857,7 @@ if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/summary_reproducers.txt endif touch $@ @@ -1034,6 +1035,7 @@ if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/summary_unit.txt endif mkdir -p stamps && \ touch $@ diff -r 07a42beaadad -r 43c022220b84 tests/report-styles/textreport.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/report-styles/textreport.xsl Thu Sep 19 13:47:13 2013 +0200 @@ -0,0 +1,70 @@ + + + + + Date: + +Result: (In brackets are KnownToFail values if any) + +TOTAL: () +passed: () +failed: () +ignored: () + +Classes: + +PASSED +FAILED + + +Individual results: + +IGNORED +FAILED +PASSED - WARNING This test is known to fail, but have passed! - This test is known to fail - This test is running remote content. + + + From omajid at redhat.com Thu Sep 19 08:04:40 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 19 Sep 2013 11:04:40 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <523AD1F7.10609@gmx.de> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> <523AD1F7.10609@gmx.de> Message-ID: <523B1288.2030408@redhat.com> Hi Jacob, On 09/19/2013 06:29 AM, Jacob Wisor wrote: > Now I am feeling uncomfortable with IcedTea-Web > restricting access to the net.sourceforge.jnlp package namespace > entirely because this package namespace is not reserved by any public > specification. Although this probably does not pose a problem in > practice, I am thinking whether IcedTea-Web should not take a more > granular approach when restricting access. Should not it only restrict > access to actually existing IcedTea-Web classes? Unfortunately, I don't think that's an option we have right now. The restriction mechanism is based on a package prefix. So all net.sourceforge.jnlp package (and subpackages) are restricted. The only project that should be using this namespace at all would be netx (which we forked), and that provides a javaws implementation, so I am not too worried about something using this package. > And, since signed jars get AllPermissions by default it is still advised > to keep access to fields and methods as limited as possible but as open > as necessary. Yeah, but then the issue goes from a security issue to a bad code issue. I am all for restricting access too, but if a code has permissions, it can use reflection to do pretty much anything to any object. > Nevertheless, the fields of concern in > net.sourceforge.jnlp.config.Defaults should still be kept to default > access modifiers. I agree 100%. Fields (and methods) should be kept as restricted as possible. > The reproducer can load javaws with the system class > loader that has an AllPermissions security context. Because of that it > can also load its helper class in net.sourceforge.jnlp.config into > javaws' net.sourceforge.jnlp.config run-time package by using > JNLPClassLoader providing its AllPermissions security context. Then the > reproducer should be able to access the fields in question via its > helper class. Yeah, except if something can has AllPermissions (or can access the system classloader) it can do pretty much anything already. In this case, you can either use reflection to read the fields directly or even just read System.getProperty("user.home"). Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From andrew at icedtea.classpath.org Thu Sep 19 08:58:19 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 19 Sep 2013 15:58:19 +0000 Subject: /hg/icedtea6: Fail if a C++ compiler is not installed. Message-ID: changeset a431aea72bfc in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a431aea72bfc author: Andrew John Hughes date: Thu Sep 19 16:58:11 2013 +0100 Fail if a C++ compiler is not installed. 2013-09-19 Andrew John Hughes * configure.ac: Check if CXX gets set and fail if not. diffstat: ChangeLog | 5 +++++ configure.ac | 3 +++ 2 files changed, 8 insertions(+), 0 deletions(-) diffs (25 lines): diff -r 48ba1e242c44 -r a431aea72bfc ChangeLog --- a/ChangeLog Tue Sep 17 20:08:21 2013 +0200 +++ b/ChangeLog Thu Sep 19 16:58:11 2013 +0100 @@ -1,3 +1,8 @@ +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CXX gets set and fail if not. + 2013-09-17 Xerxes R??nby Robert Lougher diff -r 48ba1e242c44 -r a431aea72bfc configure.ac --- a/configure.ac Tue Sep 17 20:08:21 2013 +0200 +++ b/configure.ac Thu Sep 19 16:58:11 2013 +0100 @@ -17,6 +17,9 @@ AC_PROG_CC AC_PROG_CXX +if test "x$CXX" = x; then + AC_MSG_ERROR([No C++ compiler found.]) +fi IT_FIND_TOOL([MAKE], [make]) IT_FIND_TOOL([GZIP], [gzip]) From andrew at icedtea.classpath.org Thu Sep 19 09:01:04 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 19 Sep 2013 16:01:04 +0000 Subject: /hg/icedtea6: Also fail if the C compiler is not found. Message-ID: changeset 73058db81e91 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=73058db81e91 author: Andrew John Hughes date: Thu Sep 19 17:00:58 2013 +0100 Also fail if the C compiler is not found. 2013-09-19 Andrew John Hughes * configure.ac: Check if CC gets set and fail if not. diffstat: ChangeLog | 5 +++++ configure.ac | 4 ++++ 2 files changed, 9 insertions(+), 0 deletions(-) diffs (26 lines): diff -r a431aea72bfc -r 73058db81e91 ChangeLog --- a/ChangeLog Thu Sep 19 16:58:11 2013 +0100 +++ b/ChangeLog Thu Sep 19 17:00:58 2013 +0100 @@ -1,3 +1,8 @@ +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CC gets set and fail if not. + 2013-09-19 Andrew John Hughes * configure.ac: diff -r a431aea72bfc -r 73058db81e91 configure.ac --- a/configure.ac Thu Sep 19 16:58:11 2013 +0100 +++ b/configure.ac Thu Sep 19 17:00:58 2013 +0100 @@ -16,6 +16,10 @@ AC_PREFIX_DEFAULT([bootstrap]) AC_PROG_CC +if test "x$CC" = x; then + AC_MSG_ERROR([No C compiler found.]) +fi + AC_PROG_CXX if test "x$CXX" = x; then AC_MSG_ERROR([No C++ compiler found.]) From omajid at redhat.com Thu Sep 19 10:34:09 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 19 Sep 2013 13:34:09 -0400 Subject: [icedtea-web] RFC: Unit tests for JNLPProxySelector Message-ID: <523B3591.2050904@redhat.com> Hi, The attached patch adds a bunch of unit tests for JNLPProxySelector. Most functionality aside from making use of a PAC file should be covered by tests now. I tried to avoid making any functional changes, but it felt wrong to let this one mistake go by: - String host = uri.getSchemeSpecificPart().split(":")[0]; + String host = uri.getHost(); Given the URI of "socket://example.org", the first line evaluates to "//example.org", while the second one (correctly) evaluates to "example.org". Okay to push? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: jnlpproxyselector-tests-01.patch Type: text/x-patch Size: 21580 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/714a7d95/jnlpproxyselector-tests-01.patch From omajid at redhat.com Thu Sep 19 11:35:37 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 19 Sep 2013 14:35:37 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5239CF1C.9020802@redhat.com> References: <522F7EDF.5070407@redhat.com> <523200F2.4050606@redhat.com> <52331D42.5010700@redhat.com> <5238EDC0.1090900@redhat.com> <5239CF1C.9020802@redhat.com> Message-ID: <523B43F9.8010502@redhat.com> Hi Jiri, After all this while, I just realized something... when you say 'logging' you don't really mean logging, do you? The 'bottleneck' description, I guess, is probably more accurate for what you are trying to do. Maybe you can use a MessageIO class or something to act as a bottlneck and use a separate logger class to control where/how thing are logged to syslog/whatever ? On 09/18/2013 12:04 PM, Jiri Vanek wrote: > On 09/18/2013 02:03 AM, Omair Majid wrote: >> Do you really want to log completely informational messages (and ~1000 >> lines of them) to syslog for each javaws run? >> > > It is not so much. even in verbose mode, when you imagine-out reprinted > jnlp (which I do not log in no way) then it is quit ok ammount > (fromjava side) The c side with debug on is quite more treacherous. Right, and I think both of those are not appropriate for syslog. >>>> Or perhaps we should use the logging levels and only syslog >>>> important-enough messages >>>> >>>>> + public void printErrorLn(String e) { >>>> >>>>> + public void printOutLn(String e) { >>>> >>>>> + public void printBothLn(String e) { >>>> >>>>> + public void printError(String e) { >>>> >>>>> + public void printOut(String e) { >>>> >>>>> + public void printBoth(String e) { >>>> >>>> Do these really need to be public? They look like internal helper >>>> methods. >>> >>> Parially. I have used them also in itw to print messages like -abourt >>> and -help. //see the refactoring patch for them) >> >> Please don't. There's no reason why -about has to use the logger for >> output. > > > no no, you misunderstood me a bit - I do not log those messages. Those > wraper methods are ensuring, that the "standard output" is going to same > standard output as is used by ItwLogger for "standard output" reprint Sorry, I think this makes these methods even more dubious. If they are not for logging, why are they in this class? > So I'm still for keeping them inside, so the messages will coem to > correct stream (se eg trerrible method of redirectStreems (under > refactoring right now) Maybe a better design would be something like this: public class Console { public Console(PrintStream out, PrintStream error); } public class ItwLogger { public ItwLogger(PrintStream out, PrintStream error); } main() { // make both use the same stdout/stderror Console console = new Console(System.out, System.err); ItwLogger logger = new ItwLogger(System.out, System.err); // now things use logger for logging and console when they want // console output, formatting and so on. } >>> + public static enum StdStream { >>> + >>> + OUT, ERR, BOTH >>> + } > > This was mentioned for replacement of various stderr/stdout >> >> Stupid question: is there any output from icedtea-web that we want to go >> do stdout? Everything I can think of is basically an error message and >> probably should go to stderr. > > I think that info message should go to stdout, warning messages to std > out and err, and errors and exceptions to std_err I don't think it makes sense to duplicate stuff to both stdout and stderr. Can you give me an example where it would make sense? If you think informational stuff goes to stdout and warnings/errors/exceptions go to stderr, that sounds fine to me. And in that case, we can make this StdStream enum private. >> If you think this makes sense, maybe we can reduce the API to two >> methods: >> >> logInformation(String message) >> logError(String message) > > hmhmh. My current opinion is to include it to "current (new) logging > levels" levels of messages: > > MESSAGE_ALL - stdout in all cases > MESSAGE_VERBOSE - stdout in verbose/debug mode > ERROR_ALL - stderr in all cases (default for > ERROR_VERBOSE - stderr in verbose/debug mode > > Those may change during development, especially in phase of tuning > messages - some fine,finer,finest or similar :) Okay. > And still three checkboxes to control output: > std streams > file > system log I am going to have to think about this. Generally I like less configuration. Maybe it would make sense to log to stdout/stderr and syslog by default and make file optional? >> >> (and maybe variants that accept Object or Throwable arguments, or maybe >> change the methods tolog(Level level, String message)). >> >> Giving user-code the option to reprint, select streams and so on is >> rather unnecessary, IHMO. And based on these two methods, we can select >> what should go into low-volume output (syslog) and high-volume output >> (terminal if -verbose is used or a icedtea-web log file), with the >> option to change policy on what-goes-where later. > > > Hm, I wonted to unify (internal) form of debug/verbose. Okay, but then don't call it logging. :) > But you sounds > different. May you elaborate here on your prerequisites? I was assuming that this was really meant for logging. And as far as I can see, the more 'options' you provide to the user, the more funky way the logging api can be used. For logging, don't you just want an api that clients can use to log information (and not all messages) when they see fit. >> Have you seen TeeOutputStream? > > If you mean the apache one or general ide of it then yes. No, I mean net.sourceforge.jnlp.util.TeeOutputStream. It's just a way to write information to two streams without putting that responsibility in a class whose primary responsibility is something else. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gitne at gmx.de Thu Sep 19 11:46:31 2013 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 19 Sep 2013 20:46:31 +0200 Subject: [rfc][icedtea-web] Cache viewer cleanup In-Reply-To: <523713B7.6080607@redhat.com> References: <201307302347.r6UNl2x1011963@mail-web03.excite.co.jp> <5229ACDB.7030102@redhat.com> <52364E27.3010300@gmx.de> <523713B7.6080607@redhat.com> Message-ID: <523B4687.8070505@gmx.de> Jiri Vanek wrote: > On 09/16/2013 02:17 AM, Jakob Wisor wrote: >> Hello there! >> >> I have checked and corrected the code's formatting, and followed >> Jiri's reasonable advice. >> >> Jiri Vanek wrote: >>> On 07/31/2013 01:47 AM, Jacob Wisor wrote: >>>> Hello, >>>> >>>> * Added closing of cache viewer by ESC key >>>> * Added proper dis-/enabling of cache viewer's buttons >>>> * Added busy mouse cursor indicator when populating the cache viewer >>>> >>>> Everything is done on purpose on the AWT thread as before. Although >>>> I am personally not in favor >>>> of anonymous classes, I have tried to stick to the prevalent coding >>>> style. >>>> >>>> Unfortunately, I was unable to test the cache viewer's behavior >>>> because I do not know how to put >>>> synthetic cache entries into the cache. Can anyone help me with >>>> that? What does a the cache look >>>> like when filled with resources? Is there any index file that keeps >>>> track of the cache? > > As this is gui change only, it shouldbe ok without test. > However cache is set of jars and jnlp files saved in url-like-filestrucutre > > eg http:\\my.domain\myApp.jnlp with myJAr in "." codebase will be saved > like > cache/http/my/domain/myApp.jnlp > cache/http/my/domain/myJar.jnlp > > and yes, there is index file in tom cache directory > > I have some memorry that there are already tests for it - most simple > case how to import jar into cache is to lunch javaws ;) > >>>> > ...,snip... >>> Those should be in finally block >>>> + parent.getContentPane().setCursor(Cursor.getDefaultCursor()); >> >> Done. Please check whether I have done it correctly or the way you >> have meant. >> >>>> } > > Thank you. >>>> /** >>>> @@ -305,4 +363,4 @@ >>>> defaultFocusComponent.requestFocusInWindow(); >>>> } >>>> } >>>> -} >>>> +} >>>> \ No newline at end of file >>>> diff --git a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>>> b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>>> --- a/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>>> +++ b/netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java >>>> @@ -22,7 +22,10 @@ >>>> import java.awt.Frame; >>>> import java.awt.GridBagConstraints; >>>> import java.awt.GridBagLayout; >>>> +import java.awt.KeyEventDispatcher; >>>> +import java.awt.KeyboardFocusManager; >>>> import java.awt.Toolkit; >>>> +import java.awt.event.KeyEvent; >>>> import java.awt.event.WindowAdapter; >>>> import java.awt.event.WindowEvent; >>>> @@ -53,8 +56,9 @@ >>>> */ >>>> public CacheViewer(DeploymentConfiguration config) { >>>> super((Frame) null, dialogTitle, true); // Don't need a >>>> parent. >>>> + if ((this.config = config) == null) >>>> + throw new IllegalArgumentException("config: " + config); >>>> >>>> setIconImages(ImageResources.INSTANCE.getApplicationImages()); > > Please for head - split this to onemore line > > + this.config = config; > + if (this.config == null) > + throw new IllegalArgumentException("config: " + config); > > for possible backport as as you mentioned) please dont add this change > of exception. 1.4 expect NPE later or some error. > >>>> - this.config >>>> + }); >>>> + >>>> initialized = true; >>>> } >>>> @@ -116,4 +145,4 @@ >>>> private void centerDialog() { >>>> ScreenFinder.centerWindowsToCurrentScreen(this); >>>> } >>>> -} >>>> +} >>>> \ No newline at end of file >>> >>> Please mention both Cache viewer cleanup and CerViewr viewer cleanup >>> in news. >> >> Will do but they are separate patches. >> >> Happy reviewing! > > For _this_ patch, the NEWS line should be attached explicitly. > For CerViewr the separate patch is ok. > > > No more review needed. With above fixed, ok to head (and 1.4 if wonted) Okay! :-) Thank you for reviewing. But, I want to test it at least a little bit. Now, that I have written a few JNLP application and applet tests I have kinda also found the time and leisure to really do it. ;-) It's better do it once before feeling sorry afterwards. Jacob From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 12:26:39 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 19:26:39 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/hotspot?cmd=changeset;node=bd43756e33c2 author: andrew date: Wed Sep 04 18:21:33 2013 +0100 PR1551: Add build support for Zero AArch64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/756c6785/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 12:27:23 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 19:27:23 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=c9f88ce0f023 author: andrew date: Wed Sep 04 17:28:03 2013 +0100 PR1551: Add build support for Zero AArch64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/eaaa9fb1/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 12:27:29 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 19:27:29 +0000 Subject: [Bug 1552] [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=a6254b1b2bb3 author: andrew date: Wed Sep 04 17:32:38 2013 +0100 PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/dbf7add0/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 12:27:34 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 19:27:34 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=0e1957c1a245 author: andrew date: Wed Sep 04 17:53:23 2013 +0100 PR1553: Add Debian AArch64 support -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/a0899bab/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 12:27:39 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 19:27:39 +0000 Subject: [Bug 1554] [IcedTea7] Fix build on Mac OS X In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=0421864fd399 author: andrew date: Wed Sep 04 18:20:38 2013 +0100 PR1554: Fix build on Mac OS X Contributed-by: Alex Kasko -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/b5b795ee/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 19 13:15:10 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Sep 2013 20:15:10 +0000 Subject: [Bug 1507] Opening a VPN episode (Citrix). Serious fatal error window pop-up. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1507 --- Comment #22 from Andrew Azores --- Hi again Steve (and Udo), IcedTea-Web 1.4.1 has just been released today for Fedora 18 through 20 and contains the fix for this bug. You should be receiving an update to resolve the issue shortly. Thanks for the help in tracing this issue. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130919/5d1fa0ea/attachment.html From jvanek at redhat.com Fri Sep 20 00:19:12 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 20 Sep 2013 09:19:12 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <523B1288.2030408@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> <523AD1F7.10609@gmx.de> <523B1288.2030408@redhat.com> Message-ID: <523BF6F0.1090906@redhat.com> ok, discussion have been taken :)) now whats about original patch? Changelog: * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CONFIG_HOME) made public * tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: fixed log dir location Another casualty of the XDG spec change ;) Thanks, -- Andrew A DeploymentPropertiesAreExposed.patch diff --git a/netx/net/sourceforge/jnlp/config/Defaults.java b/netx/net/sourceforge/jnlp/config/Defaults.java --- a/netx/net/sourceforge/jnlp/config/Defaults.java +++ b/netx/net/sourceforge/jnlp/config/Defaults.java @@ -54,7 +54,7 @@ final static String SYSTEM_HOME = System.getProperty("java.home"); final static String SYSTEM_SECURITY = SYSTEM_HOME + File.separator + "lib" + File.separator + "security"; - final static String USER_CONFIG_HOME; + public final static String USER_CONFIG_HOME; public final static String USER_CACHE_HOME; final static String USER_SECURITY; final static String LOCKS_DIR = System.getProperty("java.io.tmpdir") + File.separator diff --git a/tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java b/tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java --- a/tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java +++ b/tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java @@ -42,11 +42,11 @@ import java.util.Collections; import java.util.List; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.config.Defaults; import org.junit.Test; public class DeploymentPropertiesAreExposedTest { - @Test public void verifyDeploymentConfigrationIsExposedAsSystemProperties() throws Exception { ServerAccess server = new ServerAccess(); @@ -55,7 +55,7 @@ ServerAccess.ProcessResult result = server.executeJavawsHeadless( trustCertificates, "/DeploymentPropertiesAreExposed.jnlp"); - String expectedRegex = ".*" + File.separator + ".icedtea" + File.separator + "log" + ".*"; + String expectedRegex = Defaults.USER_CONFIG_HOME + File.separator + "log" + ".*"; String actual = result.stdout.trim(); boolean stdOutMatches = actual.matches(expectedRegex); On 09/19/2013 05:04 PM, Omair Majid wrote: > Hi Jacob, > > On 09/19/2013 06:29 AM, Jacob Wisor wrote: >> Now I am feeling uncomfortable with IcedTea-Web >> restricting access to the net.sourceforge.jnlp package namespace >> entirely because this package namespace is not reserved by any public >> specification. Although this probably does not pose a problem in >> practice, I am thinking whether IcedTea-Web should not take a more >> granular approach when restricting access. Should not it only restrict >> access to actually existing IcedTea-Web classes? > > Unfortunately, I don't think that's an option we have right now. The > restriction mechanism is based on a package prefix. So all > net.sourceforge.jnlp package (and subpackages) are restricted. > > The only project that should be using this namespace at all would be > netx (which we forked), and that provides a javaws implementation, so I > am not too worried about something using this package. > >> And, since signed jars get AllPermissions by default it is still advised >> to keep access to fields and methods as limited as possible but as open >> as necessary. > > Yeah, but then the issue goes from a security issue to a bad code issue. > I am all for restricting access too, but if a code has permissions, it > can use reflection to do pretty much anything to any object. > >> Nevertheless, the fields of concern in >> net.sourceforge.jnlp.config.Defaults should still be kept to default >> access modifiers. > > I agree 100%. Fields (and methods) should be kept as restricted as > possible. > >> The reproducer can load javaws with the system class >> loader that has an AllPermissions security context. Because of that it >> can also load its helper class in net.sourceforge.jnlp.config into >> javaws' net.sourceforge.jnlp.config run-time package by using >> JNLPClassLoader providing its AllPermissions security context. Then the >> reproducer should be able to access the fields in question via its >> helper class. > > Yeah, except if something can has AllPermissions (or can access the > system classloader) it can do pretty much anything already. In this > case, you can either use reflection to read the fields directly or even > just read System.getProperty("user.home"). > > Thanks, > Omair > From jvanek at redhat.com Fri Sep 20 02:04:16 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 20 Sep 2013 11:04:16 +0200 Subject: [icedtea-web] RFC: Unit test for InformationDesc In-Reply-To: <5239E2A8.1080606@redhat.com> References: <5239E2A8.1080606@redhat.com> Message-ID: <523C0F90.8020702@redhat.com> On 09/18/2013 07:28 PM, Omair Majid wrote: > Hi, > > The attached patch adds a unit test for InformationDesc. > > It only makes once functional change to InformationDesc: it removes the > references to JNLPFile from InformationDesc. This made it much easier to > instantiate an instance of InformationDesc. > > Okay to push? > > Thanks, > Omair > ok for head. Also if you wont feel free to 1.4. It is nice clean up and test. Thank you. J. From ptisnovs at icedtea.classpath.org Fri Sep 20 02:12:12 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 20 Sep 2013 09:12:12 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset 361269035966 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=361269035966 author: Pavel Tisnovsky date: Fri Sep 20 11:15:56 2013 +0200 Added new test testNewInstance into the test suite CompilableClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/CompiledScriptClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r 83faff14e207 -r 361269035966 ChangeLog --- a/ChangeLog Thu Sep 19 09:51:27 2013 +0200 +++ b/ChangeLog Fri Sep 20 11:15:56 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-20 Pavel Tisnovsky + + * src/org/RhinoTests/CompiledScriptClassTest.java: + Added new test testNewInstance into the test suite + CompilableClassTest. + 2013-09-19 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r 83faff14e207 -r 361269035966 src/org/RhinoTests/CompiledScriptClassTest.java --- a/src/org/RhinoTests/CompiledScriptClassTest.java Thu Sep 19 09:51:27 2013 +0200 +++ b/src/org/RhinoTests/CompiledScriptClassTest.java Fri Sep 20 11:15:56 2013 +0200 @@ -1565,6 +1565,23 @@ } /** + * Test for method javax.script.CompiledScript.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.compiledScriptClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.CompiledScript */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Fri Sep 20 02:31:23 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 20 Sep 2013 09:31:23 +0000 Subject: /hg/gfx-test: Nine new tests added into BitBltBufferedImageOp. Message-ID: changeset 14efcf650603 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=14efcf650603 author: Pavel Tisnovsky date: Fri Sep 20 11:35:10 2013 +0200 Nine new tests added into BitBltBufferedImageOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBufferedImageOp.java | 153 ++++++++++++++++++ 2 files changed, 158 insertions(+), 0 deletions(-) diffs (175 lines): diff -r d1dd2cc5a2c0 -r 14efcf650603 ChangeLog --- a/ChangeLog Thu Sep 19 09:47:24 2013 +0200 +++ b/ChangeLog Fri Sep 20 11:35:10 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-20 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: + Nine new tests added into BitBltBufferedImageOp. + 2013-09-19 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r d1dd2cc5a2c0 -r 14efcf650603 src/org/gfxtest/testsuites/BitBltBufferedImageOp.java --- a/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Thu Sep 19 09:47:24 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Fri Sep 20 11:35:10 2013 +0200 @@ -567,6 +567,159 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageType4ByteABGRPre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param rasterOp + * selected raster operation + * @return test result status - PASSED, FAILED or ERROR + */ + protected TestResult doBitBltDiagonalCheckerBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, rasterOp); + } + + /** * Test basic BitBlt operation for buffered image containing grid pattern * with type TYPE_3BYTE_BGR * From andrew at icedtea.classpath.org Fri Sep 20 07:06:41 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 20 Sep 2013 14:06:41 +0000 Subject: /hg/icedtea7: 6 new changesets Message-ID: changeset 7008ba71f12f in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=7008ba71f12f author: Andrew John Hughes date: Fri Sep 20 14:08:53 2013 +0100 Sync with forest HEAD. 2013-09-19 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Set to b00. (JDK_UPDATE_VERSION): Set to 60. (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * hotspot.map: Update to HEAD. * patches/boot/ecj-diamond.patch: Regenerated. * patches/boot/ecj-trywithresources.patch: Add case in java.nio.file.Files. changeset 936f8f54db3a in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=936f8f54db3a author: Andrew John Hughes date: Fri Sep 20 14:13:18 2013 +0100 Enable system LCMS only if 2.5 or above is available. 2013-07-24 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Turn system LCMS on by default if the version is 2.5 or above with the latest security fixes. changeset 41bf342bdb3e in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=41bf342bdb3e author: Andrew John Hughes date: Fri Sep 20 14:20:07 2013 +0100 Update autoconf following recent fixes. 2013-09-09 Andrew John Hughes * acinclude.m4: (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm and support arm64|aarch64. (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with sparcv9 which is what INSTALL_ARCH_DIR is set to. 2013-08-30 Andrew John Hughes * INSTALL: Update with --enable-system-kerberos option. * Makefile.am: (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS and KRB5_CFLAGS. * acinclude.m4: (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos option (on by default) which checks for libkrb5 and the krb5.h header. * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. changeset d561879ac19c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=d561879ac19c author: Andrew John Hughes date: Fri Sep 20 14:22:34 2013 +0100 Make versioning variables more obvious and name tarballs better. 2013-09-10 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Renamed from OPENJDK_VERSION. (COMBINED_VERSION): Use BUILD_VERSION. (ICEDTEA_ENV): Likewise. (dist-openjdk): Should really use COMBINED_VERSION. (dist-openjdk-fsg): Likewise. (dist-openjdk-fsg-tz): Additional target which makes an xz tarball instead of a zip (for Jiri ;) changeset 45fd9fd91644 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=45fd9fd91644 author: Andrew John Hughes date: Fri Sep 20 14:18:18 2013 +0100 Make LCMS error message mention version required. 2013-09-11 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Make error message mention version. changeset 0c77e9a81a9b in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=0c77e9a81a9b author: Andrew John Hughes date: Fri Sep 20 14:26:50 2013 +0100 Sync IT_WITH_HOTSPOT_BUILD with 2.4. 2013-06-28 Andrew John Hughes * acinclude.m4: (IT_WITH_HOTSPOT_BUILD): Define once. * configure.ac: Drop IT_ENABLE_ZERO_BUILD; called by IT_WITH_HOTSPOT_BUILD. diffstat: ChangeLog | 78 +- INSTALL | 3 + Makefile.am | 47 +- acinclude.m4 | 43 +- configure.ac | 3 +- hotspot.map | 2 +- patches/boot/ecj-diamond.patch | 3024 +++++++++++++++--------------- patches/boot/ecj-trywithresources.patch | 237 +- 8 files changed, 1788 insertions(+), 1649 deletions(-) diffs (truncated from 5424 to 500 lines): diff -r 731375f0ba2e -r 0c77e9a81a9b ChangeLog --- a/ChangeLog Tue Sep 17 19:44:28 2013 +0200 +++ b/ChangeLog Fri Sep 20 14:26:50 2013 +0100 @@ -1,3 +1,79 @@ +2013-06-28 Andrew John Hughes + + * acinclude.m4: + (IT_WITH_HOTSPOT_BUILD): Define once. + * configure.ac: Drop IT_ENABLE_ZERO_BUILD; called + by IT_WITH_HOTSPOT_BUILD. + +2013-09-11 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Make error message mention + version. + +2013-09-10 Andrew John Hughes + + * Makefile.am: + (BUILD_VERSION): Renamed from OPENJDK_VERSION. + (COMBINED_VERSION): Use BUILD_VERSION. + (ICEDTEA_ENV): Likewise. + (dist-openjdk): Should really use COMBINED_VERSION. + (dist-openjdk-fsg): Likewise. + (dist-openjdk-fsg-tz): Additional target which + makes an xz tarball instead of a zip (for Jiri ;) + +2013-09-09 Andrew John Hughes + + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Add -D_LITTLE_ENDIAN to arm + and support arm64|aarch64. + (IT_ENABLE_ZERO_BUILD): Explicitly set ZERO_BITSPERWORD + for aarch64, alpha, arm, ia64 && sh. Replace sparc64 with + sparcv9 which is what INSTALL_ARCH_DIR is set to. + +2013-08-30 Andrew John Hughes + + * INSTALL: Update with --enable-system-kerberos + option. + * Makefile.am: + (ICEDTEA_ENV): Set SYSTEM_KRB5, KRB5_LIBS + and KRB5_CFLAGS. + * acinclude.m4: + (IT_CHECK_FOR_KERBEROS): Add --enable-system-kerberos + option (on by default) which checks for libkrb5 and + the krb5.h header. + * configure.ac: Invoke IT_CHECK_FOR_KERBEROS. + +2013-07-24 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Turn system LCMS on by + default if the version is 2.5 or above with the + latest security fixes. + +2013-09-19 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Set to b00. + (JDK_UPDATE_VERSION): Set to 60. + (CORBA_CHANGESET): Update to current HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * hotspot.map: Update to HEAD. + * patches/boot/ecj-diamond.patch: + Regenerated. + * patches/boot/ecj-trywithresources.patch: + Add case in java.nio.file.Files. + 2013-09-17 Xerxes R??nby Robert Lougher @@ -12,7 +88,7 @@ * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. - + 2013-08-30 Andrew John Hughes * acinclude.m4: diff -r 731375f0ba2e -r 0c77e9a81a9b INSTALL --- a/INSTALL Tue Sep 17 19:44:28 2013 +0200 +++ b/INSTALL Fri Sep 20 14:26:50 2013 +0100 @@ -201,6 +201,9 @@ * --with-rhino: Include Javascript support using Rhino (location may optionally be specified). * --with-additional-vms=vm-list: Additional VMs to build using the system described below. +* --enable-system-kerberos: Link against the system Kerberos library and + query it at runtime to obtain the cache location, rather than using a + hardcoded value. Testing ======= diff -r 731375f0ba2e -r 0c77e9a81a9b Makefile.am --- a/Makefile.am Tue Sep 17 19:44:28 2013 +0200 +++ b/Makefile.am Fri Sep 20 14:26:50 2013 +0100 @@ -1,22 +1,22 @@ # Dependencies -OPENJDK_VERSION = b31 -JDK_UPDATE_VERSION = 40 -COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) +JDK_UPDATE_VERSION = 60 +BUILD_VERSION = b00 +COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 2abbbec3c03c -JAXP_CHANGESET = 9ce0c87f3e87 -JAXWS_CHANGESET = 7278e9a73874 -JDK_CHANGESET = afaedb56b499 -LANGTOOLS_CHANGESET = c523dcea4ff3 -OPENJDK_CHANGESET = 424e7e279ef6 +CORBA_CHANGESET = e5da8ecaf6f9 +JAXP_CHANGESET = fc76c585e6c5 +JAXWS_CHANGESET = b28455339003 +JDK_CHANGESET = 99a2c23b1d94 +LANGTOOLS_CHANGESET = db375fd08fa3 +OPENJDK_CHANGESET = 51c1d39f82ae -CORBA_SHA256SUM = 659a2018c44ecc7bc3c287431bd92b5504270ccad81d22f3ff0bcc8aa92a1b75 -JAXP_SHA256SUM = 465110701521ee63e73fde3476c1254b3abdbbcf98a95d83d3ad6319b25cec95 -JAXWS_SHA256SUM = 8c41fcc880171b77e4cfed7a03655770776f4f69ba0c936c3baff5f394e87812 -JDK_SHA256SUM = 1f949d7ecf55cd580c2bba9c81cf3436640ead98a3ea17fcf60b9fdadbb1919b -LANGTOOLS_SHA256SUM = 5ec38227964325397a649c0d1d12b9a64e2a81a35f69da4447708b48b3ad6fd7 -OPENJDK_SHA256SUM = 9fd129437c81a2d8da3b8b176d1dd2a58e656115e08547e4ad819996b5d136d9 +CORBA_SHA256SUM = d8c4e9792352a40011e8bc4bd302d94cbd12cf63d50d4edb3396724474d5c0d5 +JAXP_SHA256SUM = 35210f1d5cd741504310dbd5eb848735a8bd66157d3d9c5caa507c8fc65fcf3c +JAXWS_SHA256SUM = d7e47d15ae3d7a9db53e72ad597ea52d2c76a8c49827b36c789424177c727c25 +JDK_SHA256SUM = 3fd16ec7053697296550258ad29b68b9a6453c73028dceb7f098a76382873fef +LANGTOOLS_SHA256SUM = cf5962e23bf093ccfd9318e07d9fe19ce0da6026af740229f6ec90900f27073e +OPENJDK_SHA256SUM = 785d4ad0a1dddd831c5fc315949dc9602e482bb2265a4dd6704ec3766237bed6 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab @@ -433,7 +433,7 @@ ICEDTEA_ENV = \ ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ - BUILD_NUMBER="$(OPENJDK_VERSION)" \ + BUILD_NUMBER="$(BUILD_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.7.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ @@ -586,6 +586,13 @@ COMPRESS_JARS="true" endif +if USE_SYSTEM_KERBEROS +ICEDTEA_ENV += \ + SYSTEM_KRB5="true" \ + KRB5_LIBS="${KRB5_LIBS}" \ + KRB5_CFLAGS="${KRB5_CFLAGS}" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ @@ -851,11 +858,15 @@ # Creates archive of openjdk. dist-openjdk: stamps/extract-cacao.stamp find openjdk/ -name \\.hg* | xargs rm -rf - $(ZIP) -r openjdk-$(OPENJDK_VERSION) openjdk/ + $(ZIP) -r openjdk-$(COMBINED_VERSION) openjdk/ # Creates archive of openjdk that is compliant with Free Software guidelines. dist-openjdk-fsg: stamps/patch-fsg.stamp - $(ZIP) -r openjdk-fsg-$(OPENJDK_VERSION) openjdk/ + $(ZIP) -r openjdk-fsg-$(COMBINED_VERSION) openjdk/ + +dist-openjdk-fsg-xz: stamps/patch-fsg.stamp + tardir=openjdk/ && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c \ + >openjdk-fsg-$(COMBINED_VERSION).tar.xz # OpenJDK Source Preparation Targets # ================================== diff -r 731375f0ba2e -r 0c77e9a81a9b acinclude.m4 --- a/acinclude.m4 Tue Sep 17 19:44:28 2013 +0200 +++ b/acinclude.m4 Fri Sep 20 14:26:50 2013 +0100 @@ -23,6 +23,13 @@ BUILD_ARCH_DIR=arm INSTALL_ARCH_DIR=arm JRE_ARCH_DIR=arm + ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + arm64|aarch64) + BUILD_ARCH_DIR=aarch64 + INSTALL_ARCH_DIR=aarch64 + JRE_ARCH_DIR=aarch64 + ARCHFLAG="-D_LITTLE_ENDIAN" ;; mips) BUILD_ARCH_DIR=mips @@ -695,10 +702,10 @@ ZERO_LIBARCH="${INSTALL_ARCH_DIR}" dnl can't use AC_CHECK_SIZEOF on multilib case "${ZERO_LIBARCH}" in - i386|ppc|s390|sparc) + arm|i386|ppc|s390|sh|sparc) ZERO_BITSPERWORD=32 ;; - amd64|ppc64|s390x|sparc64) + aarch64|alpha|amd64|ia64|ppc64|s390x|sparcv9) ZERO_BITSPERWORD=64 ;; *) @@ -940,7 +947,7 @@ AC_SUBST([GCJ]) ]) -AC_DEFUN([IT_WITH_HOTSPOT_BUILD], +AC_DEFUN_ONCE([IT_WITH_HOTSPOT_BUILD], [ AC_REQUIRE([IT_ENABLE_ZERO_BUILD]) DEFAULT_BUILD="default" @@ -1947,10 +1954,10 @@ AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS}) if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then dnl Check for LCMS2 headers and libraries. - PKG_CHECK_MODULES(LCMS2, lcms2,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) + PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.5,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) if test "x${LCMS2_FOUND}" = xno then - AC_MSG_ERROR([Could not find LCMS2; install LCMS2 or build with --disable-system-lcms to use the in-tree copy.]) + AC_MSG_ERROR([Could not find LCMS >= 2.5; install it or build with --disable-system-lcms to use the in-tree copy.]) fi AC_SUBST(LCMS2_CFLAGS) AC_SUBST(LCMS2_LIBS) @@ -2061,6 +2068,32 @@ AC_SUBST(ENABLE_SYSTEM_GIF) ]) +dnl Check for Kerberos library in order to lookup cache location at runtime. +AC_DEFUN_ONCE([IT_CHECK_FOR_KERBEROS], +[ + AC_MSG_CHECKING([whether to use the system Kerberos install]) + AC_ARG_ENABLE([system-kerberos], + [AS_HELP_STRING(--enable-system-kerberos,use the system kerberos [[default=yes]])], + [ + ENABLE_SYSTEM_KERBEROS="${enableval}" + ], + [ + ENABLE_SYSTEM_KERBEROS="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_KERBEROS}) + if test x"${ENABLE_SYSTEM_KERBEROS}" = "xyes"; then + dnl Check for krb5 header and library. + AC_CHECK_LIB([krb5], [krb5_cc_default], + , [AC_MSG_ERROR([Could not find Kerberos library; install Kerberos or build with --disable-system-kerberos to use the default cache location.])]) + AC_CHECK_HEADER([krb5.h], + , [AC_MSG_ERROR([Could not find Kerberos header; install Kerberos or build with --disable-system-kerberos to use the default cache location.])]) + KRB5_LIBS="-lkrb5" + AC_SUBST(KRB5_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_KERBEROS, test x"${ENABLE_SYSTEM_KERBEROS}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_KERBEROS) +]) + AC_DEFUN_ONCE([IT_CHECK_FOR_GTK], [ AC_MSG_CHECKING([whether to use the system Gtk+ install]) diff -r 731375f0ba2e -r 0c77e9a81a9b configure.ac --- a/configure.ac Tue Sep 17 19:44:28 2013 +0200 +++ b/configure.ac Fri Sep 20 14:26:50 2013 +0100 @@ -175,7 +175,6 @@ IT_ENABLE_WERROR IT_ENABLE_JAR_COMPRESSION IT_SET_SHARK_BUILD -IT_ENABLE_ZERO_BUILD IT_CHECK_ADDITIONAL_VMS IT_WITH_VERSION_SUFFIX @@ -198,6 +197,8 @@ AC_PATH_TOOL([GCJ],[gcj]) AC_SUBST([GCJ]) +IT_CHECK_FOR_KERBEROS + dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([X11/X.h],[] ,[AC_MSG_ERROR("xorg headers were not found - diff -r 731375f0ba2e -r 0c77e9a81a9b hotspot.map --- a/hotspot.map Tue Sep 17 19:44:28 2013 +0200 +++ b/hotspot.map Fri Sep 20 14:26:50 2013 +0100 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 2efa7b70e843 332e1ccf4a3255a82cfbe962d3e5bee0fe7d3fe6b60bf11572c01262a7183adf +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 62c7dcedbbc4 239baded58afa74a9f5ccba3caf0a7554f4f1085fed3dc4bc81553e8e2c2ecf9 diff -r 731375f0ba2e -r 0c77e9a81a9b patches/boot/ecj-diamond.patch --- a/patches/boot/ecj-diamond.patch Tue Sep 17 19:44:28 2013 +0200 +++ b/patches/boot/ecj-diamond.patch Fri Sep 20 14:26:50 2013 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2013-07-08 22:40:57.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2013-07-12 16:26:50.787265104 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2012-07-09 23:52:39.000000000 +0100 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2013-09-20 00:33:52.220645499 +0100 @@ -58,7 +58,7 @@ private CorbaConnection conn; @@ -11,8 +11,8 @@ public static synchronized void cleanCache( ORB orb ) { synchronized (iorMapLock) { diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-07-08 22:40:57.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-07-12 16:26:50.803265359 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-07-08 21:17:14.363100612 +0100 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-09-20 00:33:52.220645499 +0100 @@ -1315,7 +1315,7 @@ protected void shutdownServants(boolean wait_for_completion) { Set oaset; @@ -23,8 +23,8 @@ for (ObjectAdapterFactory oaf : oaset) diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2013-07-08 22:40:57.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2013-07-12 16:26:50.803265359 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2012-07-09 23:52:39.000000000 +0100 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2013-09-20 00:33:52.220645499 +0100 @@ -108,7 +108,7 @@ private ThreadGroup threadGroup; @@ -44,8 +44,8 @@ for (WorkerThread wt : copy) { diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java ---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-07-12 17:07:55.970380942 +0100 -+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-07-12 17:07:29.097954416 +0100 +--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-09-20 00:32:35.455450085 +0100 ++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-09-20 00:33:52.220645499 +0100 @@ -297,8 +297,8 @@ // private final static class EncodingInfos { @@ -66,9 +66,30 @@ while (keys.hasMoreElements()) { final String javaName = (String) keys.nextElement(); final String[] mimes = parseMimeTypes(props.getProperty(javaName)); +diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2012-09-24 16:16:01.128926160 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2013-09-20 00:33:52.220645499 +0100 +@@ -46,7 +46,7 @@ + */ + public final class TypeResolver { + +- private static final WeakCache> CACHE = new WeakCache<>(); ++ private static final WeakCache> CACHE = new WeakCache>(); + + /** + * Replaces the given {@code type} in an inherited method +@@ -181,7 +181,7 @@ + synchronized (CACHE) { + map = CACHE.get(actual); + if (map == null) { +- map = new HashMap<>(); ++ map = new HashMap(); + prepare(map, actual); + CACHE.put(actual, map); + } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2013-07-12 16:26:50.803265359 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2012-11-30 07:40:05.671148416 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2013-09-20 00:33:52.220645499 +0100 @@ -62,9 +62,10 @@ */ public final class DocumentHandler extends DefaultHandler { @@ -83,30 +104,9 @@ private Reference loader; private ExceptionListener listener; -diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2013-07-12 16:26:50.803265359 +0100 -@@ -46,7 +46,7 @@ - */ - public final class TypeResolver { - -- private static final WeakCache> CACHE = new WeakCache<>(); -+ private static final WeakCache> CACHE = new WeakCache>(); - - /** - * Replaces the given {@code type} in an inherited method -@@ -181,7 +181,7 @@ - synchronized (CACHE) { - map = CACHE.get(actual); - if (map == null) { -- map = new HashMap<>(); -+ map = new HashMap(); - prepare(map, actual); - CACHE.put(actual, map); - } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2013-07-12 16:26:50.815265549 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-09-24 16:15:57.304854866 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2013-09-20 00:33:52.220645499 +0100 @@ -104,9 +104,9 @@ return this.def.compareTo(that.def); } @@ -178,8 +178,8 @@ for (int i = 0; i < layout.length(); i++) { if (layout.charAt(i++) != '[') diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-07-12 16:10:24.659639905 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-07-12 16:26:50.815265549 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-09-20 00:32:35.727454321 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-09-20 00:33:52.220645499 +0100 @@ -257,7 +257,7 @@ assert(basicCodings[_meta_default] == null); assert(basicCodings[_meta_canon_min] != null); @@ -242,8 +242,8 @@ return true; } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-12 16:10:24.511637561 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-12 16:26:50.815265549 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-09-20 00:32:33.939426476 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-09-20 00:33:52.220645499 +0100 @@ -466,7 +466,7 @@ void readInnerClasses(Class cls) throws IOException { @@ -253,9 +253,21 @@ for (int i = 0; i < nc; i++) { InnerClass ic = new InnerClass(readClassRef(), +diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-09-24 16:15:57.308854939 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2013-09-20 00:33:52.224645562 +0100 +@@ -402,7 +402,7 @@ + private static Map codeMap; + + private static synchronized Coding of(int B, int H, int S, int del) { +- if (codeMap == null) codeMap = new HashMap<>(); ++ if (codeMap == null) codeMap = new HashMap(); + Coding x0 = new Coding(B, H, S, del); + Coding x1 = codeMap.get(x0); + if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2013-07-12 16:26:50.815265549 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-02-08 19:35:17.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2013-09-20 00:33:52.224645562 +0100 @@ -743,9 +743,9 @@ // Steps 1/2/3 are interdependent, and may be iterated. // Steps 4 and 5 may be decided independently afterward. @@ -291,22 +303,10 @@ for (int i = start; i < end; i++) { if (popset.add(values[i])) popvals.add(values[i]); } -diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2013-07-12 16:26:50.819265612 +0100 -@@ -402,7 +402,7 @@ - private static Map codeMap; - - private static synchronized Coding of(int B, int H, int S, int del) { -- if (codeMap == null) codeMap = new HashMap<>(); -+ if (codeMap == null) codeMap = new HashMap(); - Coding x0 = new Coding(B, H, S, del); - Coding x1 = codeMap.get(x0); - if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-07-08 22:41:19.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-07-12 16:26:50.819265612 +0100 -@@ -919,7 +919,7 @@ +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-09-19 18:15:15.900797583 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-09-20 00:33:52.224645562 +0100 +@@ -921,7 +921,7 @@ public static Index[] partition(Index ix, int[] keys) { // %%% Should move this into class Index. @@ -315,7 +315,7 @@ Entry[] cpMap = ix.cpMap; assert(keys.length == cpMap.length); for (int i = 0; i < keys.length; i++) { -@@ -930,7 +930,7 @@ +@@ -932,7 +932,7 @@ } List part = parts.get(key); if (part == null) { @@ -324,7 +324,7 @@ } part.add(cpMap[i]); } -@@ -1139,7 +1139,7 @@ +@@ -1141,7 +1141,7 @@ void completeReferencesIn(Set cpRefs, boolean flattenSigs) { cpRefs.remove(null); for (ListIterator work = From andrew at icedtea.classpath.org Fri Sep 20 08:05:46 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 20 Sep 2013 15:05:46 +0000 Subject: /hg/release/icedtea7-2.4: 4 new changesets Message-ID: changeset 58ad802bd5d0 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=58ad802bd5d0 author: Andrew John Hughes date: Fri Sep 20 14:18:18 2013 +0100 Make LCMS error message mention version required. 2013-09-11 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Make error message mention version. changeset c22705021f0e in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=c22705021f0e author: Xerxes Ranby date: Wed Aug 14 15:53:36 2013 +0200 JamVM: JSR 335: Lambda Expressions; JSR 292: enable for OpenJDK 7/IcedTea 2; Updated to 2013-07-14 revision. 2013-08-14 Xerxes R?nby Robert Lougher JamVM - JSR 292: enable for OpenJDK 7/IcedTea 2 - JSR 335: invokeinterface check in method resolution - JSR 335: java.lang.invoke.MagicLambdaImpl - JSR 292: invokedynamic is 5 bytes - non-direct interp - JSR 292: invokedynamic is 5 bytes in length - Minor formatting change - Minor fixes: use perror for mmap failure - FreeClassData: fix comment - FreeClassData: adjust method count for Miranda methods - JSR 335: remove GC hack - JSR 335: implement "bridge" methods for Mirandas - JSR 335: handle multiple defaults and conflicts * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-07-14 revision. (JAMVM_SHA256SUM): Updated. changeset 9f16a26e62f0 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=9f16a26e62f0 author: Xerxes Ranby date: Tue Sep 17 19:44:28 2013 +0200 JamVM: Fix issue with recent versions of JEdit; Updated to 2013-08-28 revision. 2013-09-17 Xerxes Ranby Robert Lougher JamVM - JSR 335: fix frame.c - Add support for CallerSensitive - JSR 335: handle interfaces when resolving a method - sun.misc.Unsafe: additional methods get/putAddress - JSR 292: make internal functions static * NEWS: Updated. Removed note about JSR 355 for IcedTea 2. JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. changeset 27e0102236bd in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=27e0102236bd author: Andrew John Hughes date: Fri Sep 20 15:11:13 2013 +0100 Cleanup NEWS. 2013-09-20 Andrew John Hughes * NEWS: Cleanup. diffstat: ChangeLog | 46 ++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 4 ++-- NEWS | 4 ++++ acinclude.m4 | 2 +- 4 files changed, 53 insertions(+), 3 deletions(-) diffs (93 lines): diff -r 41272f3d7393 -r 27e0102236bd ChangeLog --- a/ChangeLog Tue Sep 10 17:03:29 2013 +0100 +++ b/ChangeLog Fri Sep 20 15:11:13 2013 +0100 @@ -1,3 +1,49 @@ +2013-09-20 Andrew John Hughes + + * NEWS: Cleanup. + +2013-09-17 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 335: fix frame.c + - Add support for CallerSensitive + - JSR 335: handle interfaces when resolving a method + - sun.misc.Unsafe: additional methods get/putAddress + - JSR 292: make internal functions static + * NEWS: Updated. Removed note about JSR 355 for IcedTea 2. + JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. + (JAMVM_SHA256SUM): Updated. + +2013-08-14 Xerxes R??nby + Robert Lougher + + JamVM + - JSR 292: enable for OpenJDK 7/IcedTea 2 + - JSR 335: invokeinterface check in method resolution + - JSR 335: java.lang.invoke.MagicLambdaImpl + - JSR 292: invokedynamic is 5 bytes - non-direct interp + - JSR 292: invokedynamic is 5 bytes in length + - Minor formatting change + - Minor fixes: use perror for mmap failure + - FreeClassData: fix comment + - FreeClassData: adjust method count for Miranda methods + - JSR 335: remove GC hack + - JSR 335: implement "bridge" methods for Mirandas + - JSR 335: handle multiple defaults and conflicts + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-07-14 revision. + (JAMVM_SHA256SUM): Updated. + +2013-09-11 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Make error message mention + version. + 2013-09-10 Andrew John Hughes * Makefile.am: diff -r 41272f3d7393 -r 27e0102236bd Makefile.am --- a/Makefile.am Tue Sep 10 17:03:29 2013 +0100 +++ b/Makefile.am Fri Sep 20 15:11:13 2013 +0100 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 7c8dceb90880616b7dd670f257961a1f5f371ec3 -JAMVM_SHA256SUM = 1584d8599bfd799a71baac0694bb3ed9b9fcd14a8548234b24266571e0acfc97 +JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e +JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r 41272f3d7393 -r 27e0102236bd NEWS --- a/NEWS Tue Sep 10 17:03:29 2013 +0100 +++ b/NEWS Fri Sep 20 15:11:13 2013 +0100 @@ -126,6 +126,10 @@ - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors - RH995488: Java thinks that the default timezone is Busingen instead of Zurich - Cleanup file resources properly in TimeZone_md. +* JamVM + - JSR292: Invoke Dynamic + - sun.misc.Unsafe: additional methods get/putAddress: allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. + - FreeClassData: adjust method count for Miranda methods New in release 2.4.1 (2013-07-05): diff -r 41272f3d7393 -r 27e0102236bd acinclude.m4 --- a/acinclude.m4 Tue Sep 10 17:03:29 2013 +0100 +++ b/acinclude.m4 Fri Sep 20 15:11:13 2013 +0100 @@ -1957,7 +1957,7 @@ PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.5,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) if test "x${LCMS2_FOUND}" = xno then - AC_MSG_ERROR([Could not find LCMS2; install LCMS2 or build with --disable-system-lcms to use the in-tree copy.]) + AC_MSG_ERROR([Could not find LCMS >= 2.5; install it or build with --disable-system-lcms to use the in-tree copy.]) fi AC_SUBST(LCMS2_CFLAGS) AC_SUBST(LCMS2_LIBS) From omajid at icedtea.classpath.org Fri Sep 20 08:42:25 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Fri, 20 Sep 2013 15:42:25 +0000 Subject: /hg/icedtea-web: Unit test for InformationDesc Message-ID: changeset a5e65b8ac54c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a5e65b8ac54c author: Omair Majid date: Fri Sep 20 11:41:36 2013 -0400 Unit test for InformationDesc Also remove the references to JNLPFile from InformationDesc. This makes it much easier to instantiate InformationDesc for tests. diffstat: ChangeLog | 11 + netx/net/sourceforge/jnlp/InformationDesc.java | 15 +- netx/net/sourceforge/jnlp/JNLPFile.java | 2 +- netx/net/sourceforge/jnlp/Parser.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java | 209 ++++++++++ 5 files changed, 225 insertions(+), 14 deletions(-) diffs (300 lines): diff -r 259e569a407d -r a5e65b8ac54c ChangeLog --- a/ChangeLog Thu Sep 19 13:36:15 2013 +0200 +++ b/ChangeLog Fri Sep 20 11:41:36 2013 -0400 @@ -1,3 +1,14 @@ +2013-09-20 Omair Majid + + * netx/net/sourceforge/jnlp/InformationDesc.java + (InformationDesc): Remove JNLPFile argument. + (getJNLPFile): Remove. + * netx/net/sourceforge/jnlp/JNLPFile.java + (getInformation): Adjust to new InformationDesc constructor. + * netx/net/sourceforge/jnlp/Parser.java + (getInformation): Likewise. + * tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java: New file. + 2013-09-19 Jana Fabrikova Added text only reports from reproducers and unit tests run diff -r 259e569a407d -r a5e65b8ac54c netx/net/sourceforge/jnlp/InformationDesc.java --- a/netx/net/sourceforge/jnlp/InformationDesc.java Thu Sep 19 13:36:15 2013 +0200 +++ b/netx/net/sourceforge/jnlp/InformationDesc.java Fri Sep 20 11:41:36 2013 -0400 @@ -52,17 +52,13 @@ /** the data as list of key,value pairs */ private List info; - /** the JNLPFile this information is for */ - private JNLPFile jnlpFile; /** * Create an information element object. * - * @param jnlpFile file that the information is for * @param locales the locales the information is for */ - public InformationDesc(JNLPFile jnlpFile, Locale locales[]) { - this.jnlpFile = jnlpFile; + public InformationDesc(Locale locales[]) { this.locales = locales; } @@ -171,6 +167,8 @@ } } + // FIXME if there's no larger icon, choose the closest smaller icon + // instead of the first if (best == null) best = icons[0]; @@ -185,13 +183,6 @@ } /** - * Returns the JNLPFile the information is for. - */ - public JNLPFile getJNLPFile() { - return jnlpFile; - } - - /** * Returns whether offline execution allowed. */ public boolean isOfflineAllowed() { diff -r 259e569a407d -r a5e65b8ac54c netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Thu Sep 19 13:36:15 2013 +0200 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Fri Sep 20 11:41:36 2013 -0400 @@ -371,7 +371,7 @@ * through the specified locale. */ public InformationDesc getInformation(final Locale locale) { - return new InformationDesc(this, new Locale[] { locale }) { + return new InformationDesc(new Locale[] { locale }) { @Override protected List getItems(Object key) { List result = new ArrayList(); diff -r 259e569a407d -r a5e65b8ac54c netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Thu Sep 19 13:36:15 2013 +0200 +++ b/netx/net/sourceforge/jnlp/Parser.java Fri Sep 20 11:41:36 2013 -0400 @@ -494,7 +494,7 @@ Locale locales[] = getLocales(node); // create information - InformationDesc info = new InformationDesc(file, locales); + InformationDesc info = new InformationDesc(locales); // step through the elements Node child = node.getFirstChild(); diff -r 259e569a407d -r a5e65b8ac54c tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java Fri Sep 20 11:41:36 2013 -0400 @@ -0,0 +1,209 @@ +/* InformationDescTest.java + Copyright (C) 2013 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; 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 net.sourceforge.jnlp; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Locale; + +import org.junit.Test; + +public class InformationDescTest { + + @Test + public void testLocales() { + InformationDesc info; + + info = new InformationDesc(new Locale[0]); + assertArrayEquals(new Locale[0], info.getLocales()); + + Locale[] someLocales = new Locale[] { Locale.ENGLISH, Locale.FRENCH }; + info = new InformationDesc(someLocales); + assertArrayEquals(someLocales, info.getLocales()); + } + + @Test + public void testTitle() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("title", "A Title"); + assertEquals("A Title", info.getTitle()); + } + + @Test + public void testVendor() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("vendor", "Some Vendor"); + assertEquals("Some Vendor", info.getVendor()); + } + + @Test + public void testHomePage() throws MalformedURLException { + URL url = new URL("http://some.home.page.example.com"); + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("homepage", url); + assertEquals(url, info.getHomepage()); + } + @Test + public void testDescription() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + assertEquals("Default Description", info.getDescription()); + } + + @Test + public void testDescriptionFallbackOrder() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.TOOLTIP, "Tooltip Description"); + assertEquals("Tooltip Description", info.getDescription()); + info.addItem("description-" + InformationDesc.SHORT, "Short Description"); + assertEquals("Short Description", info.getDescription()); + info.addItem("description-" + InformationDesc.ONE_LINE, "One-line Description"); + assertEquals("One-line Description", info.getDescription()); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + assertEquals("Default Description", info.getDescription()); + } + + @Test + public void testDescriptionKind() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + info.addItem("description-" + InformationDesc.ONE_LINE, "One-line Description"); + info.addItem("description-" + InformationDesc.SHORT, "Short Description"); + info.addItem("description-" + InformationDesc.TOOLTIP, "Tooltip Description"); + + assertEquals("Default Description", info.getDescription(InformationDesc.DEFAULT)); + assertEquals("One-line Description", info.getDescription(InformationDesc.ONE_LINE)); + assertEquals("Short Description", info.getDescription(InformationDesc.SHORT)); + assertEquals("Tooltip Description", info.getDescription(InformationDesc.TOOLTIP)); + } + + @Test + public void testGetIcons() { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new IconDesc[0], info.getIcons(IconDesc.DEFAULT)); + + IconDesc icon1 = new IconDesc(null, null, -1, -1, -1, -1); + IconDesc icon2 = new IconDesc(null, null, -1, -1, -1, -1); + info.addItem("icon-" + IconDesc.DEFAULT, icon1); + info.addItem("icon-" + IconDesc.DEFAULT, icon2); + + assertArrayEquals(new IconDesc[] { icon1, icon2 }, info.getIcons(IconDesc.DEFAULT)); + } + + @Test + public void testGetIconLocations() throws MalformedURLException { + InformationDesc info = new InformationDesc(new Locale[0]); + + URL location1 = new URL("http://location1.example.org"); + URL location2 = new URL("http://location2.example.org"); + IconDesc icon1 = new IconDesc(location1, null, 10, 10, -1, -1); + IconDesc icon2 = new IconDesc(location2, null, 20, 20, -1, -1); + info.addItem("icon-" + IconDesc.DEFAULT, icon1); + info.addItem("icon-" + IconDesc.DEFAULT, icon2); + + // exact size matches + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 10, 10)); + assertEquals(location2, info.getIconLocation(IconDesc.DEFAULT, 20, 20)); + + // match a bigger icon + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 1, 1)); + assertEquals(location2, info.getIconLocation(IconDesc.DEFAULT, 15, 15)); + + // match a smaller icon + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 25, 25)); + } + + @Test + public void testIsOfflineAllowed() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertFalse(info.isOfflineAllowed()); + info.addItem("offline-allowed", new Object()); + assertTrue(info.isOfflineAllowed()); + } + + @Test + public void testIsSharingAllowed() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertFalse(info.isSharingAllowed()); + info.addItem("sharing-allowed", new Object()); + assertTrue(info.isSharingAllowed()); + } + + @Test + public void testGetShortcut() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertNull(info.getShortcut()); + + ShortcutDesc shortcut = new ShortcutDesc(false, false); + info.addItem("shortcut", shortcut); + assertSame(shortcut, info.getShortcut()); + } + + @Test + public void testGetAssociation() throws ParseException { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new AssociationDesc[0], info.getAssociations()); + + AssociationDesc association = new AssociationDesc(null, null); + info.addItem("association", association); + assertArrayEquals(new AssociationDesc[] { association }, info.getAssociations()); + } + + @Test + public void testGetRelatedContents() { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new RelatedContentDesc[0], info.getRelatedContents()); + + RelatedContentDesc relatedContent = new RelatedContentDesc(null); + info.addItem("related-content", relatedContent); + + assertArrayEquals(new RelatedContentDesc[] { relatedContent }, info.getRelatedContents()); + } + +} From andrew at icedtea.classpath.org Fri Sep 20 11:08:55 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 20 Sep 2013 18:08:55 +0000 Subject: /hg/icedtea7: 2 new changesets Message-ID: changeset 9e0c07300664 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=9e0c07300664 author: Andrew John Hughes date: Tue Jan 15 09:40:18 2013 +0000 When building with PaX, PaX mark the output directory before running the just-built rmic. 2013-01-15 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add patch when building with PaX. * patches/pax-mark-rmic-java.patch: PaX mark output directory before running just-built rmic. changeset 981d010a05bf in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=981d010a05bf author: Andrew John Hughes date: Fri Sep 20 18:01:32 2013 +0100 PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 2013-05-28 Andrew John Hughes PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 * Makefile.am: (STAGE1_BOOT_RUNTIME): New variable to store path to stage 1 rt.jar. (STAGE2_BOOT_RUNTIME): Likewise for stage 2. (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. (rt): Only update STAGE1_BOOT_RUNTIME if it exists. (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in bootstrap-directory-stage1. diffstat: ChangeLog | 21 +++++++++++++++++++++ Makefile.am | 21 +++++++++++++-------- patches/pax-mark-rmic-java.patch | 10 ++++++++++ 3 files changed, 44 insertions(+), 8 deletions(-) diffs (105 lines): diff -r 0c77e9a81a9b -r 981d010a05bf ChangeLog --- a/ChangeLog Fri Sep 20 14:26:50 2013 +0100 +++ b/ChangeLog Fri Sep 20 18:01:32 2013 +0100 @@ -1,3 +1,24 @@ +2013-05-28 Andrew John Hughes + + PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 + * Makefile.am: + (STAGE1_BOOT_RUNTIME): New variable to store path + to stage 1 rt.jar. + (STAGE2_BOOT_RUNTIME): Likewise for stage 2. + (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. + (rt): Only update STAGE1_BOOT_RUNTIME if it exists. + (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in + bootstrap-directory-stage1. + +2013-01-15 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add patch when building + with PaX. + * patches/pax-mark-rmic-java.patch: + PaX mark output directory before running just-built + rmic. + 2013-06-28 Andrew John Hughes * acinclude.m4: diff -r 0c77e9a81a9b -r 981d010a05bf Makefile.am --- a/Makefile.am Fri Sep 20 14:26:50 2013 +0100 +++ b/Makefile.am Fri Sep 20 18:01:32 2013 +0100 @@ -67,6 +67,8 @@ STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot CRYPTO_CHECK_BUILD_DIR = $(abs_top_builddir)/cryptocheck.build +STAGE1_BOOT_RUNTIME = $(STAGE1_BOOT_DIR)/jre/lib/rt.jar +STAGE2_BOOT_RUNTIME = $(STAGE2_BOOT_DIR)/jre/lib/rt.jar # Source directories @@ -296,7 +298,9 @@ endif if WITH_PAX -ICEDTEA_PATCHES += patches/test_gamma.patch +ICEDTEA_PATCHES += \ + patches/test_gamma.patch \ + patches/pax-mark-rmic-java.patch endif ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) @@ -1644,14 +1648,13 @@ ln -sf ../../../javap $(STAGE1_BOOT_DIR)/bin/javap mkdir -p $(STAGE1_BOOT_DIR)/lib/modules mkdir -p $(STAGE1_BOOT_DIR)/jre/lib && \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - $(STAGE1_BOOT_DIR)/jre/lib/rt.jar && \ - chmod u+w $(STAGE1_BOOT_DIR)/jre/lib/rt.jar + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_RUNTIME) && \ + chmod u+w $(STAGE1_BOOT_RUNTIME) mkdir -p $(STAGE1_BOOT_DIR)/lib && \ if [ -e $(SYSTEM_JDK_DIR)/lib/tools.jar ] ; then \ ln -sf $(SYSTEM_JDK_DIR)/lib/tools.jar $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ else \ - ln -sf $(STAGE1_BOOT_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ + ln -sf $(STAGE1_BOOT_RUNTIME) $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ fi ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ $(STAGE1_BOOT_DIR)/jre/lib/ && \ @@ -2675,8 +2678,9 @@ mkdir -p `dirname $$destpath` ; \ cp -a ../../$$dirs $$destpath ; \ done ; \ - $(ZIP) -qur $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \ - com java javax sun ); \ + if [ -w $(STAGE1_BOOT_RUNTIME) ] ; then \ + $(ZIP) -qur $(STAGE1_BOOT_RUNTIME) com java javax sun ; \ + fi ; ) \ fi mkdir -p stamps touch $@ @@ -2686,7 +2690,8 @@ rm -f stamps/rt-class-files.stamp stamps/rt.stamp rm -f rt-source-files.txt if [ -e $(STAGE1_BOOT_DIR)/jre/lib ] ; then \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/jre/lib ; \ + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_RUNTIME) ; \ + chmod u+w $(STAGE1_BOOT_RUNTIME) ; \ fi # Crypto Level Check diff -r 0c77e9a81a9b -r 981d010a05bf patches/pax-mark-rmic-java.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/pax-mark-rmic-java.patch Fri Sep 20 18:01:32 2013 +0100 @@ -0,0 +1,10 @@ +--- openjdk/jdk/make/com/sun/jmx/Makefile ++++ openjdk/jdk/make/com/sun/jmx/Makefile +@@ -119,6 +119,7 @@ + + $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class + $(prep-target) ++ "$(TOPDIR)"/../../pax-mark-vm "$(OUTPUTDIR)" + $(RMIC) -classpath "$(CLASSDESTDIR)" \ + -d $(CLASSDESTDIR) \ + -v1.2 \ From bugzilla-daemon at icedtea.classpath.org Fri Sep 20 11:09:10 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 20 Sep 2013 18:09:10 +0000 Subject: [Bug 1410] Icedtea 2.3.9 fails to build using icedtea 1.12.4 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1410 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=981d010a05bf author: Andrew John Hughes date: Fri Sep 20 18:01:32 2013 +0100 PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 2013-05-28 Andrew John Hughes PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 * Makefile.am: (STAGE1_BOOT_RUNTIME): New variable to store path to stage 1 rt.jar. (STAGE2_BOOT_RUNTIME): Likewise for stage 2. (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. (rt): Only update STAGE1_BOOT_RUNTIME if it exists. (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in bootstrap-directory-stage1. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130920/fe98bade/attachment.html From andrew at icedtea.classpath.org Fri Sep 20 11:59:48 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 20 Sep 2013 18:59:48 +0000 Subject: /hg/release/icedtea7-2.4: 4 new changesets Message-ID: changeset ae47bca8033c in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=ae47bca8033c author: Andrew John Hughes date: Tue Jan 15 09:40:18 2013 +0000 When building with PaX, PaX mark the output directory before running the just-built rmic. 2013-01-15 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add patch when building with PaX. * patches/pax-mark-rmic-java.patch: PaX mark output directory before running just-built rmic. changeset d986ab8ea72d in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=d986ab8ea72d author: Andrew John Hughes date: Fri Sep 20 18:01:32 2013 +0100 PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 2013-05-28 Andrew John Hughes PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 * Makefile.am: (STAGE1_BOOT_RUNTIME): New variable to store path to stage 1 rt.jar. (STAGE2_BOOT_RUNTIME): Likewise for stage 2. (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. (rt): Only update STAGE1_BOOT_RUNTIME if it exists. (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in bootstrap-directory-stage1. changeset 2c9aa1af8911 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=2c9aa1af8911 author: Andrew John Hughes date: Fri Sep 20 19:15:37 2013 +0100 Update NEWS with PR1410, G478484 and G477456. 2013-09-20 Andrew John Hughes * NEWS: List PR1410, G478484 and G477456. changeset a023a2650389 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=a023a2650389 author: Andrew John Hughes date: Fri Sep 20 19:59:31 2013 +0100 Sync HotSpot with 2.4.2 release tag. 2013-09-20 Andrew John Hughes * hotspot.map: Bump to match new 2.4.2 release tag. * NEWS: Mention HotSpot changes brought in. diffstat: ChangeLog | 30 ++++++++++++++++++++++++++++++ Makefile.am | 21 +++++++++++++-------- NEWS | 9 +++++++++ hotspot.map | 2 +- patches/pax-mark-rmic-java.patch | 10 ++++++++++ 5 files changed, 63 insertions(+), 9 deletions(-) diffs (150 lines): diff -r 27e0102236bd -r a023a2650389 ChangeLog --- a/ChangeLog Fri Sep 20 15:11:13 2013 +0100 +++ b/ChangeLog Fri Sep 20 19:59:31 2013 +0100 @@ -1,3 +1,33 @@ +2013-09-20 Andrew John Hughes + + * hotspot.map: Bump to match new 2.4.2 release tag. + * NEWS: Mention HotSpot changes brought in. + +2013-09-20 Andrew John Hughes + + * NEWS: List PR1410, G478484 and G477456. + +2013-05-28 Andrew John Hughes + + PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 + * Makefile.am: + (STAGE1_BOOT_RUNTIME): New variable to store path + to stage 1 rt.jar. + (STAGE2_BOOT_RUNTIME): Likewise for stage 2. + (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. + (rt): Only update STAGE1_BOOT_RUNTIME if it exists. + (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in + bootstrap-directory-stage1. + +2013-01-15 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add patch when building + with PaX. + * patches/pax-mark-rmic-java.patch: + PaX mark output directory before running just-built + rmic. + 2013-09-20 Andrew John Hughes * NEWS: Cleanup. diff -r 27e0102236bd -r a023a2650389 Makefile.am --- a/Makefile.am Fri Sep 20 15:11:13 2013 +0100 +++ b/Makefile.am Fri Sep 20 19:59:31 2013 +0100 @@ -67,6 +67,8 @@ STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot CRYPTO_CHECK_BUILD_DIR = $(abs_top_builddir)/cryptocheck.build +STAGE1_BOOT_RUNTIME = $(STAGE1_BOOT_DIR)/jre/lib/rt.jar +STAGE2_BOOT_RUNTIME = $(STAGE2_BOOT_DIR)/jre/lib/rt.jar # Source directories @@ -296,7 +298,9 @@ endif if WITH_PAX -ICEDTEA_PATCHES += patches/test_gamma.patch +ICEDTEA_PATCHES += \ + patches/test_gamma.patch \ + patches/pax-mark-rmic-java.patch endif ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) @@ -1644,14 +1648,13 @@ ln -sf ../../../javap $(STAGE1_BOOT_DIR)/bin/javap mkdir -p $(STAGE1_BOOT_DIR)/lib/modules mkdir -p $(STAGE1_BOOT_DIR)/jre/lib && \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - $(STAGE1_BOOT_DIR)/jre/lib/rt.jar && \ - chmod u+w $(STAGE1_BOOT_DIR)/jre/lib/rt.jar + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_RUNTIME) && \ + chmod u+w $(STAGE1_BOOT_RUNTIME) mkdir -p $(STAGE1_BOOT_DIR)/lib && \ if [ -e $(SYSTEM_JDK_DIR)/lib/tools.jar ] ; then \ ln -sf $(SYSTEM_JDK_DIR)/lib/tools.jar $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ else \ - ln -sf $(STAGE1_BOOT_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ + ln -sf $(STAGE1_BOOT_RUNTIME) $(STAGE1_BOOT_DIR)/lib/tools.jar ; \ fi ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ $(STAGE1_BOOT_DIR)/jre/lib/ && \ @@ -2675,8 +2678,9 @@ mkdir -p `dirname $$destpath` ; \ cp -a ../../$$dirs $$destpath ; \ done ; \ - $(ZIP) -qur $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \ - com java javax sun ); \ + if [ -w $(STAGE1_BOOT_RUNTIME) ] ; then \ + $(ZIP) -qur $(STAGE1_BOOT_RUNTIME) com java javax sun ; \ + fi ; ) \ fi mkdir -p stamps touch $@ @@ -2686,7 +2690,8 @@ rm -f stamps/rt-class-files.stamp stamps/rt.stamp rm -f rt-source-files.txt if [ -e $(STAGE1_BOOT_DIR)/jre/lib ] ; then \ - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/jre/lib ; \ + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_RUNTIME) ; \ + chmod u+w $(STAGE1_BOOT_RUNTIME) ; \ fi # Crypto Level Check diff -r 27e0102236bd -r a023a2650389 NEWS --- a/NEWS Fri Sep 20 15:11:13 2013 +0100 +++ b/NEWS Fri Sep 20 19:59:31 2013 +0100 @@ -112,9 +112,11 @@ - S8021353: Event based tracing is missing thread exit - S8021381: JavaFX scene included in Swing JDialog not starting from Web Start - S8021565: new hotspot build - hs24-b56 + - S8021771: warning stat64 is deprecated - when building on OSX 10.7.5 - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries - S8022548: SPECJVM2008 has errors introduced in 7u40-b34 - S8023751: Need to backout 8020943, was pushed to hs24 without approval + - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp * New features - RH991170: java does not use correct kerberos credential cache - PR1536: Allow use of system Kerberos to obtain cache location @@ -126,6 +128,13 @@ - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors - RH995488: Java thinks that the default timezone is Busingen instead of Zurich - Cleanup file resources properly in TimeZone_md. + - PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 + - G477456: emerge fails on pax system: java attempts RWX map, paxctl -m missing + - G478484: patches/boot/ecj-diamond.patch FAILED + - Fix Zero following changes to entry_frame_call_wrapper in 8016131 + - Set ZERO_BUILD in flags.make so it is set on rebuilds + - Cast should use same type as GCDrainStackTargetSize (uintx). + - Add casts to fix build on S390 * JamVM - JSR292: Invoke Dynamic - sun.misc.Unsafe: additional methods get/putAddress: allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. diff -r 27e0102236bd -r a023a2650389 hotspot.map --- a/hotspot.map Fri Sep 20 15:11:13 2013 +0100 +++ b/hotspot.map Fri Sep 20 19:59:31 2013 +0100 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot f3f4df30a468 f066237f60cb154880b2702dc2a6ec52f53069ea85a89690cbf9a92eb3b62b2b +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot b732355257e3 4a4a04fa2c49d0a688400f6c9f129f47ba5cd931874c33254a047a1f36e6ac36 diff -r 27e0102236bd -r a023a2650389 patches/pax-mark-rmic-java.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/pax-mark-rmic-java.patch Fri Sep 20 19:59:31 2013 +0100 @@ -0,0 +1,10 @@ +--- openjdk/jdk/make/com/sun/jmx/Makefile ++++ openjdk/jdk/make/com/sun/jmx/Makefile +@@ -119,6 +119,7 @@ + + $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class + $(prep-target) ++ "$(TOPDIR)"/../../pax-mark-vm "$(OUTPUTDIR)" + $(RMIC) -classpath "$(CLASSDESTDIR)" \ + -d $(CLASSDESTDIR) \ + -v1.2 \ From bugzilla-daemon at icedtea.classpath.org Fri Sep 20 11:59:55 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 20 Sep 2013 18:59:55 +0000 Subject: [Bug 1410] Icedtea 2.3.9 fails to build using icedtea 1.12.4 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1410 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=d986ab8ea72d author: Andrew John Hughes date: Fri Sep 20 18:01:32 2013 +0100 PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 2013-05-28 Andrew John Hughes PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 * Makefile.am: (STAGE1_BOOT_RUNTIME): New variable to store path to stage 1 rt.jar. (STAGE2_BOOT_RUNTIME): Likewise for stage 2. (bootstrap-directory-stage1): Use STAGE1_BOOT_RUNTIME. (rt): Only update STAGE1_BOOT_RUNTIME if it exists. (clean-rt): Mirror creation of STAGE1_BOOT_RUNTIME in bootstrap-directory-stage1. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130920/a93c099d/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 20 12:00:01 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 20 Sep 2013 19:00:01 +0000 Subject: [Bug 1410] Icedtea 2.3.9 fails to build using icedtea 1.12.4 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1410 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=2c9aa1af8911 author: Andrew John Hughes date: Fri Sep 20 19:15:37 2013 +0100 Update NEWS with PR1410, G478484 and G477456. 2013-09-20 Andrew John Hughes * NEWS: List PR1410, G478484 and G477456. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130920/baeabb16/attachment.html From andrew at icedtea.classpath.org Fri Sep 20 22:39:16 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 21 Sep 2013 05:39:16 +0000 Subject: /hg/release/icedtea7-2.4: 2 new changesets Message-ID: changeset 0fd63b23c711 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=0fd63b23c711 author: Andrew John Hughes date: Fri Sep 20 20:03:55 2013 +0100 Prepare for 2.4.2 release. 2013-09-20 Andrew John Hughes * NEWS: Set release date. * configure.ac: Bump to 2.4.2 proper. changeset 64f2e31aca24 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=64f2e31aca24 author: Andrew John Hughes date: Sat Sep 21 06:39:07 2013 +0100 Added tag icedtea-2.4.2 for changeset 0fd63b23c711 diffstat: .hgtags | 1 + ChangeLog | 5 +++++ NEWS | 2 +- configure.ac | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diffs (41 lines): diff -r a023a2650389 -r 64f2e31aca24 .hgtags --- a/.hgtags Fri Sep 20 19:59:31 2013 +0100 +++ b/.hgtags Sat Sep 21 06:39:07 2013 +0100 @@ -37,3 +37,4 @@ d0b14be8cbf8a705a3bec6cf8828b982405b059c icedtea-2.4-branchpoint c753600d9acfbbf87a5b201dde78068fb43f54d4 icedtea-2.4.0 3fbc8efc5df22013d6834b2ab3e4cf3aa581a35a icedtea-2.4.1 +0fd63b23c711d9892bf565e309789517983d2728 icedtea-2.4.2 diff -r a023a2650389 -r 64f2e31aca24 ChangeLog --- a/ChangeLog Fri Sep 20 19:59:31 2013 +0100 +++ b/ChangeLog Sat Sep 21 06:39:07 2013 +0100 @@ -1,3 +1,8 @@ +2013-09-20 Andrew John Hughes + + * NEWS: Set release date. + * configure.ac: Bump to 2.4.2 proper. + 2013-09-20 Andrew John Hughes * hotspot.map: Bump to match new 2.4.2 release tag. diff -r a023a2650389 -r 64f2e31aca24 NEWS --- a/NEWS Fri Sep 20 19:59:31 2013 +0100 +++ b/NEWS Sat Sep 21 06:39:07 2013 +0100 @@ -12,7 +12,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.4.2 (2013-XX-XX): +New in release 2.4.2 (2013-09-20): * System LCMS 2 support again enabled by default, requiring 2.5 or above. * OpenJDK diff -r a023a2650389 -r 64f2e31aca24 configure.ac --- a/configure.ac Fri Sep 20 19:59:31 2013 +0100 +++ b/configure.ac Sat Sep 21 06:39:07 2013 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.2pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.2], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Fri Sep 20 22:40:08 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 21 Sep 2013 05:40:08 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Added tag icedtea-2.4.2... Message-ID: changeset 18ffb465e2ba in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=18ffb465e2ba author: andrew date: Fri Sep 20 19:17:16 2013 +0100 Added tag icedtea-2.4.2 for changeset b732355257e3 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r b732355257e3 -r 18ffb465e2ba .hgtags --- a/.hgtags Thu Sep 19 00:00:25 2013 +0100 +++ b/.hgtags Fri Sep 20 19:17:16 2013 +0100 @@ -563,3 +563,5 @@ f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +b732355257e3452875a1a8e5a5de2c553dfa705c icedtea-2.4.2 From alex.kasko.lists at gmail.com Sun Sep 22 02:05:50 2013 From: alex.kasko.lists at gmail.com (Alex Kasko) Date: Sun, 22 Sep 2013 13:05:50 +0400 Subject: [fyi] icedtea7-2.4.2 build success Message-ID: <523EB2EE.5090309@gmail.com> FYI, icedtea7-2.4 tip (icedtea-2.4.2+r64f2e31aca24 - upcoming 2.4.2) was built successfully for windows, linux and macosx using non-bootstrap preconfigured builds. -- Regards, Alex Kasko From alien at slackware.com Sun Sep 22 12:40:31 2013 From: alien at slackware.com (Eric Hameleers) Date: Sun, 22 Sep 2013 12:40:31 -0700 (PDT) Subject: [fyi] icedtea7-2.4.2 build success In-Reply-To: <523EB2EE.5090309@gmail.com> References: <523EB2EE.5090309@gmail.com> Message-ID: On Sun, 22 Sep 2013, Alex Kasko wrote: > FYI, icedtea7-2.4 tip (icedtea-2.4.2+r64f2e31aca24 - upcoming 2.4.2) was > built successfully for windows, linux and macosx using non-bootstrap > preconfigured builds. There is a 2.4.2 tarball out in the open since friday: http://icedtea.wildebeest.org/download/source/icedtea-2.4.2.tar.xz - even though it has not been announced yet. I built openjdk 7u40_b60 (non-bootstrap build) successfully, using that tarball, on Slackware. Cheers, Eric -- Eric Hameleers Jabber: alien at jabber.xs4all.nl From bugzilla-daemon at icedtea.classpath.org Sun Sep 22 15:08:33 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 22 Sep 2013 22:08:33 +0000 Subject: [Bug 1567] New: Aptana Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1567 Bug ID: 1567 Summary: Aptana Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: weillerronfini at yahoo.com.br CC: unassigned at icedtea.classpath.org Created attachment 941 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=941&action=edit Error weiller at debian:~/Downloads/Aptana_Studio_3$ ls about_files artifacts.xml full_uninstall.txt plugins about.html configuration icon.xpm readme AptanaStudio3 dropins libcairo-swt.so version.txt AptanaStudio3.ini epl-v10.html notice.html AptanaStudio3.sh features p2 weiller at debian:~/Downloads/Aptana_Studio_3$ ./AptanaStudio3 weiller at debian:~/Downloads/Aptana_Studio_3$ ./AptanaStudio3 # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xa7026213, pid=18394, tid=3075892928 # # JRE version: 6.0_27-b27 # Java VM: OpenJDK Client VM (20.0-b12 mixed mode, sharing linux-x86 ) # Derivative: IcedTea6 1.12.6 # Distribution: Debian GNU/Linux 7.0 (wheezy), package 6b27-1.12.6-1~deb7u1 # Problematic frame: # C [libsoup-2.4.so.1+0x58213] soup_session_feature_detach+0x23 # # An error report file with more information is saved as: # /home/weiller/Downloads/Aptana_Studio_3/hs_err_pid18394.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 # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Abortado weiller at debian:~/Downloads/Aptana_Studio_3$ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130922/e8e33bbf/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Sep 22 15:10:29 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 22 Sep 2013 22:10:29 +0000 Subject: [Bug 1567] Aptana In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1567 Weiller changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P5 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130922/cca65d7f/attachment.html From ptisnovs at icedtea.classpath.org Mon Sep 23 01:34:03 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 23 Sep 2013 08:34:03 +0000 Subject: /hg/rhino-tests: Added new target for report generator. Message-ID: changeset 187af2160af7 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=187af2160af7 author: Pavel Tisnovsky date: Mon Sep 23 10:37:44 2013 +0200 Added new target for report generator. Added new test testNewInstance into the test suite InvocableClassTest. diffstat: ChangeLog | 8 ++++++++ src/org/RhinoTests/InvocableClassTest.java | 17 +++++++++++++++++ src/org/RhinoTests/Reporter/IndexPageGenerator.java | 11 +++++++++++ 3 files changed, 36 insertions(+), 0 deletions(-) diffs (70 lines): diff -r 361269035966 -r 187af2160af7 ChangeLog --- a/ChangeLog Fri Sep 20 11:15:56 2013 +0200 +++ b/ChangeLog Mon Sep 23 10:37:44 2013 +0200 @@ -1,3 +1,11 @@ +2013-09-23 Pavel Tisnovsky + + * src/org/RhinoTests/InvocableClassTest.java: + Added new test testNewInstance into the test suite + InvocableClassTest. + * src/org/RhinoTests/Reporter/IndexPageGenerator.java: + Added new target for report generator. + 2013-09-20 Pavel Tisnovsky * src/org/RhinoTests/CompiledScriptClassTest.java: diff -r 361269035966 -r 187af2160af7 src/org/RhinoTests/InvocableClassTest.java --- a/src/org/RhinoTests/InvocableClassTest.java Fri Sep 20 11:15:56 2013 +0200 +++ b/src/org/RhinoTests/InvocableClassTest.java Mon Sep 23 10:37:44 2013 +0200 @@ -1420,6 +1420,23 @@ } /** + * Test for method javax.script.Invocable.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.invocableClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.Invocable */ @SuppressWarnings("cast") diff -r 361269035966 -r 187af2160af7 src/org/RhinoTests/Reporter/IndexPageGenerator.java --- a/src/org/RhinoTests/Reporter/IndexPageGenerator.java Fri Sep 20 11:15:56 2013 +0200 +++ b/src/org/RhinoTests/Reporter/IndexPageGenerator.java Mon Sep 23 10:37:44 2013 +0200 @@ -64,6 +64,7 @@ TestResult testResult = TestResult.readSummary(testResultForDate); testResult.setDate(date); createIndexPageFromTemplate(testResult, params); + createStubPageFromTemplate(testResult, params); } private static void createIndexPageFromTemplate(TestResult testResult, CommandLineParameters params) { @@ -78,6 +79,16 @@ FileUtils.writeTextFile(params.getReportDir() + "/index.html", out); } + private static void createStubPageFromTemplate(TestResult testResult, CommandLineParameters params) { + List out = new LinkedList(); + out.add(testResult.getDate()); + out.add("" + testResult.getPassed()); + out.add("" + testResult.getFailed()); + out.add("" + testResult.getError()); + // write list of string to a file with given name + FileUtils.writeTextFile(params.getReportDir() + "/result.txt", out); + } + private static String replacePlaceholder(TestResult testResult, Pattern pattern, String templateLine) { Matcher matcher = pattern.matcher(templateLine); // if some pattern ${PLACEHOLDER} is found on the template line, From bugzilla-daemon at icedtea.classpath.org Mon Sep 23 01:43:27 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 23 Sep 2013 08:43:27 +0000 Subject: [Bug 1567] Aptana In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1567 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sgehwolf at redhat.com Resolution|--- |INVALID --- Comment #1 from Severin Gehwolf --- Hi Weiller, > # C [libsoup-2.4.so.1+0x58213] soup_session_feature_detach+0x23 Seems to suggest the crash originated from Eclipse SWT code. Most likely Aptana Studio is based on Eclipse SWT. I'd encourage you to file a bug upstream (Aptana) and let them know the webkit/xulrunner version you are using. The eclipse wiki/FAQ might have a couple of workarounds listed too which might work for you. For example using xulrunner when webkitgtk crashes for you. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776 In order to specify which xulrunner to use: http://www.eclipse.org/swt/faq.php#specifyxulrunner -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/20b86ef3/attachment.html From ptisnovs at icedtea.classpath.org Mon Sep 23 01:47:40 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 23 Sep 2013 08:47:40 +0000 Subject: /hg/gfx-test: Seven new tests added into BitBltAffineRotateTrans... Message-ID: changeset ca8b78f61748 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ca8b78f61748 author: Pavel Tisnovsky date: Mon Sep 23 10:51:29 2013 +0200 Seven new tests added into BitBltAffineRotateTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java | 112 +++++++++- 2 files changed, 110 insertions(+), 7 deletions(-) diffs (176 lines): diff -r 14efcf650603 -r ca8b78f61748 ChangeLog --- a/ChangeLog Fri Sep 20 11:35:10 2013 +0200 +++ b/ChangeLog Mon Sep 23 10:51:29 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-23 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java: + Seven new tests added into BitBltAffineRotateTransformOp. + 2013-09-20 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: diff -r 14efcf650603 -r ca8b78f61748 src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java Fri Sep 20 11:35:10 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java Mon Sep 23 10:51:29 2013 +0200 @@ -218,7 +218,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[0]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[0]); } /** @@ -232,7 +232,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[1]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[1]); } /** @@ -246,7 +246,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[2]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[2]); } /** @@ -260,7 +260,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[3]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[3]); } /** @@ -274,7 +274,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[4]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[4]); } /** @@ -288,7 +288,7 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[5]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[5]); } /** @@ -302,7 +302,105 @@ */ public TestResult testBitBltCheckerBufferedImageType4ByteABGRRotateTransformation6Nearest1Op(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[6]); + return doBitBltCheckerBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[6]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ARGB_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageType4ByteABGRPreRotateTransformation6Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[6]); } /** From gnu_andrew at member.fsf.org Mon Sep 23 07:42:22 2013 From: gnu_andrew at member.fsf.org (=?UTF-8?B?QW5kw6/Drw==?=) Date: Mon, 23 Sep 2013 15:42:22 +0100 Subject: [fyi] icedtea7-2.4.2 build success In-Reply-To: References: <523EB2EE.5090309@gmail.com> Message-ID: On 22 September 2013 20:40, Eric Hameleers wrote: > On Sun, 22 Sep 2013, Alex Kasko wrote: > >> FYI, icedtea7-2.4 tip (icedtea-2.4.2+r64f2e31aca24 - upcoming 2.4.2) was >> built successfully for windows, linux and macosx using non-bootstrap >> preconfigured builds. > > > There is a 2.4.2 tarball out in the open since friday: > http://icedtea.wildebeest.org/download/source/icedtea-2.4.2.tar.xz - even > though it has not been announced yet. > I built openjdk 7u40_b60 (non-bootstrap build) successfully, using that > tarball, on Slackware. > > Cheers, Eric > > -- > Eric Hameleers > Jabber: alien at jabber.xs4all.nl Yeah, it was there on Friday for anyone who cared to notice ;) [0] I'm about to do the formal announcement. Great to hear it worked for you :) -- Andii :-) [0] https://twitter.com/gnu_andrew_java/status/381177026326970368 From gnu_andrew at member.fsf.org Mon Sep 23 08:09:33 2013 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 23 Sep 2013 16:09:33 +0100 Subject: IcedTea 2.4.2 Released! Message-ID: <20130923150933.GA1532@carrie.the212.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 7 support in the 2.4.x series with a number of bug fixes and synchronises it with the upstream u40 b60 tag. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla/) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 2.4.2 (2013-09-20): * System LCMS 2 support again enabled by default, requiring 2.5 or above. * OpenJDK - S7122222: GC log is limited to 2G for 32-bit - S7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand - S7165807: Non optimized initialization of NSS crypto library leads to scalability issues - S7199324: IPv6: JMXConnectorServer.getConnectionIDs() return IDs contradicting to address grammar - S8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc - S8001424: G1: Rename certain G1-specific flags - S8001425: G1: Change the default values for certain G1 specific flags - S8004859: Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform - S8005019: JTable passes row index instead of length when inserts selection interval - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() - S8006941: [macosx] Deadlock in drag and drop - S8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier() - S8009168: accessibility.properties syntax issue - S8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c - S8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82 - S8011569: ARM -- avoid native stack walking - S8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr - S8012144: multiple SIGSEGVs fails on staxf - S8012156: tools/javac/file/zip/T6865530.java fails for win32/64 - S8012241: NMT huge memory footprint, it usually leads to OOME - S8012366: Fix for 8007815 breaks down when only building OpenJDK (without deploy and install forests) - S8013546: compiler/8011901/Test8011901.java fails with CompilationError: Compilation failed - S8013719: Increment build # of hs23.21 to b02 - S8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment - S8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box. - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number - S8014805: NPE is thrown during certpath validation if certificate does not have AuthorityKeyIdentifier extension - S8014850: Third Party License Readme updates for 7u40 - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it - S8015237: Parallelize string table scanning during strong root processing - S8015411: Bump the hsx build number for 7u21-b50 for customer - S8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity - S8015576: CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database - S8015668: overload resolution: performance regression in JDK 7 - S8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace - S8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state - S8016102: Increment build # of hs23.25 to b02 for 7u25-b31 psu - S8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' - S8016133: Regression: diff. behavior with user-defined SAXParser - S8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block - S8016331: Minor issues in event tracing metadata - S8016648: FEATURE_SECURE_PROCESSING set to true or false causes SAXParseException to be thrown - S8016734: Remove extra code due to duplicated push - S8016737: After clicking on "Print UNCOLLATED" button, the print out come in order 'Page 1', 'Page 2', 'Page 1' - S8016740: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose - S8016767: Provide man pages generated from DARB for OpenJDK - S8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed - S8017159: Unexclude sun/tools/JMAP/Basic.sh test - S8017173: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated - S8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger - S8017189: [macosx] AWT program menu disabled on Mac - S8017252: new hotspot build - hs24-b51 - S8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites - S8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased - S8017510: Add a regression test for 8005956 - S8017566: Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl - S8017588: SA: jstack -l throws UnalignedAddressException while attaching to core file for java that was started with CMS GC - S8019155: Update makefiles with correct jfr packages - S8019201: Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException - S8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame - S8019265: [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6 - S8019298: new hotspot build - hs24-b52 - S8019381: HashMap.isEmpty is non-final, potential issues for get/remove - S8019541: 7u40 l10n resource file translation update - S8019587: [macosx] Possibility to set the same frame for the different screens - S8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs - S8019628: [macosx] closed/java/awt/Modal/BlockedMouseInputTest/BlockedMouseInputTest.html failed since 7u40b30 on MacOS - S8019826: Test com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java fails with NPE - S8019933: new hotspot build - hs24-b53 - S8019979: Replace CheckPackageAccess test with better one from closed repo - S8020038: [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread - S8020054: (tz) Support tzdata2013d - S8020155: PSR:PERF G1 not collecting old regions when humongous allocations interfer - S8020215: Different execution plan when using JIT vs interpreter - S8020228: Restore the translated version of logging_xx.properties - S8020298: [macosx] Incorrect merge in the lwawt code - S8020319: Update Japanese man pages for 7u40 - S8020371: [macosx] applets with Drag and Drop fail with IllegalArgumentException - S8020381: new hotspot build - hs24-b54 - S8020425: Product options incorrectly removed in minor version - S8020430: NullPointerException in xml sqe nightly result on 2013-07-12 - S8020433: Crash when using -XX:+RestoreMXCSROnJNICalls - S8020498: Crash when both libnet.so and libmawt.so are loaded - S8020525: Increment build # of hs23.25 to b03 for 7u25-b34 psu - S8020547: Event based tracing needs a UNICODE string type - S8020625: [TESTBUG] java/util/HashMap/OverrideIsEmpty.java doesn't compile for jdk7u - S8020701: Avoid crashes in WatcherThread - S8020796: new hotspot build - hs24-b55 - S8020811: [macosx] Merge fault 7u25-7u40: Missed focus fix JDK-8012330 - S8020940: Valid OCSP responses are rejected for backdated enquiries - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances - S8021008: Provide java and jcmd man pages for Mac (OpenJDK) - S8021148: Regression in SAXParserImpl in 7u40 b34 (NPE) - S8021353: Event based tracing is missing thread exit - S8021381: JavaFX scene included in Swing JDialog not starting from Web Start - S8021565: new hotspot build - hs24-b56 - S8021771: warning stat64 is deprecated - when building on OSX 10.7.5 - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries - S8022548: SPECJVM2008 has errors introduced in 7u40-b34 - S8023751: Need to backout 8020943, was pushed to hs24 without approval - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp * New features - RH991170: java does not use correct kerberos credential cache - PR1536: Allow use of system Kerberos to obtain cache location - PR1551: Add build support for Zero AArch64 - PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. - PR1553: Add Debian AArch64 support - PR1554: Fix build on Mac OS X * Bug fixes - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors - RH995488: Java thinks that the default timezone is Busingen instead of Zurich - Cleanup file resources properly in TimeZone_md. - PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 - G477456: emerge fails on pax system: java attempts RWX map, paxctl -m missing - G478484: patches/boot/ecj-diamond.patch FAILED - Fix Zero following changes to entry_frame_call_wrapper in 8016131 - RH1008988: Set ZERO_BUILD in flags.make so it is set on rebuilds - Cast should use same type as GCDrainStackTargetSize (uintx). - Add casts to fix build on S390 * JamVM - JSR292: Invoke Dynamic - sun.misc.Unsafe: additional methods get/putAddress: allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. - FreeClassData: adjust method count for Miranda methods The tarball can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.4.2.tar.gz or: http://icedtea.classpath.org/download/source/icedtea-2.4.2.tar.xz We now provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-2.4.2.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.4.2.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: 3dab1edc5c0391bd67cfac60cbfb5c91aee6ea9726043252d9f216dfafd236b6 icedtea-2.4.2.tar.gz aeb1307d2d140805fcc23f05ad96eb1eb41655c14cdece404316978b149aee7a icedtea-2.4.2.tar.gz.sig 8c1edd97b8e7103f0345f0a561cec4f37c77d2016d81c66482bc657cfa14b754 icedtea-2.4.2.tar.xz 4d15428e91980519a7e225c638a3747f9c6c3a909d98db9ef557dc24477c1801 icedtea-2.4.2.tar.xz.sig The following people helped with these releases: * Elliott Baron (RH991170) * Dan Hor\u00E1k (S390 support) * Andrew Hughes (OpenJDK synchronisation, all other fixes & release management) * Alex Kasko (Windows & Mac OS X support) * Matthias Klose (Zero AArch64 & Debian support) * Denis Lila (RH661505) * Robert Lougher (JamVM support) * Omair Majid (initial version of RH995488) * Xerxes R??nby (JamVM support) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.4.2.tar.gz or: $ tar x -I xz -f icedtea-2.4.2.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.4.2/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andii :) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/7bfa310f/attachment.bin From jvanek at redhat.com Mon Sep 23 08:40:26 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 23 Sep 2013 17:40:26 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52370C9B.1050605@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> Message-ID: <524060EA.1060408@redhat.com> ok. Lifecycle II :) Although I used hg mv and --git , during development I screwed it somewhere so renaming is not visible in patches :( So main changes are: old classes were moved: AppletLog.java got moved to ../utils/logging/FileLog.java Log.java got moved to /utils/logging/LogConfig.java The names are now much more corresponding with old behaviour. The new behaviour is same, but the code was rewritten to be cleaner, work faster.. and .. well to work at all :) /me cursing asu :( The new ItwLogger which was so discussed was renamed to logging/OutputController.java. As it is better description of its pusposses. Also important changes have appeared in OutputController: The messages are not logged directly, but are queued, and separate thread is consuming those messages to individual enabled loggers. Please double check my synchronisation:( By default file logger is off, std.streams is on, and system one is on (but system one is just dummy class). This change is already presented in ITW settings+messages+defaults (se DebuggingPaneL.java) And logging can be on/off. Default is off. (see todo in LogConfig about DeploymentProperties loading) The api is now log(string), log(exception), log(level, string), log(level, exception), The no-level variants are logged only when debug is on. Level is MESSAGE_ALL, // - stdout/log in all cases MESSAGE_DEBUG, // - stdout/log in verbose/debug mode WARNING_ALL, // - stdout+stderr/log in all cases (default for WARNING_DEBUG, // - stdou+stde/logrr in verbose/debug mode ERROR_ALL, // - stderr/log in all cases (default for ERROR_DEBUG, // - stderr/log in verbose/debug mode //ERROR_DEBUG is default for Throwable //MESSAGE_VERBOSE is defautrl for String Copy pasted from class. Ugh. I think I left the comment here unintentionally. Another important change is JNLPruntime.exit(int) instead of System.exit(int). My intentions are two: - I would like to flush the logs by more natural way then ShutdownHook - in future I would liek to get rid of System.exit call here, and rather inherit exception and throw it, so ABRT will be able to detect it. Also One think I had in mind was to have various default levels for various loggers. Right now it is just debug on/of shared for all loggers. What do you think? Thank you for your deep review, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-adaptedTests.diff Type: text/x-patch Size: 16430 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/da6e4953/refactoredLoggingII-git-adaptedTests-0001.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-newClasses.diff Type: text/x-patch Size: 36645 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/da6e4953/refactoredLoggingII-git-newClasses-0001.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-refactoring.diff Type: text/x-patch Size: 232924 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/da6e4953/refactoredLoggingII-git-refactoring-0001.diff From jvanek at redhat.com Mon Sep 23 08:41:23 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 23 Sep 2013 17:41:23 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <524060EA.1060408@redhat.com> References: <524060EA.1060408@redhat.com> Message-ID: <52406123.7000808@redhat.com> ok. Lifecycle II :) Although I used hg mv and --git , during development I screwed it somewhere so renaming is not visible in patches :( So main changes are: old classes were moved: AppletLog.java got moved to ../utils/logging/FileLog.java Log.java got moved to /utils/logging/LogConfig.java The names are now much more corresponding with old behaviour. The new behaviour is same, but the code was rewritten to be cleaner, work faster.. and .. well to work at all :) /me cursing asu :( The new ItwLogger which was so discussed was renamed to logging/OutputController.java. As it is better description of its pusposses. Also important changes have appeared in OutputController: The messages are not logged directly, but are queued, and separate thread is consuming those messages to individual enabled loggers. Please double check my synchronisation:( By default file logger is off, std.streams is on, and system one is on (but system one is just dummy class). This change is already presented in ITW settings+messages+defaults (se DebuggingPaneL.java) And logging can be on/off. Default is off. (see todo in LogConfig about DeploymentProperties loading) The api is now log(string), log(exception), log(level, string), log(level, exception), The no-level variants are logged only when debug is on. Level is MESSAGE_ALL, // - stdout/log in all cases MESSAGE_DEBUG, // - stdout/log in verbose/debug mode WARNING_ALL, // - stdout+stderr/log in all cases (default for WARNING_DEBUG, // - stdou+stde/logrr in verbose/debug mode ERROR_ALL, // - stderr/log in all cases (default for ERROR_DEBUG, // - stderr/log in verbose/debug mode //ERROR_DEBUG is default for Throwable //MESSAGE_VERBOSE is defautrl for String Copy pasted from class. Ugh. I think I left the comment here unintentionally. Another important change is JNLPruntime.exit(int) instead of System.exit(int). My intentions are two: - I would like to flush the logs by more natural way then ShutdownHook - in future I would liek to get rid of System.exit call here, and rather inherit exception and throw it, so ABRT will be able to detect it. Also One think I had in mind was to have various default levels for various loggers. Right now it is just debug on/of shared for all loggers. What do you think? Thank you for your deep review, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-adaptedTests.diff Type: text/x-patch Size: 16431 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/d3852404/refactoredLoggingII-git-adaptedTests-0001.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-newClasses.diff Type: text/x-patch Size: 36646 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/d3852404/refactoredLoggingII-git-newClasses-0001.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoredLoggingII-git-refactoring.diff Type: text/x-patch Size: 232925 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/d3852404/refactoredLoggingII-git-refactoring-0001.diff From jvanek at redhat.com Mon Sep 23 08:58:49 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 23 Sep 2013 17:58:49 +0200 Subject: [icedtea-web] RFC: Unit tests for JNLPProxySelector In-Reply-To: <523B3591.2050904@redhat.com> References: <523B3591.2050904@redhat.com> Message-ID: <52406539.1050503@redhat.com> On 09/19/2013 07:34 PM, Omair Majid wrote: > Hi, > > The attached patch adds a bunch of unit tests for JNLPProxySelector. > Most functionality aside from making use of a PAC file should be covered > by tests now. > > I tried to avoid making any functional changes, but it felt wrong to let > this one mistake go by: > - String host = uri.getSchemeSpecificPart().split(":")[0]; > + String host = uri.getHost(); > > Given the URI of "socket://example.org", the first line evaluates to > "//example.org", while the second one (correctly) evaluates to > "example.org". > > Okay to push? > > Thanks, > Omair > looks ok to me. From omajid at redhat.com Mon Sep 23 09:03:50 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 23 Sep 2013 12:03:50 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <524060EA.1060408@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> Message-ID: <52406666.8020002@redhat.com> On 09/23/2013 11:40 AM, Jiri Vanek wrote: > ok. Lifecycle II :) > > Although I used hg mv and --git , during development I screwed it > somewhere so renaming is not visible in patches :( > > So main changes are: > old classes were moved: > AppletLog.java got moved to ../utils/logging/FileLog.java > Log.java got moved to /utils/logging/LogConfig.java > > The names are now much more corresponding with old behaviour. The new > behaviour is same, but the code was rewritten to be cleaner, work > faster.. and .. well to work at all :) /me cursing asu :( > > The new ItwLogger which was so discussed was renamed to > logging/OutputController.java. As it is better description of its > pusposses. > Let's get this in and we can improve things later. If you have unit tests, please push them too. If not, please write new ones. For things like threads, not having unit tests may come back to bite us later. Some of the files have a copyright date of 2011. Unless the file is a rename, please update the date. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at icedtea.classpath.org Mon Sep 23 09:36:17 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Mon, 23 Sep 2013 16:36:17 +0000 Subject: /hg/icedtea-web: Unit tests for JNLPProxySelector Message-ID: changeset bd8e09edc806 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bd8e09edc806 author: Omair Majid date: Mon Sep 23 12:34:25 2013 -0400 Unit tests for JNLPProxySelector This contains one functional change: - String host = uri.getSchemeSpecificPart().split(":")[0]; + String host = uri.getHost(); Given the URI of "socket://example.org", the first line evaluates to "//example.org", while the second one (correctly) evaluates to "example.org". diffstat: ChangeLog | 23 + netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 5 +- netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 4 +- netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 16 +- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 2 +- plugin/icedteanp/java/sun/applet/PluginMain.java | 2 +- plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 5 + tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java | 321 ++++++++++ 8 files changed, 363 insertions(+), 15 deletions(-) diffs (490 lines): diff -r a5e65b8ac54c -r bd8e09edc806 ChangeLog --- a/ChangeLog Fri Sep 20 11:41:36 2013 -0400 +++ b/ChangeLog Mon Sep 23 12:34:25 2013 -0400 @@ -1,3 +1,26 @@ +2013-09-23 Omair Majid + + * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java + (BrowserAwareProxySelector): Rename to... + (BrowserAwareProxySelector(DeploymentConfiguration)): New method. + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Clarify + possible values for KEY_PROXY_TYPE. + * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java + (JNLPProxySelector): Rename to... + (JNLPProxySelector(DeploymentConfiguration)): New method. + (parseConfiguration): Rename to... + (parseConfiguration(DeploymentConfiguration)): New method. + (inBypassList): Get host from URI instead of manual hacks. + (getProxiesFromPacResult): Clarify return value. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java + (initialize): Adjust for new BrowserAwareProxySelector constructor. + * plugin/icedteanp/java/sun/applet/PluginMain.java + (init): Adjust for new PluginProxySelector constructor. + * plugin/icedteanp/java/sun/applet/PluginProxySelector.java + (PluginProxySelector): New constructor. + * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java: + New file. + 2013-09-20 Omair Majid * netx/net/sourceforge/jnlp/InformationDesc.java diff -r a5e65b8ac54c -r bd8e09edc806 netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java --- a/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java Fri Sep 20 11:41:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java Mon Sep 23 12:34:25 2013 -0400 @@ -52,6 +52,7 @@ import java.util.List; import java.util.Map; +import net.sourceforge.jnlp.config.DeploymentConfiguration; import net.sourceforge.jnlp.runtime.JNLPProxySelector; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.runtime.PacEvaluator; @@ -92,8 +93,8 @@ /** * Create a new instance of this class, reading configuration fropm the browser */ - public BrowserAwareProxySelector() { - super(); + public BrowserAwareProxySelector(DeploymentConfiguration config) { + super(config); try { initFromBrowserConfig(); } catch (IOException e) { diff -r a5e65b8ac54c -r bd8e09edc806 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Fri Sep 20 11:41:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon Sep 23 12:34:25 2013 -0400 @@ -36,8 +36,8 @@ import java.util.Set; import javax.naming.ConfigurationException; + import net.sourceforge.jnlp.cache.CacheLRUWrapper; - import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.FileUtils; @@ -126,6 +126,8 @@ /* * Networking */ + + /** the proxy type. possible values are {@code JNLPProxySelector.PROXY_TYPE_*} */ public static final String KEY_PROXY_TYPE = "deployment.proxy.type"; public static final String KEY_PROXY_SAME = "deployment.proxy.same"; public static final String KEY_PROXY_AUTO_CONFIG_URL = "deployment.proxy.auto.config.url"; diff -r a5e65b8ac54c -r bd8e09edc806 netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java Fri Sep 20 11:41:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java Mon Sep 23 12:34:25 2013 -0400 @@ -82,19 +82,14 @@ // FIXME what is this? where should it be used? private String overrideHosts = null; - /** - * Creates a new JNLPProxySelector. - */ - public JNLPProxySelector() { - parseConfiguration(); + public JNLPProxySelector(DeploymentConfiguration config) { + parseConfiguration(config); } /** * Initialize this ProxySelector by reading the configuration */ - private void parseConfiguration() { - DeploymentConfiguration config = JNLPRuntime.getConfiguration(); - + private void parseConfiguration(DeploymentConfiguration config) { proxyType = Integer.valueOf(config.getProperty(DeploymentConfiguration.KEY_PROXY_TYPE)); String autoConfigString = config.getProperty(DeploymentConfiguration.KEY_PROXY_AUTO_CONFIG_URL); @@ -240,7 +235,7 @@ return true; } } else if (scheme.equals("socket")) { - String host = uri.getSchemeSpecificPart().split(":")[0]; + String host = uri.getHost(); if (bypassLocal && isLocalHost(host)) { return true; @@ -368,7 +363,8 @@ * suitable for java. * @param pacString a string indicating proxies. For example * "PROXY foo.bar:3128; DIRECT" - * @return a list of Proxy objects represeting the parsed string. + * @return a list of Proxy objects representing the parsed string. In + * case of malformed input, an empty list may be returned */ public static List getProxiesFromPacResult(String pacString) { List proxies = new ArrayList(); diff -r a5e65b8ac54c -r bd8e09edc806 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Fri Sep 20 11:41:36 2013 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Sep 23 12:34:25 2013 -0400 @@ -265,7 +265,7 @@ // plug in a custom authenticator and proxy selector Authenticator.setDefault(new JNLPAuthenticator()); - ProxySelector.setDefault(new BrowserAwareProxySelector()); + ProxySelector.setDefault(new BrowserAwareProxySelector(config)); // Restrict access to netx classes Security.setProperty("package.access", diff -r a5e65b8ac54c -r bd8e09edc806 plugin/icedteanp/java/sun/applet/PluginMain.java --- a/plugin/icedteanp/java/sun/applet/PluginMain.java Fri Sep 20 11:41:36 2013 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginMain.java Mon Sep 23 12:34:25 2013 -0400 @@ -231,7 +231,7 @@ Authenticator.setDefault(new JNLPAuthenticator()); } // override the proxy selector set by JNLPRuntime - ProxySelector.setDefault(new PluginProxySelector()); + ProxySelector.setDefault(new PluginProxySelector(JNLPRuntime.getConfiguration())); } private static void setCookieHandler(PluginStreamHandler streamHandler) { diff -r a5e65b8ac54c -r bd8e09edc806 plugin/icedteanp/java/sun/applet/PluginProxySelector.java --- a/plugin/icedteanp/java/sun/applet/PluginProxySelector.java Fri Sep 20 11:41:36 2013 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginProxySelector.java Mon Sep 23 12:34:25 2013 -0400 @@ -43,6 +43,7 @@ import java.util.ArrayList; import java.util.List; +import net.sourceforge.jnlp.config.DeploymentConfiguration; import net.sourceforge.jnlp.runtime.JNLPProxySelector; import net.sourceforge.jnlp.util.TimedHashMap; @@ -59,6 +60,10 @@ private TimedHashMap proxyCache = new TimedHashMap(); + public PluginProxySelector(DeploymentConfiguration config) { + super(config); + } + /** * Selects the appropriate proxy (or DIRECT connection method) for the given URI * diff -r a5e65b8ac54c -r bd8e09edc806 tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java Mon Sep 23 12:34:25 2013 -0400 @@ -0,0 +1,321 @@ +/* JNLPProxySelectorTest.java + Copyright (C) 2013 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.runtime; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.fail; + +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.Proxy.Type; +import java.net.SocketAddress; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.UnknownHostException; +import java.util.Arrays; +import java.util.List; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; + +import org.junit.Ignore; +import org.junit.Test; + +public class JNLPProxySelectorTest { + + private static final Proxy BROWSER_PROXY = new Proxy(Type.SOCKS, InetSocketAddress.createUnresolved("foo", 0xF00)); + + class TestProxySelector extends JNLPProxySelector { + public TestProxySelector(DeploymentConfiguration config) { + super(config); + } + + @Override + protected List getFromBrowser(URI uri) { + return Arrays.asList(BROWSER_PROXY); + } + } + + @Test + public void testNoProxy() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_NONE)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + @Test + public void testProxyBypassLocal() throws URISyntaxException, UnknownHostException { + final String LOCALHOST = InetAddress.getLocalHost().getHostName(); + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_BYPASS_LOCAL, String.valueOf(true)); + + List result; + JNLPProxySelector selector = new TestProxySelector(config); + + result = selector.select(new URI("http://127.0.0.1/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + + result = selector.select(new URI("http://" + LOCALHOST + "/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + + result = selector.select(new URI("socket://127.0.0.1/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + + result = selector.select(new URI("socket://" + LOCALHOST + "/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + @Test + public void testLocalProxyBypassListIsIgnoredForNonLocal() { + + } + + @Test + public void testProxyBypassList() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_BYPASS_LIST, "example.org"); + + JNLPProxySelector selector = new TestProxySelector(config); + List result; + + result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + + result = selector.select(new URI("socket://example.org/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + @Test + public void testManualHttpProxy() throws URISyntaxException { + String HTTP_HOST = "example.org"; + int HTTP_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTP_HOST, HTTP_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTP_PORT, String.valueOf(HTTP_PORT)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); + } + + @Test + public void testManualHttpsProxy() throws URISyntaxException { + String HTTPS_HOST = "example.org"; + int HTTPS_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTPS_HOST, HTTPS_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTPS_PORT, String.valueOf(HTTPS_PORT)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("https://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(HTTPS_HOST, HTTPS_PORT)), result.get(0)); + } + + @Test + public void testManualFtpProxy() throws URISyntaxException { + String FTP_HOST = "example.org"; + int FTP_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_FTP_HOST, FTP_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_FTP_PORT, String.valueOf(FTP_PORT)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("ftp://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(FTP_HOST, FTP_PORT)), result.get(0)); + } + + @Test + public void testManualSocksProxy() throws URISyntaxException { + String SOCKS_HOST = "example.org"; + int SOCKS_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_HOST, SOCKS_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_PORT, String.valueOf(SOCKS_PORT)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("socket://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(SOCKS_HOST, SOCKS_PORT)), result.get(0)); + } + + @Test + public void testManualUnknownProtocolProxy() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("gopher://example.org/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + @Test + public void testManualSameProxy() throws URISyntaxException { + final String HTTP_HOST = "example.org"; + final int HTTP_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTP_HOST, HTTP_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_HTTP_PORT, String.valueOf(HTTP_PORT)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_SAME, String.valueOf(true)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result; + + result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); + + result = selector.select(new URI("socket://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); + } + + @Test + public void testBrowserProxy() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_BROWSER)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertSame(BROWSER_PROXY, result.get(0)); + } + + @Test + public void testMissingProxyAutoConfigUrl() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_AUTO)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + // TODO + @Ignore("Need to find a way to inject a custom proxy autoconfig file first") + @Test + public void testProxyAutoConfig() throws URISyntaxException { + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_AUTO)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_AUTO_CONFIG_URL, "foobar"); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + } + + // TODO this JNLPProxySelect#getProxiesFromPacResult should be moved into a different class + // TODO this test should be split into different methods + @Test + public void testConvertingProxyAutoConfigResultToProxyObject() { + List result; + + result = JNLPProxySelector.getProxiesFromPacResult("foo bar baz; what is this; dunno"); + assertEquals(0, result.size()); + + result = JNLPProxySelector.getProxiesFromPacResult("DIRECT"); + assertEquals(1, result.size()); + assertEquals(Proxy.NO_PROXY, result.get(0)); + + result = JNLPProxySelector.getProxiesFromPacResult("PROXY foo:42"); + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, InetSocketAddress.createUnresolved("foo", 42)), result.get(0)); + + result = JNLPProxySelector.getProxiesFromPacResult("PROXY foo:bar"); + assertEquals(0, result.size()); + + result = JNLPProxySelector.getProxiesFromPacResult("PROXY foo"); + assertEquals(0, result.size()); + + result = JNLPProxySelector.getProxiesFromPacResult("SOCKS foo:42"); + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.SOCKS, InetSocketAddress.createUnresolved("foo", 42)), result.get(0)); + + result = JNLPProxySelector.getProxiesFromPacResult("SOCKS foo:bar"); + assertEquals(0, result.size()); + + result = JNLPProxySelector.getProxiesFromPacResult("SOCKS foo"); + assertEquals(0, result.size()); + + } +} From omajid at redhat.com Mon Sep 23 10:46:49 2013 From: omajid at redhat.com (Omair Majid) Date: Mon, 23 Sep 2013 13:46:49 -0400 Subject: [icedtea-web] PR1474: Can't get javaws to use SOCKS proxy Message-ID: <52407E89.9090500@redhat.com> Hi, The attached patch improves how manual SOCKS proxy configuration is handled. Specifically, if there is a socks proxy specified, it is used even for http(s) and ftp, unless a more specific proxy for those is specified. 'sameProxy' now affects the https/http/ftp protocols, but not the socket protocol. Okay to push? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1474-01.patch Type: text/x-patch Size: 5291 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130923/e4d0c76a/pr1474-01.patch From guillaume at alaux.net Mon Sep 23 14:48:02 2013 From: guillaume at alaux.net (Guillaume Alaux) Date: Mon, 23 Sep 2013 23:48:02 +0200 Subject: [fyi] icedtea7-2.4.2 build success In-Reply-To: References: <523EB2EE.5090309@gmail.com> Message-ID: On 23 September 2013 16:42, And?? wrote: > On 22 September 2013 20:40, Eric Hameleers wrote: >> On Sun, 22 Sep 2013, Alex Kasko wrote: >> >>> FYI, icedtea7-2.4 tip (icedtea-2.4.2+r64f2e31aca24 - upcoming 2.4.2) was >>> built successfully for windows, linux and macosx using non-bootstrap >>> preconfigured builds. >> >> >> There is a 2.4.2 tarball out in the open since friday: >> http://icedtea.wildebeest.org/download/source/icedtea-2.4.2.tar.xz - even >> though it has not been announced yet. >> I built openjdk 7u40_b60 (non-bootstrap build) successfully, using that >> tarball, on Slackware. >> >> Cheers, Eric >> >> -- >> Eric Hameleers >> Jabber: alien at jabber.xs4all.nl > > Yeah, it was there on Friday for anyone who cared to notice ;) [0] > I'm about to do the formal announcement. Great to hear it worked for you :) > -- > Andii :-) > > [0] https://twitter.com/gnu_andrew_java/status/381177026326970368 Same for Arch Linux here. Built OK and available in our repos. Thanks. -- Guillaume From andrew at icedtea.classpath.org Mon Sep 23 16:40:45 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 23 Sep 2013 23:40:45 +0000 Subject: /hg/release/icedtea7-2.4: Start 2.4.3 release cycle. Message-ID: changeset 54b900700f8f in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=54b900700f8f author: Andrew John Hughes date: Tue Sep 24 00:40:30 2013 +0100 Start 2.4.3 release cycle. 2013-09-23 Andrew John Hughes * NEWS: Add 2.4.3 section. * configure.ac: Bump to 2.4.3pre. diffstat: ChangeLog | 5 +++++ NEWS | 4 +++- configure.ac | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diffs (42 lines): diff -r 64f2e31aca24 -r 54b900700f8f ChangeLog --- a/ChangeLog Sat Sep 21 06:39:07 2013 +0100 +++ b/ChangeLog Tue Sep 24 00:40:30 2013 +0100 @@ -1,3 +1,8 @@ +2013-09-23 Andrew John Hughes + + * NEWS: Add 2.4.3 section. + * configure.ac: Bump to 2.4.3pre. + 2013-09-20 Andrew John Hughes * NEWS: Set release date. diff -r 64f2e31aca24 -r 54b900700f8f NEWS --- a/NEWS Sat Sep 21 06:39:07 2013 +0100 +++ b/NEWS Tue Sep 24 00:40:30 2013 +0100 @@ -12,6 +12,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.4.3 (2013-10-XX): + New in release 2.4.2 (2013-09-20): * System LCMS 2 support again enabled by default, requiring 2.5 or above. @@ -132,7 +134,7 @@ - G477456: emerge fails on pax system: java attempts RWX map, paxctl -m missing - G478484: patches/boot/ecj-diamond.patch FAILED - Fix Zero following changes to entry_frame_call_wrapper in 8016131 - - Set ZERO_BUILD in flags.make so it is set on rebuilds + - RH1008988: Set ZERO_BUILD in flags.make so it is set on rebuilds - Cast should use same type as GCDrainStackTargetSize (uintx). - Add casts to fix build on S390 * JamVM diff -r 64f2e31aca24 -r 54b900700f8f configure.ac --- a/configure.ac Sat Sep 21 06:39:07 2013 +0100 +++ b/configure.ac Tue Sep 24 00:40:30 2013 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.2], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.3pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Mon Sep 23 17:54:41 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 24 Sep 2013 00:54:41 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 8024863: X11: Support GNOME... Message-ID: changeset a6ff1e0a1dcb in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=a6ff1e0a1dcb author: omajid date: Mon Sep 16 15:43:06 2013 -0400 8024863: X11: Support GNOME Shell as mutter Reviewed-by: anthony diffstat: src/solaris/classes/sun/awt/X11/XWM.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 5a6e6d2ee57d -r a6ff1e0a1dcb src/solaris/classes/sun/awt/X11/XWM.java --- a/src/solaris/classes/sun/awt/X11/XWM.java Mon Sep 09 20:28:47 2013 +0100 +++ b/src/solaris/classes/sun/awt/X11/XWM.java Mon Sep 16 15:43:06 2013 -0400 @@ -578,7 +578,7 @@ } static boolean isMutter() { - return isNetWMName("Mutter"); + return isNetWMName("Mutter") || isNetWMName("GNOME Shell"); } // TODO: according to wikipedia, compiz is now reparenting. This should From bugzilla-daemon at icedtea.classpath.org Mon Sep 23 19:40:36 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 24 Sep 2013 02:40:36 +0000 Subject: [Bug 1510] crashplan crash while starting In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1510 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gnu.andrew at redhat.com Component|JamVM |Zero Hardware|x86 |ppc Version|6-1.0 |6-1.12.6 Assignee|xerxes at zafena.se |chphilli at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130924/ab783a3f/attachment.html From andrew at icedtea.classpath.org Mon Sep 23 19:48:41 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 24 Sep 2013 02:48:41 +0000 Subject: /hg/icedtea7: Add 2.4.2 release notes. Message-ID: changeset c3c661000904 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=c3c661000904 author: Andrew John Hughes date: Tue Sep 24 03:48:26 2013 +0100 Add 2.4.2 release notes. 2013-09-23 Andrew John Hughes * NEWS: Add 2.4.2 release notes. diffstat: ChangeLog | 4 + NEWS | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 129 insertions(+), 3 deletions(-) diffs (150 lines): diff -r 981d010a05bf -r c3c661000904 ChangeLog --- a/ChangeLog Fri Sep 20 18:01:32 2013 +0100 +++ b/ChangeLog Tue Sep 24 03:48:26 2013 +0100 @@ -1,3 +1,7 @@ +2013-09-23 Andrew John Hughes + + * NEWS: Add 2.4.2 release notes. + 2013-05-28 Andrew John Hughes PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 diff -r 981d010a05bf -r c3c661000904 NEWS --- a/NEWS Fri Sep 20 18:01:32 2013 +0100 +++ b/NEWS Tue Sep 24 03:48:26 2013 +0100 @@ -14,10 +14,132 @@ New in release 2.5.0 (2012-XX-XX): +New in release 2.4.2 (2013-09-20): + +* System LCMS 2 support again enabled by default, requiring 2.5 or above. +* OpenJDK + - S7122222: GC log is limited to 2G for 32-bit + - S7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand + - S7165807: Non optimized initialization of NSS crypto library leads to scalability issues + - S7199324: IPv6: JMXConnectorServer.getConnectionIDs() return IDs contradicting to address grammar + - S8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + - S8001424: G1: Rename certain G1-specific flags + - S8001425: G1: Change the default values for certain G1 specific flags + - S8004859: Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform + - S8005019: JTable passes row index instead of length when inserts selection interval + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8006941: [macosx] Deadlock in drag and drop + - S8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier() + - S8009168: accessibility.properties syntax issue + - S8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c + - S8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82 + - S8011569: ARM -- avoid native stack walking + - S8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr + - S8012144: multiple SIGSEGVs fails on staxf + - S8012156: tools/javac/file/zip/T6865530.java fails for win32/64 + - S8012241: NMT huge memory footprint, it usually leads to OOME + - S8012366: Fix for 8007815 breaks down when only building OpenJDK (without deploy and install forests) + - S8013546: compiler/8011901/Test8011901.java fails with CompilationError: Compilation failed + - S8013719: Increment build # of hs23.21 to b02 + - S8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment + - S8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box. + - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number + - S8014805: NPE is thrown during certpath validation if certificate does not have AuthorityKeyIdentifier extension + - S8014850: Third Party License Readme updates for 7u40 + - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it + - S8015237: Parallelize string table scanning during strong root processing + - S8015411: Bump the hsx build number for 7u21-b50 for customer + - S8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity + - S8015576: CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database + - S8015668: overload resolution: performance regression in JDK 7 + - S8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace + - S8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state + - S8016102: Increment build # of hs23.25 to b02 for 7u25-b31 psu + - S8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' + - S8016133: Regression: diff. behavior with user-defined SAXParser + - S8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block + - S8016331: Minor issues in event tracing metadata + - S8016648: FEATURE_SECURE_PROCESSING set to true or false causes SAXParseException to be thrown + - S8016734: Remove extra code due to duplicated push + - S8016737: After clicking on "Print UNCOLLATED" button, the print out come in order 'Page 1', 'Page 2', 'Page 1' + - S8016740: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose + - S8016767: Provide man pages generated from DARB for OpenJDK + - S8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed + - S8017159: Unexclude sun/tools/JMAP/Basic.sh test + - S8017173: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated + - S8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger + - S8017189: [macosx] AWT program menu disabled on Mac + - S8017252: new hotspot build - hs24-b51 + - S8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites + - S8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased + - S8017510: Add a regression test for 8005956 + - S8017566: Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl + - S8017588: SA: jstack -l throws UnalignedAddressException while attaching to core file for java that was started with CMS GC + - S8019155: Update makefiles with correct jfr packages + - S8019201: Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException + - S8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame + - S8019265: [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6 + - S8019298: new hotspot build - hs24-b52 + - S8019381: HashMap.isEmpty is non-final, potential issues for get/remove + - S8019541: 7u40 l10n resource file translation update + - S8019587: [macosx] Possibility to set the same frame for the different screens + - S8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs + - S8019628: [macosx] closed/java/awt/Modal/BlockedMouseInputTest/BlockedMouseInputTest.html failed since 7u40b30 on MacOS + - S8019826: Test com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java fails with NPE + - S8019933: new hotspot build - hs24-b53 + - S8019979: Replace CheckPackageAccess test with better one from closed repo + - S8020038: [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread + - S8020054: (tz) Support tzdata2013d + - S8020155: PSR:PERF G1 not collecting old regions when humongous allocations interfer + - S8020215: Different execution plan when using JIT vs interpreter + - S8020228: Restore the translated version of logging_xx.properties + - S8020298: [macosx] Incorrect merge in the lwawt code + - S8020319: Update Japanese man pages for 7u40 + - S8020371: [macosx] applets with Drag and Drop fail with IllegalArgumentException + - S8020381: new hotspot build - hs24-b54 + - S8020425: Product options incorrectly removed in minor version + - S8020430: NullPointerException in xml sqe nightly result on 2013-07-12 + - S8020433: Crash when using -XX:+RestoreMXCSROnJNICalls + - S8020498: Crash when both libnet.so and libmawt.so are loaded + - S8020525: Increment build # of hs23.25 to b03 for 7u25-b34 psu + - S8020547: Event based tracing needs a UNICODE string type + - S8020625: [TESTBUG] java/util/HashMap/OverrideIsEmpty.java doesn't compile for jdk7u + - S8020701: Avoid crashes in WatcherThread + - S8020796: new hotspot build - hs24-b55 + - S8020811: [macosx] Merge fault 7u25-7u40: Missed focus fix JDK-8012330 + - S8020940: Valid OCSP responses are rejected for backdated enquiries + - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances + - S8021008: Provide java and jcmd man pages for Mac (OpenJDK) + - S8021148: Regression in SAXParserImpl in 7u40 b34 (NPE) + - S8021353: Event based tracing is missing thread exit + - S8021381: JavaFX scene included in Swing JDialog not starting from Web Start + - S8021565: new hotspot build - hs24-b56 + - S8021771: warning stat64 is deprecated - when building on OSX 10.7.5 + - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries + - S8022548: SPECJVM2008 has errors introduced in 7u40-b34 + - S8023751: Need to backout 8020943, was pushed to hs24 without approval + - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp +* New features + - RH991170: java does not use correct kerberos credential cache + - PR1536: Allow use of system Kerberos to obtain cache location + - PR1551: Add build support for Zero AArch64 + - PR1552: Add -D_LITTLE_ENDIAN for ARM architectures. + - PR1553: Add Debian AArch64 support + - PR1554: Fix build on Mac OS X +* Bug fixes + - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich + - Cleanup file resources properly in TimeZone_md. + - PR1410: Icedtea 2.3.9 fails to build using icedtea 1.12.4 + - G477456: emerge fails on pax system: java attempts RWX map, paxctl -m missing + - G478484: patches/boot/ecj-diamond.patch FAILED + - Fix Zero following changes to entry_frame_call_wrapper in 8016131 + - RH1008988: Set ZERO_BUILD in flags.make so it is set on rebuilds + - Cast should use same type as GCDrainStackTargetSize (uintx). + - Add casts to fix build on S390 * JamVM - - JSR 292: Invoke Dynamic - - sun.misc.Unsafe: additional methods get/putAddress: - allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. + - JSR292: Invoke Dynamic + - sun.misc.Unsafe: additional methods get/putAddress: allows JamVM with OpenJDK 7/8 to run recent versions of JEdit. - FreeClassData: adjust method count for Miranda methods New in release 2.4.1 (2013-07-05): From jvanek at redhat.com Mon Sep 23 23:43:49 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 24 Sep 2013 08:43:49 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52406666.8020002@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> Message-ID: <524134A5.2040605@redhat.com> On 09/23/2013 06:03 PM, Omair Majid wrote: > On 09/23/2013 11:40 AM, Jiri Vanek wrote: >> ok. Lifecycle II :) >> >> Although I used hg mv and --git , during development I screwed it >> somewhere so renaming is not visible in patches :( >> >> So main changes are: >> old classes were moved: >> AppletLog.java got moved to ../utils/logging/FileLog.java >> Log.java got moved to /utils/logging/LogConfig.java >> >> The names are now much more corresponding with old behaviour. The new >> behaviour is same, but the code was rewritten to be cleaner, work >> faster.. and .. well to work at all :) /me cursing asu :( >> >> The new ItwLogger which was so discussed was renamed to >> logging/OutputController.java. As it is better description of its >> pusposses. >> > > Let's get this in and we can improve things later. > > If you have unit tests, please push them too. If not, please write new > ones. For things like threads, not having unit tests may come back to > bite us later. > > Some of the files have a copyright date of 2011. Unless the file is a > rename, please update the date. > Thank you for green light! Anyway - I will unittest before the push. One possible improvement (related to this change set) : There is 138 occurrences of log(Level level, Throwable s) There is 67 occurrences of log(Throwable s) The log(Throwable s) is call to log(Level.ERROR_DEBUG, (Object) s); and those log(Level level, Throwable s) are mostly log(Level.ERROR_ALL, throwable) calls I was thinking about changing it to There is 68 occurrences of log(Level level, Throwable s) There is 138 occurrences of log(Throwable s) where The log(Throwable s) will be call to log(Level.ERROR_ALL, (Object) s) What do you think? Until your reply I will fix the headers and continue to write uniitests. After unittests are done, I will push this change set, and sent tests for separate review. Thanx for cooperation! J. From ptisnovs at icedtea.classpath.org Tue Sep 24 00:47:33 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 24 Sep 2013 07:47:33 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test su... Message-ID: changeset d1076a7a7c31 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=d1076a7a7c31 author: Pavel Tisnovsky date: Tue Sep 24 09:51:17 2013 +0200 Added new test testNewInstance into the test suite ScriptContextClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/ScriptContextClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r 187af2160af7 -r d1076a7a7c31 ChangeLog --- a/ChangeLog Mon Sep 23 10:37:44 2013 +0200 +++ b/ChangeLog Tue Sep 24 09:51:17 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-24 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Added new test testNewInstance into the test suite + ScriptContextClassTest. + 2013-09-23 Pavel Tisnovsky * src/org/RhinoTests/InvocableClassTest.java: diff -r 187af2160af7 -r d1076a7a7c31 src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Mon Sep 23 10:37:44 2013 +0200 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Tue Sep 24 09:51:17 2013 +0200 @@ -1562,6 +1562,23 @@ } /** + * Test for method javax.script.ScriptContext.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.scriptContextClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptContext */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Tue Sep 24 01:17:35 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 24 Sep 2013 08:17:35 +0000 Subject: /hg/gfx-test: Added several new ROPs to the test suite Message-ID: changeset dc0b34b65202 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=dc0b34b65202 author: Pavel Tisnovsky date: Tue Sep 24 10:21:23 2013 +0200 Added several new ROPs to the test suite BitBltAffineScaleTransformOp. diffstat: ChangeLog | 6 + src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java | 49 ++++++++++++ 2 files changed, 55 insertions(+), 0 deletions(-) diffs (79 lines): diff -r ca8b78f61748 -r dc0b34b65202 ChangeLog --- a/ChangeLog Mon Sep 23 10:51:29 2013 +0200 +++ b/ChangeLog Tue Sep 24 10:21:23 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-24 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java: + Added several new ROPs to the test suite + BitBltAffineScaleTransformOp. + 2013-09-23 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineRotateTransformOp.java: diff -r ca8b78f61748 -r dc0b34b65202 src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java Mon Sep 23 10:51:29 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java Tue Sep 24 10:21:23 2013 +0200 @@ -40,6 +40,15 @@ package org.gfxtest.testsuites; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.geom.AffineTransform; +import java.awt.image.AffineTransformOp; + + + +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.BitBltOperation; import org.gfxtest.framework.annotations.BitBltOperations; import org.gfxtest.framework.annotations.GraphicsPrimitive; @@ -62,6 +71,46 @@ @Zoom(1) public class BitBltAffineScaleTransformOp extends BitBltAffineTransformOp { + private static double SCALES[] = {.001, 0.01, 0.1, 1/3., 0.5, 2/3., 1.0, 2.0, 3.0, 4.0}; + private static final int NUM_SCALES = SCALES.length * SCALES.length; + + private static final AffineTransform ScaleTransformation[] = new AffineTransform[NUM_SCALES]; + + private static final RenderingHints RenderingHintsNearestNeighbor; + private static final RenderingHints RenderingHintsBilinear; + private static final RenderingHints RenderingHintsBicubic; + + private static AffineTransformOp ScaleTransformationNearest1Op[] = new AffineTransformOp[NUM_SCALES]; + private static AffineTransformOp ScaleTransformationBilinear1Op[] = new AffineTransformOp[NUM_SCALES]; + private static AffineTransformOp ScaleTransformationBicubic1Op[] = new AffineTransformOp[NUM_SCALES]; + + private static AffineTransformOp ScaleTransformationNearest2Op[] = new AffineTransformOp[NUM_SCALES]; + private static AffineTransformOp ScaleTransformationBilinear2Op[] = new AffineTransformOp[NUM_SCALES]; + private static AffineTransformOp ScaleTransformationBicubic2Op[] = new AffineTransformOp[NUM_SCALES]; + + static + { + RenderingHintsNearestNeighbor = new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR); + RenderingHintsBilinear = new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); + RenderingHintsBicubic = new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + + int i = 0; + for (double verticalScale : SCALES) { + for (double horizontalScale : SCALES) { + ScaleTransformation[i] = AffineTransform.getScaleInstance(horizontalScale, verticalScale); + + ScaleTransformationNearest1Op[i] = new AffineTransformOp(ScaleTransformation[i], AffineTransformOp.TYPE_NEAREST_NEIGHBOR); + ScaleTransformationBilinear1Op[i] = new AffineTransformOp(ScaleTransformation[i], AffineTransformOp.TYPE_BILINEAR); + ScaleTransformationBicubic1Op[i] = new AffineTransformOp(ScaleTransformation[i], AffineTransformOp.TYPE_BICUBIC); + + ScaleTransformationNearest2Op[i] = new AffineTransformOp(ScaleTransformation[i], RenderingHintsNearestNeighbor); + ScaleTransformationBilinear2Op[i] = new AffineTransformOp(ScaleTransformation[i], RenderingHintsBilinear); + ScaleTransformationBicubic2Op[i] = new AffineTransformOp(ScaleTransformation[i], RenderingHintsBicubic); + + i++; + } + } + } /** * Entry point to the test suite. * From bugzilla-daemon at icedtea.classpath.org Tue Sep 24 03:21:10 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 24 Sep 2013 10:21:10 +0000 Subject: [Bug 1492] icedtea-web does not work with openjdk-7.25.15 on FreeBSD 9.1-STABLE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1492 --- Comment #14 from Richard Ullger --- Hi Andrew, Thanks for taking a look. After further analysis, you may not have seen the error because free registration to ProRealTime appears to only include end of day data. I could only get the errors to appear with streaming intra-day data. However, recent updates to the following Arch packages (64 bit) seems to have fixed the issue. At least I didn't see the errors after running for several hours. jdk7-openjdk 7.u40_2.4.2-1 jre7-openjdk 7.u40_2.4.2-1 jre7-openjdk-headless 7.u40_2.4.2-1 icedtea-web-java7 1.4.1-1 Thanks for your help. Richard. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130924/9ed2103a/attachment.html From omajid at redhat.com Tue Sep 24 07:31:07 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 24 Sep 2013 10:31:07 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <524134A5.2040605@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> Message-ID: <5241A22B.2040503@redhat.com> Hi Jiri, On 09/24/2013 02:43 AM, Jiri Vanek wrote: > One possible improvement (related to this change set) : > There is 138 occurrences of log(Level level, Throwable s) > There is 67 occurrences of log(Throwable s) > The log(Throwable s) is call to log(Level.ERROR_DEBUG, (Object) s); > and those log(Level level, Throwable s) are mostly > log(Level.ERROR_ALL, throwable) calls > > I was thinking about changing it to > There is 68 occurrences of log(Level level, Throwable s) > There is 138 occurrences of log(Throwable s) > where The log(Throwable s) will be call to log(Level.ERROR_ALL, > (Object) s) > > What do you think? I think this is one of those decisions where having some data would allow for a better evaluation. Is the code calling log(Throwable) expecting it to be user-facing or merely debugging information ? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at redhat.com Tue Sep 24 10:09:27 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 24 Sep 2013 19:09:27 +0200 Subject: [icedtea-web] PR1474: Can't get javaws to use SOCKS proxy In-Reply-To: <52407E89.9090500@redhat.com> References: <52407E89.9090500@redhat.com> Message-ID: <5241C747.3020406@redhat.com> On 09/23/2013 07:46 PM, Omair Majid wrote: > Hi, > > The attached patch improves how manual SOCKS proxy configuration is > handled. Specifically, if there is a socks proxy specified, it is used > even for http(s) and ftp, unless a more specific proxy for those is > specified. 'sameProxy' now affects the https/http/ftp protocols, but not > the socket protocol. > > Okay to push? > > Thanks, > Omair > -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > > > pr1474-01.patch > > > diff --git a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > @@ -129,6 +129,7 @@ > > /** the proxy type. possible values are {@code JNLPProxySelector.PROXY_TYPE_*} */ > public static final String KEY_PROXY_TYPE = "deployment.proxy.type"; I would add an empty line here , just for readibility > + /** if true, the http host/port should be used https and ftp as well */ > public static final String KEY_PROXY_SAME = "deployment.proxy.same"; > public static final String KEY_PROXY_AUTO_CONFIG_URL = "deployment.proxy.auto.config.url"; > public static final String KEY_PROXY_BYPASS_LIST = "deployment.proxy.bypass.list"; > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java > @@ -298,27 +298,28 @@ > String scheme = uri.getScheme(); > > if (sameProxy) { > - SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); > - Proxy proxy; > - if (scheme.equals("socket")) { > - proxy = new Proxy(Type.SOCKS, sa); > - } else { > - proxy = new Proxy(Type.HTTP, sa); > + if (proxyHttpHost != null&& (scheme.equals("https") || scheme.equals("http") || scheme.equals("ftp"))) { > + SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); > + Proxy proxy = new Proxy(Type.HTTP, sa); > + proxies.add(proxy); > } > - proxies.add(proxy); > - } else if (scheme.equals("http")) { > + } else if (scheme.equals("http")&& proxyHttpHost != null) { There should be spaces before &&, but I do not inissts. Is the null check really wonted? Is not NPE better ? > SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); > proxies.add(new Proxy(Type.HTTP, sa)); > - } else if (scheme.equals("https")) { > + } else if (scheme.equals("https")&& proxyHttpsHost != null) { > SocketAddress sa = new InetSocketAddress(proxyHttpsHost, proxyHttpsPort); > proxies.add(new Proxy(Type.HTTP, sa)); > - } else if (scheme.equals("ftp")) { > + } else if (scheme.equals("ftp")&& proxyFtpHost != null) { > SocketAddress sa = new InetSocketAddress(proxyFtpHost, proxyFtpPort); > proxies.add(new Proxy(Type.HTTP, sa)); > - } else if (scheme.equals("socket")) { > + } > + > + if (proxySocks4Host != null) { > SocketAddress sa = new InetSocketAddress(proxySocks4Host, proxySocks4Port); > proxies.add(new Proxy(Type.SOCKS, sa)); > - } else { Is this removed else intentional? " but not the socket protocol" ? > + } > + > + if (proxies.size() == 0) { > proxies.add(Proxy.NO_PROXY); > } > > diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java > @@ -45,7 +45,6 @@ > import java.net.InetSocketAddress; > import java.net.Proxy; > import java.net.Proxy.Type; > -import java.net.SocketAddress; > import java.net.URI; > import java.net.URISyntaxException; > import java.net.UnknownHostException; > @@ -116,9 +115,11 @@ > assertEquals(Proxy.NO_PROXY, result.get(0)); > } > > + // TODO implement this > + @Ignore("Implement this") hmhm - how did test suite survived ignored test? /me probably never tested. But I think if xmls/htmls/dailyreport will crash on ot, then it is best reason to finally fix them :) Known to fial is not option here? > @Test > public void testLocalProxyBypassListIsIgnoredForNonLocal() { > - > + fail(); > } > > @Test > @@ -210,6 +211,23 @@ > } > > @Test > + public void testHttpFallsBackToManualSocksProxy() throws URISyntaxException { > + String SOCKS_HOST = "example.org"; > + int SOCKS_PORT = 42; > + > + DeploymentConfiguration config = new DeploymentConfiguration(); > + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); > + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_HOST, SOCKS_HOST); > + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_PORT, String.valueOf(SOCKS_PORT)); > + > + JNLPProxySelector selector = new TestProxySelector(config); > + List result = selector.select(new URI("http://example.org/")); > + > + assertEquals(1, result.size()); > + assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(SOCKS_HOST, SOCKS_PORT)), result.get(0)); > + } > + > + @Test > public void testManualUnknownProtocolProxy() throws URISyntaxException { > DeploymentConfiguration config = new DeploymentConfiguration(); > config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); > @@ -239,11 +257,6 @@ > > assertEquals(1, result.size()); > assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); > - > - result = selector.select(new URI("socket://example.org/")); > - > - assertEquals(1, result.size()); > - assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); > } > > @Test Otherwise good enough to go. Are you planing also 1,4 backport? Thank you for this, J. From jvanek at redhat.com Tue Sep 24 10:12:15 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 24 Sep 2013 19:12:15 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5241A22B.2040503@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> Message-ID: <5241C7EF.6090900@redhat.com> On 09/24/2013 04:31 PM, Omair Majid wrote: > Hi Jiri, > > On 09/24/2013 02:43 AM, Jiri Vanek wrote: >> One possible improvement (related to this change set) : >> There is 138 occurrences of log(Level level, Throwable s) >> There is 67 occurrences of log(Throwable s) >> The log(Throwable s) is call to log(Level.ERROR_DEBUG, (Object) s); >> and those log(Level level, Throwable s) are mostly >> log(Level.ERROR_ALL, throwable) calls >> >> I was thinking about changing it to >> There is 68 occurrences of log(Level level, Throwable s) >> There is 138 occurrences of log(Throwable s) >> where The log(Throwable s) will be call to log(Level.ERROR_ALL, >> (Object) s) >> >> What do you think? > > I think this is one of those decisions where having some data would > allow for a better evaluation. Is the code calling log(Throwable) > expecting it to be user-facing or merely debugging information ? > I believe all those exceptions are moreover deadly, rare or serious.. Not sure if this helps:) J. From omajid at redhat.com Tue Sep 24 10:19:24 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 24 Sep 2013 13:19:24 -0400 Subject: [icedtea-web] PR1474: Can't get javaws to use SOCKS proxy In-Reply-To: <5241C747.3020406@redhat.com> References: <52407E89.9090500@redhat.com> <5241C747.3020406@redhat.com> Message-ID: <5241C99C.70801@redhat.com> Hi Jiri, Thanks for the review! On 09/24/2013 01:09 PM, Jiri Vanek wrote: > On 09/23/2013 07:46 PM, Omair Majid wrote: >> The attached patch improves how manual SOCKS proxy configuration is >> handled. Specifically, if there is a socks proxy specified, it is used >> even for http(s) and ftp, unless a more specific proxy for those is >> specified. 'sameProxy' now affects the https/http/ftp protocols, but not >> the socket protocol. >> +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java >> /** the proxy type. possible values are {@code >> JNLPProxySelector.PROXY_TYPE_*} */ >> public static final String KEY_PROXY_TYPE = >> "deployment.proxy.type"; > > I would add an empty line here , just for readibility Fixed. >> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java >> - } else if (scheme.equals("http")) { >> + } else if (scheme.equals("http")&& proxyHttpHost != null) { > > There should be spaces before &&, but I do not inissts. Fixed now. > Is the null > check really wonted? Is not NPE better ? I would rather handle (well, ignore) a missing configuration rather than crashing on it. If you look in the bug, the reporter is editing the configuration files in ways that will pretty much break things if I don't handle nulls here. >> + if (proxySocks4Host != null) { >> SocketAddress sa = new >> InetSocketAddress(proxySocks4Host, proxySocks4Port); >> proxies.add(new Proxy(Type.SOCKS, sa)); >> - } else { > > Is this removed else intentional? " but not the socket protocol" ? Yes. This code below acts like the 'else': >> + } >> + >> + if (proxies.size() == 0) { >> proxies.add(Proxy.NO_PROXY); >> } Basically, we add a socks proxy if there's one defined, no matter whether a http(s)/ftp proxy is defined or not. And if there's no socks or http(s) or ftp proxy, then return NO_PROXY. >> +++ >> b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java >> + // TODO implement this >> + @Ignore("Implement this") > hmhm - how did test suite survived ignored test? My guess is that 'make check' uses junit proper (no custom hacks) to run the test suite and @Ignore works as expected. > /me probably never > tested. But I think if xmls/htmls/dailyreport will crash on ot, then it > is best reason to finally fix them :) I see that tests/report-styles/jreport.xsl already handles @Ignore. Is there anything else I need to check? > Known to fial is not option here? I don't think it fails as much as it is not implemented at all. > Otherwise good enough to go. Are you planing also 1,4 backport? Thanks for the review! At this point, I am not planning to backport to 1.4. Maybe once I have the rest of proxy stuff under test, maybe. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1474-02.patch Type: text/x-patch Size: 5399 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130924/4b5d0c30/pr1474-02.patch From jvanek at redhat.com Tue Sep 24 10:28:45 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 24 Sep 2013 19:28:45 +0200 Subject: [icedtea-web] PR1474: Can't get javaws to use SOCKS proxy In-Reply-To: <5241C99C.70801@redhat.com> References: <52407E89.9090500@redhat.com> <5241C747.3020406@redhat.com> <5241C99C.70801@redhat.com> Message-ID: <5241CBCD.9060408@redhat.com> On 09/24/2013 07:19 PM, Omair Majid wrote: > Hi Jiri, > > Thanks for the review! > > On 09/24/2013 01:09 PM, Jiri Vanek wrote: >> On 09/23/2013 07:46 PM, Omair Majid wrote: >>> The attached patch improves how manual SOCKS proxy configuration is >>> handled. Specifically, if there is a socks proxy specified, it is used >>> even for http(s) and ftp, unless a more specific proxy for those is >>> specified. 'sameProxy' now affects the https/http/ftp protocols, but not >>> the socket protocol. > >>> +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > >>> /** the proxy type. possible values are {@code >>> JNLPProxySelector.PROXY_TYPE_*} */ >>> public static final String KEY_PROXY_TYPE = >>> "deployment.proxy.type"; >> >> I would add an empty line here , just for readibility > > Fixed. > >>> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java > >>> - } else if (scheme.equals("http")) { >>> + } else if (scheme.equals("http")&& proxyHttpHost != null) { >> >> There should be spaces before&&, but I do not inissts. > > Fixed now. > >> Is the null >> check really wonted? Is not NPE better ? > > I would rather handle (well, ignore) a missing configuration rather than > crashing on it. If you look in the bug, the reporter is editing the > configuration files in ways that will pretty much break things if I > don't handle nulls here. Well, maybe some debug information at least? > >>> + if (proxySocks4Host != null) { >>> SocketAddress sa = new >>> InetSocketAddress(proxySocks4Host, proxySocks4Port); >>> proxies.add(new Proxy(Type.SOCKS, sa)); >>> - } else { >> >> Is this removed else intentional? " but not the socket protocol" ? > > Yes. This code below acts like the 'else': > >>> + } >>> + >>> + if (proxies.size() == 0) { >>> proxies.add(Proxy.NO_PROXY); >>> } > > Basically, we add a socks proxy if there's one defined, no matter > whether a http(s)/ftp proxy is defined or not. And if there's no socks > or http(s) or ftp proxy, then return NO_PROXY. > >>> +++ >>> b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java > >>> + // TODO implement this >>> + @Ignore("Implement this") >> hmhm - how did test suite survived ignored test? > > My guess is that 'make check' uses junit proper (no custom hacks) to run > the test suite and @Ignore works as expected. > >> /me probably never >> tested. But I think if xmls/htmls/dailyreport will crash on ot, then it >> is best reason to finally fix them :) > > I see that tests/report-styles/jreport.xsl already handles @Ignore. Is > there anything else I need to check? If you have seen xml+html and it was ok, then it is more then enough. Otherwise I will be looking forward to daily robot post processing :) > >> Known to fial is not option here? > > I don't think it fails as much as it is not implemented at all. > >> Otherwise good enough to go. Are you planing also 1,4 backport? > > Thanks for the review! At this point, I am not planning to backport to > 1.4. Maybe once I have the rest of proxy stuff under test, maybe. > Fair enough. Ok to push then. J. From andrew at icedtea.classpath.org Tue Sep 24 10:42:19 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 24 Sep 2013 17:42:19 +0000 Subject: /hg/icedtea6-hg: 4 new changesets Message-ID: changeset a431aea72bfc in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a431aea72bfc author: Andrew John Hughes date: Thu Sep 19 16:58:11 2013 +0100 Fail if a C++ compiler is not installed. 2013-09-19 Andrew John Hughes * configure.ac: Check if CXX gets set and fail if not. changeset 73058db81e91 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=73058db81e91 author: Andrew John Hughes date: Thu Sep 19 17:00:58 2013 +0100 Also fail if the C compiler is not found. 2013-09-19 Andrew John Hughes * configure.ac: Check if CC gets set and fail if not. changeset d8038ebde003 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d8038ebde003 author: Andrew John Hughes date: Tue Sep 24 15:55:32 2013 +0100 Merge changeset 64de09c6e614 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=64de09c6e614 author: Andrew John Hughes date: Tue Sep 24 17:44:25 2013 +0100 Remove upstreamed patch OPENJDK6-18. 2013-09-24 Andrew John Hughes * patches/hotspot/hs23/remove_bad_overrides.patch: Removed. * Makefile.am: Remove patch now upstreamed. diffstat: ChangeLog | 365 + INSTALL | 12 +- Makefile.am | 264 +- acinclude.m4 | 18 +- configure.ac | 7 + hotspot.map | 1 - patches/cacao/hotspot/hs23/memory.patch | 36 - patches/copy_memory.patch | 36 - patches/ecj/bootver.patch | 14 - patches/ecj/hotspot/original/hotspot-jdk-dependency.patch | 25 - patches/ecj/jcp-importsources.patch | 10 - patches/ecj/override.patch | 51 + patches/fonts-rhel-version.patch | 33 - patches/fonts-rhel.patch | 458 - patches/hotspot/hs23/revert-7017193.patch | 138 - patches/hotspot/original/6840152-jvm_crashes_with_heavyweight_monitors.patch | 32 - patches/hotspot/original/7022999-fastlocking_compiler1_only.patch | 25 - patches/hotspot/original/7032696-7029152_broke_vm.patch | 52 - patches/hotspot/original/7140985-hsdis_caller_options.patch | 23 - patches/hotspot/original/7197906-handle_32_bit_shifts.patch | 33 - patches/hotspot/original/aarch64.patch | 34 - patches/hotspot/original/alpha-fixes.patch | 21 - patches/hotspot/original/arm-hsdis.patch | 80 - patches/hotspot/original/arm.patch | 286 - patches/hotspot/original/fix_get_stack_bounds_leak.patch | 12 - patches/hotspot/original/gcc-suffix.patch | 31 - patches/hotspot/original/jtreg-test7020373-fix.patch | 187 - patches/hotspot/original/pr639-broken_shark_build.patch | 44 - patches/hotspot/original/sdt-arguments.patch | 24 - patches/hotspot/original/sdt-dtrace-hpp.patch | 103 - patches/hotspot/original/sdt-jni.patch | 37 - patches/hotspot/original/sdt-make.patch | 51 - patches/hotspot/original/systemtap-alloc-size-workaround.patch | 17 - patches/hotspot/original/systemtap_gc.patch | 369 - patches/hotspot/original/text-relocations.patch | 63 - patches/hotspot/original/update-bootclasspath.patch | 13 - patches/hotspot/original/version.patch | 56 - patches/ia64-fix.patch | 15 - patches/jtreg-remove-test-6987555.patch | 184 - patches/jtreg-remove-test-6991596.patch | 472 - patches/numa_on_early_glibc.patch | 46 - patches/object-factory-cl-internal.patch | 384 - patches/openjdk/5102804-memory_leak.patch | 429 - patches/openjdk/6469266-xmlsec_1.4.2.patch | 23876 - patches/openjdk/6501644-icu_sync.patch | 8066 - patches/openjdk/6669869-queries_per_appcontext.patch | 355 - patches/openjdk/6786028-wcag_bold_tags.patch | 2914 - patches/openjdk/6786682-wcag_lang.patch | 274 - patches/openjdk/6786688-wcag_table.patch | 2828 - patches/openjdk/6786690-wcag_dl.patch | 3230 - patches/openjdk/6796786-invalid_FP_identity_transform.patch | 105 - patches/openjdk/6802694-no_deprecated.patch | 601 - patches/openjdk/6851834-handle_renames.patch | 605 - patches/openjdk/6851834-restructure.patch | 26853 - patches/openjdk/6886358-layout_update.patch | 13847 - patches/openjdk/6888167-medialib_memory_leaks.patch | 134 - patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch | 93 - patches/openjdk/6961178-doclet_xml.patch | 1989 - patches/openjdk/6963811-deadlock_fix.patch | 42 - patches/openjdk/7006270-regressions.patch | 299 - patches/openjdk/7010849-modernise_sa.patch | 394 - patches/openjdk/7017324-kerning_crash.patch | 101 - patches/openjdk/7019808-stack_noexec.patch | 23 - patches/openjdk/7029152-String_intrinsics_miss_optimization.patch | 383 - patches/openjdk/7031385-gcc-register-allocation-fix.patch | 21 - patches/openjdk/7032388-work_without_cmov_instruction.patch | 178 - patches/openjdk/7034464-transparent_huge_pages.patch | 458 - patches/openjdk/7036220-shark_llvm_29_headers.patch | 44 - patches/openjdk/7036559-concurrenthashmap_improvements.patch | 1436 - patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch | 71 - patches/openjdk/7041156-gcc_export_dynamic.patch | 22 - patches/openjdk/7042070-Typo_in_Test6796786.patch | 33 - patches/openjdk/7043564-hugepage.patch | 21 - patches/openjdk/7047069-Array_can_dynamically_change_size.patch | 239 - patches/openjdk/7064279-fixup.patch | 71 - patches/openjdk/7064279-resource_release.patch | 436 - patches/openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch | 298 - patches/openjdk/7195301-no_instanceof_node.patch | 86 - patches/openjdk/8004302-soap_test_failure.patch | 75 - patches/openjdk/8004341-jck_dialog_failure.patch | 26 - patches/openjdk/8005615-failure_to_load_logger_implementation.patch | 542 - patches/openjdk/8007393.patch | 78 - patches/openjdk/8007611.patch | 24 - patches/openjdk/8009641-8007675_build_fix.patch | 49 - patches/openjdk/8009996-emitter_bean.patch | 27 - patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch | 449213 ------- patches/openjdk/jaxp144_05.patch | 595589 ---------- patches/params-cast-size_t.patch | 270 - patches/pr690-shark-jit-hs20.patch | 61 - patches/pr696-zero-fast_aldc-hs20.patch | 44 - patches/security/20130201/6563318.patch | 36 - patches/security/20130201/6664509.patch | 1322 - patches/security/20130201/6776941.patch | 272 - patches/security/20130201/7141694.patch | 87 - patches/security/20130201/7173145.patch | 22 - patches/security/20130201/7186945.patch | 10819 - patches/security/20130201/7186948.patch | 20 - patches/security/20130201/7186952.patch | 127 - patches/security/20130201/7186954.patch | 81 - patches/security/20130201/7192392.patch | 695 - patches/security/20130201/7192393.patch | 60 - patches/security/20130201/7192977.patch | 444 - patches/security/20130201/7197546.patch | 479 - patches/security/20130201/7200491.patch | 49 - patches/security/20130201/7200500.patch | 60 - patches/security/20130201/7201064.patch | 125 - patches/security/20130201/7201066.patch | 66 - patches/security/20130201/7201068.patch | 83 - patches/security/20130201/7201070.patch | 31 - patches/security/20130201/7201071.patch | 553 - patches/security/20130201/8000210.patch | 104 - patches/security/20130201/8000537.patch | 334 - patches/security/20130201/8000540.patch | 187 - patches/security/20130201/8000631.patch | 3964 - patches/security/20130201/8001242.patch | 61 - patches/security/20130201/8001307.patch | 27 - patches/security/20130201/8001972.patch | 438 - patches/security/20130201/8002325.patch | 59 - patches/security/20130219/8006446.patch | 395 - patches/security/20130219/8006777.patch | 1036 - patches/security/20130219/8007688.patch | 130 - patches/security/20130304/8007014.patch | 477 - patches/security/20130304/8007675.patch | 416 - patches/security/20130416/6657673-factory_finder.patch | 54 - patches/security/20130416/6657673-fixup.patch | 229 - patches/security/20130416/6657673.patch | 9494 - patches/security/20130416/7200507.patch | 230 - patches/security/20130416/8000724.patch | 1368 - patches/security/20130416/8001031.patch | 5457 - patches/security/20130416/8001040.patch | 113 - patches/security/20130416/8001322.patch | 61 - patches/security/20130416/8001329.patch | 32 - patches/security/20130416/8003335.patch | 63 - patches/security/20130416/8003445.patch | 77 - patches/security/20130416/8003543.patch | 236 - patches/security/20130416/8004261.patch | 142 - patches/security/20130416/8004336.patch | 29 - patches/security/20130416/8004986.patch | 374 - patches/security/20130416/8005432.patch | 518 - patches/security/20130416/8005943.patch | 202 - patches/security/20130416/8006309.patch | 22 - patches/security/20130416/8006435.patch | 76 - patches/security/20130416/8006790.patch | 166 - patches/security/20130416/8006795.patch | 35 - patches/security/20130416/8007406.patch | 31 - patches/security/20130416/8007617.patch | 376 - patches/security/20130416/8007667.patch | 579 - patches/security/20130416/8007918.patch | 357 - patches/security/20130416/8009063.patch | 67 - patches/security/20130416/8009305.patch | 68 - patches/security/20130416/8009699.patch | 25 - patches/security/20130416/8009814.patch | 27 - patches/security/20130416/8009857.patch | 66 - patches/security/20130618/6741606-apache_santuario.patch | 8110 - patches/security/20130618/7158805-nested_subroutine_rewriting.patch | 467 - patches/security/20130618/7170730-windows_network_stack.patch | 1057 - patches/security/20130618/8000638-improve_deserialization.patch | 26 - patches/security/20130618/8000642-better_transportation_handling.patch | 808 - patches/security/20130618/8001032-restrict_object_access-corba.patch | 544 - patches/security/20130618/8001032-restrict_object_access-jdk.patch | 21 - patches/security/20130618/8001033-refactor_address_handling.patch | 119 - patches/security/20130618/8001034-memory_management.patch | 78 - patches/security/20130618/8001038-resourcefully_handle_resources.patch | 236 - patches/security/20130618/8001043-clarify_definition_restrictions.patch | 92 - patches/security/20130618/8001309-better_handling_of_annotation_interfaces.patch | 36 - patches/security/20130618/8001318-6_fixup.patch | 114 - patches/security/20130618/8001318-socket_getlocaladdress_consistency.patch | 470 - patches/security/20130618/8001330-checking_order_improvement.patch | 407 - patches/security/20130618/8001330-improve_checking_order.patch | 97 - patches/security/20130618/8003703-update_rmi_connection_dialog.patch | 131 - patches/security/20130618/8004584-augment_applet_contextualization.patch | 322 - patches/security/20130618/8005007-better_glyph_processing.patch | 118 - patches/security/20130618/8006328-6_fixup.patch | 31 - patches/security/20130618/8006328-sound_class_robustness.patch | 6937 - patches/security/20130618/8006611-improve_scripting.patch | 78 - patches/security/20130618/8007467-improve_jmx_internal_api_robustness.patch | 108 - patches/security/20130618/8007471-6_fixup.patch | 25 - patches/security/20130618/8007471-improve_mbean_notifications.patch | 89 - patches/security/20130618/8007812-getenclosingmethod.patch | 89 - patches/security/20130618/8008120-improve_jmx_class_checking.patch | 332 - patches/security/20130618/8008124-better_compliance_testing.patch | 20 - patches/security/20130618/8008128-better_jmx_api_coherence.patch | 110 - patches/security/20130618/8008132-better_serialization.patch | 121 - patches/security/20130618/8008585-jmx_data_handling.patch | 69 - patches/security/20130618/8008593-better_urlclassloader.patch | 270 - patches/security/20130618/8008603-jmx_provider_provision.patch | 29 - patches/security/20130618/8008611-6_fixup.patch | 20 - patches/security/20130618/8008611-jmx_annotations.patch | 32 - patches/security/20130618/8008615-jmx_internal_api_robustness.patch | 70 - patches/security/20130618/8008623-mbeanserver_handling.patch | 121 - patches/security/20130618/8008744-6741606_rework.patch | 882 - patches/security/20130618/8008982-jmx_interface_changes.patch | 168 - patches/security/20130618/8009004-rmi_connection_improvement.patch | 54 - patches/security/20130618/8009013-t2k_glyphs.patch | 39 - patches/security/20130618/8009034-jmx_notification_improvement.patch | 30 - patches/security/20130618/8009038-jmx_notification_support_improvement.patch | 89 - patches/security/20130618/8009067-improve_key_storing.patch | 20 - patches/security/20130618/8009235-improve_tsa_data_handling.patch | 80 - patches/security/20130618/8011243-improve_imaginglib.patch | 618 - patches/security/20130618/8011248-better_component_rasters.patch | 51 - patches/security/20130618/8011253-better_short_component_rasters.patch | 140 - patches/security/20130618/8011257-better_byte_component_rasters.patch | 157 - patches/security/20130618/8011557-improve_reflection.patch | 132 - patches/security/20130618/8012375-javadoc_framing.patch | 61 - patches/security/20130618/8012421-better_positioning.patch | 100 - patches/security/20130618/8012438-better_image_validation.patch | 283 - patches/security/20130618/8012597-better_image_channel_validation.patch | 597 - patches/security/20130618/8012601-better_layout_validation.patch | 125 - patches/security/20130618/8014281-better_xml_signature_checking.patch | 49 - patches/security/20130618/8015997-more_javadoc_framing.patch | 21 - patches/security/20130618/diamond_fix.patch | 55 - patches/security/20130618/handle_npe.patch | 21 - patches/security/20130618/javac_issue.patch | 60 - patches/security/20130618/langtools_generics.patch | 600 - patches/security/20130618/langtools_merge-01.patch | 30 - patches/security/20130618/langtools_merge-02.patch | 30 - patches/security/20130618/langtools_merge-03.patch | 18 - patches/stdc-limit-macros.patch | 12 - patches/systemtap-gcc-4.5.patch | 11 - patches/use-idx_t.patch | 101 - 220 files changed, 451 insertions(+), 1210635 deletions(-) diffs (truncated from 1212212 to 500 lines): diff -r 48ba1e242c44 -r 64de09c6e614 ChangeLog --- a/ChangeLog Tue Sep 17 20:08:21 2013 +0200 +++ b/ChangeLog Tue Sep 24 17:44:25 2013 +0100 @@ -1,3 +1,34 @@ +2013-09-24 Andrew John Hughes + + * patches/hotspot/hs23/remove_bad_overrides.patch: + Removed. + * Makefile.am: + Remove patch now upstreamed. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CC gets set and fail if not. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CXX gets set and fail if not. + +2013-09-19 Andrew John Hughes + + * patches/cacao/hotspot/hs23/memory.patch, + * patches/hotspot/hs23/6_for_override.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Replace 6_for_override with + remove_bad_overrides and hs23 memory patch with + original. + * patches/cacao/hotspot/original/memory.patch: + Restored. + * patches/hotspot/hs23/remove_bad_overrides.patch: + Added. + 2013-09-17 Xerxes R??nby Robert Lougher @@ -12,6 +43,77 @@ (JAMVM_VERSION): Updated JamVM to 2013-08-28 revision. (JAMVM_SHA256SUM): Updated. +2013-09-13 Andrew John Hughes + + * patches/cacao/hotspot/original/memory.patch, + * patches/ecj/bootver.patch, + * patches/ecj/hotspot/original/hotspot-jdk-dependency.patch, + * patches/hotspot/hs23/7197906-handle_32_bit_shifts.patch, + * patches/hotspot/hs23/revert-7017193.patch, + * patches/hotspot/original/6840152-jvm_crashes_with_heavyweight_monitors.patch, + * patches/hotspot/original/7022999-fastlocking_compiler1_only.patch, + * patches/hotspot/original/7032696-7029152_broke_vm.patch, + * patches/hotspot/original/7140985-hsdis_caller_options.patch, + * patches/hotspot/original/aarch64.patch, + * patches/hotspot/original/alpha-fixes.patch, + * patches/hotspot/original/arm-hsdis.patch, + * patches/hotspot/original/arm.patch, + * patches/hotspot/original/gcc-suffix.patch, + * patches/hotspot/original/jtreg-test7020373-fix.patch, + * patches/hotspot/original/pr639-broken_shark_build.patch, + * patches/hotspot/original/sdt-arguments.patch, + * patches/hotspot/original/sdt-dtrace-hpp.patch, + * patches/hotspot/original/sdt-jni.patch, + * patches/hotspot/original/sdt-make.patch, + * patches/hotspot/original/systemtap-alloc-size-workaround.patch, + * patches/hotspot/original/systemtap_gc.patch, + * patches/hotspot/original/text-relocations.patch, + * patches/hotspot/original/update-bootclasspath.patch, + * patches/hotspot/original/version.patch, + * patches/ia64-fix.patch, + * patches/jtreg-remove-test-6987555.patch, + * patches/jtreg-remove-test-6991596.patch, + * patches/numa_on_early_glibc.patch, + * patches/openjdk/6796786-invalid_FP_identity_transform.patch, + * patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch, + * patches/openjdk/7010849-modernise_sa.patch, + * patches/openjdk/7019808-stack_noexec.patch, + * patches/openjdk/7029152-String_intrinsics_miss_optimization.patch, + * patches/openjdk/7031385-gcc-register-allocation-fix.patch, + * patches/openjdk/7032388-work_without_cmov_instruction.patch, + * patches/openjdk/7034464-transparent_huge_pages.patch, + * patches/openjdk/7036220-shark_llvm_29_headers.patch, + * patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch, + * patches/openjdk/7041156-gcc_export_dynamic.patch, + * patches/openjdk/7042070-Typo_in_Test6796786.patch, + * patches/openjdk/7043564-hugepage.patch, + * patches/openjdk/7047069-Array_can_dynamically_change_size.patch, + * patches/params-cast-size_t.patch, + * patches/pr690-shark-jit-hs20.patch, + * patches/pr696-zero-fast_aldc-hs20.patch, + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8009699.patch, + * patches/security/20130618/7158805-nested_subroutine_rewriting.patch, + * patches/security/20130618/8001330-checking_order_improvement.patch, + * patches/stdc-limit-macros.patch, + * patches/systemtap-gcc-4.5.patch, + * patches/use-idx_t.patch: + Remove patches obsoleted by dropping of hs20 support. + * INSTALL: Update docs to support only the 'original' hs23. + * Makefile.am: + (SECURITY_PATCHES): Removed (in hs23). + (ICEDTEA_PATCHES): Add 6_for_override. Replace + $(HSBUILD) with hs23. Join ALT_HSBUILD patches + into main version. Remove !ALT_HSBUILD patches. + (ICEDTEA_ENV): Join ALT_HSBUILD settings to main version. + * acinclude.m4: + (IT_WITH_HOTSPOT_BUILD): Support only original. + * hotspot.map: Remove hs23 line. + * patches/hotspot/hs23/6_for_override.patch: + New patch to use source/target 6 for building + the agent as the hs23 version includes @Override. + 2013-09-09 Andrew John Hughes * NEWS: @@ -119,6 +221,34 @@ * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Fixes TCK regression caused by 7162902. +2013-08-23 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Apply 7197906 on hs23 only. + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8009699.patch: + Restore HotSpot security patches as not available + in upstream HotSpot yet. + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch: + Moved to... + * patches/hotspot/hs23/7197906-handle_32_bit_shifts.patch: + ...here. + +2013-08-22 Andrew John Hughes + + * patches/fonts-rhel-version.patch, + * patches/fonts-rhel.patch, + * patches/object-factory-cl-internal.patch, + * patches/openjdk/8009996-emitter_bean.patch, + * patches/security/20130618/handle_npe.patch: + Remove upstreamed patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed patch. + (ICEDTEA_PATCHES): Remove upstreamed patches. + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch: + Restored as now used by the HotSpot 23 build. + 2013-08-20 Andrew John Hughes * Makefile.am: @@ -226,10 +356,39 @@ 2013-08-07 Andrew John Hughes + * patches/openjdk/6786028-wcag_bold_tags.patch, + * patches/openjdk/6786682-wcag_lang.patch, + * patches/openjdk/6786688-wcag_table.patch, + * patches/openjdk/6786690-wcag_dl.patch, + * patches/openjdk/6802694-no_deprecated.patch, + * patches/openjdk/6851834-handle_renames.patch, + * patches/openjdk/6851834-restructure.patch, + * patches/openjdk/6961178-doclet_xml.patch, + * patches/openjdk/7006270-regressions.patch, + * patches/security/20130618/8012375-javadoc_framing.patch, + * patches/security/20130618/8015997-more_javadoc_framing.patch, + * patches/security/20130618/langtools_generics.patch, + * patches/security/20130618/langtools_merge-01.patch, + * patches/security/20130618/langtools_merge-02.patch, + * patches/security/20130618/langtools_merge-03.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Remove upstreamed patches. + +2013-08-07 Andrew John Hughes + * hotspot.map: Bring in 2.3.12 tag. 2013-08-06 Andrew John Hughes + * patches/security/20130618/8000642-better_transportation_handling.patch, + * patches/security/20130618/8001032-restrict_object_access-corba.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Remove upstreamed patches. + +2013-08-06 Andrew John Hughes + * 8013196-TimeZone_getDefault_throws_exception.patch: Renamed to... * 8013196-timezone_getdefault_throws_exception.patch: @@ -253,6 +412,117 @@ * hotspot.map: Bring in hs23 changes to ARM32 port, syncing with 2.3.12 tag. +2013-08-02 Andrew John Hughes + + * patches/openjdk/6469266-xmlsec_1.4.2.patch, + * patches/openjdk/6888167-medialib_memory_leaks.patch, + * patches/openjdk/7195301-no_instanceof_node.patch, + * patches/security/20130618/6741606-apache_santuario.patch, + * patches/security/20130618/7170730-windows_network_stack.patch, + * patches/security/20130618/8000638-improve_deserialization.patch, + * patches/security/20130618/8001032-restrict_object_access-jdk.patch, + * patches/security/20130618/8001033-refactor_address_handling.patch, + * patches/security/20130618/8001034-memory_management.patch, + * patches/security/20130618/8001038-resourcefully_handle_resources.patch, + * patches/security/20130618/8001043-clarify_definition_restrictions.patch, + * patches/security/20130618/8001309-better_handling_of_annotation_interfaces.patch, + * patches/security/20130618/8001318-6_fixup.patch, + * patches/security/20130618/8001318-socket_getlocaladdress_consistency.patch, + * patches/security/20130618/8001330-improve_checking_order.patch, + * patches/security/20130618/8003703-update_rmi_connection_dialog.patch, + * patches/security/20130618/8004584-augment_applet_contextualization.patch, + * patches/security/20130618/8005007-better_glyph_processing.patch, + * patches/security/20130618/8006328-6_fixup.patch, + * patches/security/20130618/8006328-sound_class_robustness.patch, + * patches/security/20130618/8006611-improve_scripting.patch, + * patches/security/20130618/8007467-improve_jmx_internal_api_robustness.patch, + * patches/security/20130618/8007471-6_fixup.patch, + * patches/security/20130618/8007471-improve_mbean_notifications.patch, + * patches/security/20130618/8007812-getenclosingmethod.patch, + * patches/security/20130618/8008120-improve_jmx_class_checking.patch, + * patches/security/20130618/8008124-better_compliance_testing.patch, + * patches/security/20130618/8008128-better_jmx_api_coherence.patch, + * patches/security/20130618/8008132-better_serialization.patch, + * patches/security/20130618/8008585-jmx_data_handling.patch, + * patches/security/20130618/8008593-better_urlclassloader.patch, + * patches/security/20130618/8008603-jmx_provider_provision.patch, + * patches/security/20130618/8008611-6_fixup.patch, + * patches/security/20130618/8008611-jmx_annotations.patch, + * patches/security/20130618/8008615-jmx_internal_api_robustness.patch, + * patches/security/20130618/8008623-mbeanserver_handling.patch, + * patches/security/20130618/8008744-6741606_rework.patch, + * patches/security/20130618/8008982-jmx_interface_changes.patch, + * patches/security/20130618/8009004-rmi_connection_improvement.patch, + * patches/security/20130618/8009013-t2k_glyphs.patch, + * patches/security/20130618/8009034-jmx_notification_improvement.patch, + * patches/security/20130618/8009038-jmx_notification_support_improvement.patch, + * patches/security/20130618/8009067-improve_key_storing.patch, + * patches/security/20130618/8009235-improve_tsa_data_handling.patch, + * patches/security/20130618/8011243-improve_imaginglib.patch, + * patches/security/20130618/8011248-better_component_rasters.patch, + * patches/security/20130618/8011253-better_short_component_rasters.patch, + * patches/security/20130618/8011257-better_byte_component_rasters.patch, + * patches/security/20130618/8011557-improve_reflection.patch, + * patches/security/20130618/8012421-better_positioning.patch, + * patches/security/20130618/8012438-better_image_validation.patch, + * patches/security/20130618/8012597-better_image_channel_validation.patch, + * patches/security/20130618/8012601-better_layout_validation.patch, + * patches/security/20130618/8014281-better_xml_signature_checking.patch, + * patches/security/20130618/diamond_fix.patch, + * patches/security/20130618/javac_issue.patch, + * Makefile.am: + Remove unused patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed security + patches. + +2013-07-31 Andrew John Hughes + + * patches/ecj/jcp-importsources.patch, + * patches/openjdk/5102804-memory_leak.patch, + * patches/openjdk/6501644-icu_sync.patch, + * patches/openjdk/6669869-queries_per_appcontext.patch, + * patches/openjdk/6886358-layout_update.patch, + * patches/openjdk/6963811-deadlock_fix.patch, + * patches/openjdk/7017324-kerning_crash.patch, + * patches/openjdk/7064279-fixup.patch, + * patches/openjdk/7064279-resource_release.patch, + * patches/openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch, + * patches/security/20130416/6657673-factory_finder.patch, + * patches/security/20130416/6657673-fixup.patch, + * patches/security/20130416/6657673.patch, + * patches/security/20130416/7200507.patch, + * patches/security/20130416/8000724.patch, + * patches/security/20130416/8001031.patch, + * patches/security/20130416/8001040.patch, + * patches/security/20130416/8001322.patch, + * patches/security/20130416/8001329.patch, + * patches/security/20130416/8003335.patch, + * patches/security/20130416/8003445.patch, + * patches/security/20130416/8003543.patch, + * patches/security/20130416/8004261.patch, + * patches/security/20130416/8004336.patch, + * patches/security/20130416/8004986.patch, + * patches/security/20130416/8005432.patch, + * patches/security/20130416/8005943.patch, + * patches/security/20130416/8006309.patch, + * patches/security/20130416/8006435.patch, + * patches/security/20130416/8006790.patch, + * patches/security/20130416/8006795.patch, + * patches/security/20130416/8007406.patch, + * patches/security/20130416/8007617.patch, + * patches/security/20130416/8007667.patch, + * patches/security/20130416/8007918.patch, + * patches/security/20130416/8009063.patch, + * patches/security/20130416/8009305.patch, + * patches/security/20130416/8009699.patch, + * patches/security/20130416/8009814.patch, + * patches/security/20130416/8009857.patch: + Remove unused patches. + * Makefile.am: + (SECURITY_PATCHES): Remove upstreamed security + patches. + 2013-07-22 Andrew John Hughes * Makefile.am: @@ -313,6 +583,13 @@ 2013-07-11 Andrew John Hughes + * patches/openjdk/7036559-concurrenthashmap_improvements.patch: + Remove upstreamed patch. + * Makefile.am: + (ICEDTEA_PATCHES): Drop upstreamed patches. + +2013-07-11 Andrew John Hughes + * NEWS: Add 1.11.12 and 1.12.6 release notes. @@ -608,6 +885,15 @@ * patches/security/20130618/langtools_merge-03.patch: 2013/06/18 security patches. +2013-05-31 Andrew John Hughes + + * patches/copy_memory.patch, + * patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch: + Drop upstreamed patches. + * Makefile.am: + (DROP_PATCHES): Remove JAXP patch. + (ICEDTEA_PATCHES): Remove OpenJDK6-4 patch. + 2013-05-28 Xerxes R??nby PR1188: ASM Interpreter and Thumb2 JIT javac miscompile @@ -673,6 +959,18 @@ * patches/jtreg-TextLayoutBoundsChecks.patch: Fixed wrong JTreg test name in @run annotation. +2013-05-17 Andrew John Hughes + + * patches/hotspot/original/7197906-handle_32_bit_shifts.patch, + * patches/hotspot/original/fix_get_stack_bounds_leak.patch, + * patches/openjdk/8004302-soap_test_failure.patch, + * patches/openjdk/jaxp144_05.patch: + Removed as available upstream. + * Makefile.am: Remove patches. + * patches/security/20130416/6657673.patch, + * patches/security/20130416/8005432.patch: + Regenerated against upstream. + 2013-05-17 Pavel Tisnovsky * patches/componentOrientationTests.patch: @@ -690,6 +988,12 @@ * Makefile.am: Renamed three patches to be more consistent with other JTreg-related patches. +2013-05-15 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Remove reference to removed + patch patches/openjdk/8009641-8007675_build_fix.patch. + 2013-05-15 Pavel Tisnovsky * Makefile.am: @@ -1066,6 +1370,62 @@ * patches/jvmtiEnv.patch: Moved to... * patches/hotspot/original/jvmtiEnv.patch: here. +2013-03-19 Andrew John Hughes + + * patches/openjdk/8004341-jck_dialog_failure.patch, + * patches/openjdk/8005615-failure_to_load_logger_implementation.patch, + * patches/openjdk/8007393.patch, + * patches/openjdk/8007611.patch, + * patches/openjdk/8009641-8007675_build_fix.patch, + * patches/security/20130201/6563318.patch, + * patches/security/20130201/6664509.patch, + * patches/security/20130201/6776941.patch, + * patches/security/20130201/7141694.patch, + * patches/security/20130201/7173145.patch, + * patches/security/20130201/7186945.patch, + * patches/security/20130201/7186948.patch, + * patches/security/20130201/7186952.patch, + * patches/security/20130201/7186954.patch, + * patches/security/20130201/7192392.patch, + * patches/security/20130201/7192393.patch, + * patches/security/20130201/7192977.patch, + * patches/security/20130201/7197546.patch, + * patches/security/20130201/7200491.patch, + * patches/security/20130201/7200500.patch, + * patches/security/20130201/7201064.patch, + * patches/security/20130201/7201066.patch, + * patches/security/20130201/7201068.patch, + * patches/security/20130201/7201070.patch, + * patches/security/20130201/7201071.patch, + * patches/security/20130201/8000210.patch, + * patches/security/20130201/8000537.patch, + * patches/security/20130201/8000540.patch, + * patches/security/20130201/8000631.patch, + * patches/security/20130201/8001235.patch, + * patches/security/20130201/8001242.patch, + * patches/security/20130201/8001307.patch, + * patches/security/20130201/8001972.patch, + * patches/security/20130201/8002325.patch, + * patches/security/20130219/8006446.patch, + * patches/security/20130219/8006777.patch, + * patches/security/20130219/8007688.patch, + * patches/security/20130304/8007014.patch, + * patches/security/20130304/8007675.patch: + Remove patches available upstream. + * Makefile.am: + (JAXP_DROP_ZIP): Update to jaxp144_05.zip + with latest security fix included. + (JAXP_DROP_SHA256SUM): Likewise. + (SECURITY_PATCHES): Remove ones available + upstream (all from 2013/02/01, 2013/02/19 + and 2013/03/04). + (ICEDTEA_PATCHES): Remove patches for + 8005615, 8004341, 8007393 & 8007611 + available upstream. + * patches/ecj/override.patch: + Add new case introduced by upstream version + of security patches (sigh...) + 2013-03-18 Andrew John Hughes * Makefile.am: @@ -1667,6 +2027,11 @@ 2012-10-31 Andrew John Hughes + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b28. + +2012-10-31 Andrew John Hughes + * generated/com/sun/corba/se/impl/logging/ActivationSystemException.java, * generated/com/sun/corba/se/impl/logging/IORSystemException.java, * generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java, diff -r 48ba1e242c44 -r 64de09c6e614 INSTALL --- a/INSTALL Tue Sep 17 20:08:21 2013 +0200 +++ b/INSTALL Tue Sep 24 17:44:25 2013 +0100 @@ -319,19 +319,15 @@ download stage and just verifies that the zip's MD5 sum matches that of the requested build. -At present, IcedTea6 supports the 'original' HotSpot 20 provided as -part of the upstream tarball and 'hs23', the HotSpot used by the IcedTea -2.3.x series. Note that the norm. is for up to one alternate (non-default) -build to be supported and just passing --with-hotspot-build +At present, IcedTea6 supports the 'original' HotSpot 23 provided as +part of the upstream tarball. Note that the norm. is for up to one +alternate (non-default) build to be supported and just passing --with-hotspot-build (equivalent to --with-hotspot-build=yes) will always provide the alternate build. Conversely, passing --without-hotspot-build (equivalent to --with-hotspot-build=no) provides the original build from the OpenJDK tarball. When no option is specified, the default build is used. At present, -this is 'hs23' unless the user is building Zero or Shark (either by -choice, or because the build has default to this on architectures -other than x86/x86_64/sparc). As 'hs23' is known not to work with -Zero or Shark, 'original' is still the default for these builds. +this is 'original'. JavaScript Support ================== diff -r 48ba1e242c44 -r 64de09c6e614 Makefile.am --- a/Makefile.am Tue Sep 17 20:08:21 2013 +0200 +++ b/Makefile.am Tue Sep 24 17:44:25 2013 +0100 @@ -2,7 +2,7 @@ OPENJDK_DATE = 26_oct_2012 OPENJDK_SHA256SUM = 044c3877b15940ff04f8aa817337f2878a00cc89674854557f1a02f15b1802a0 -OPENJDK_VERSION = b27 +OPENJDK_VERSION = b28 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ CACAO_VERSION = 68fe50ac34ec @@ -278,170 +278,10 @@ ICEDTEA_FSG_PATCHES = -DROP_PATCHES = \ - patches/openjdk/jaf-b20_jaxws2-1_6_2011_06_13.patch \ - patches/openjdk/jaxp144_05.patch +DROP_PATCHES = SECURITY_PATCHES = \ - patches/security/20120830/7182135-impossible_to_use_some_editors_directly.patch \ - patches/security/20130201/7201068.patch \ - patches/security/20130201/6563318.patch \ - patches/security/20130201/6664509.patch \ - patches/security/20130201/6776941.patch \ From omajid at icedtea.classpath.org Tue Sep 24 10:42:41 2013 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 24 Sep 2013 17:42:41 +0000 Subject: /hg/icedtea-web: PR1474: Can't get javaws to use SOCKS proxy Message-ID: changeset a69671b1e1f1 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a69671b1e1f1 author: Omair Majid date: Tue Sep 24 13:42:31 2013 -0400 PR1474: Can't get javaws to use SOCKS proxy If there is a SOCKS proxy specified, use it for https, http, and ftp protocols too (as a fallback). 'sameProxy' now affects the https, http and ftp protocols, but not the socket protocol. diffstat: ChangeLog | 13 ++++ NEWS | 2 + netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 3 + netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 25 ++++---- tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java | 27 +++++++-- 5 files changed, 51 insertions(+), 19 deletions(-) diffs (150 lines): diff -r bd8e09edc806 -r a69671b1e1f1 ChangeLog --- a/ChangeLog Mon Sep 23 12:34:25 2013 -0400 +++ b/ChangeLog Tue Sep 24 13:42:31 2013 -0400 @@ -1,3 +1,16 @@ +2013-09-24 Omair Majid + + PR1474 + * NEWS: Update with bug. + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Document + KEY_PROXY_SAME. + * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java + (getFromConfiguration): Same proxy is not applicable to SOCKS. Always + include SOCKS proxy if available. + * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java + (testHttpFallsBackToManualSocksProxy): New method. + (testManualSameProxy): Remove test for socket protocol. + 2013-09-23 Omair Majid * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java diff -r bd8e09edc806 -r a69671b1e1f1 NEWS --- a/NEWS Mon Sep 23 12:34:25 2013 -0400 +++ b/NEWS Tue Sep 24 13:42:31 2013 -0400 @@ -21,6 +21,8 @@ * Plugin - PR854: Resizing an applet several times causes 100% CPU load - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs +* Common + - PR1474: Can't get javaws to use SOCKS proxy * Security Updates - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet diff -r bd8e09edc806 -r a69671b1e1f1 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon Sep 23 12:34:25 2013 -0400 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Sep 24 13:42:31 2013 -0400 @@ -129,7 +129,10 @@ /** the proxy type. possible values are {@code JNLPProxySelector.PROXY_TYPE_*} */ public static final String KEY_PROXY_TYPE = "deployment.proxy.type"; + + /** Boolean. If true, the http host/port should be used for https and ftp as well */ public static final String KEY_PROXY_SAME = "deployment.proxy.same"; + public static final String KEY_PROXY_AUTO_CONFIG_URL = "deployment.proxy.auto.config.url"; public static final String KEY_PROXY_BYPASS_LIST = "deployment.proxy.bypass.list"; public static final String KEY_PROXY_BYPASS_LOCAL = "deployment.proxy.bypass.local"; diff -r bd8e09edc806 -r a69671b1e1f1 netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java Mon Sep 23 12:34:25 2013 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java Tue Sep 24 13:42:31 2013 -0400 @@ -298,27 +298,28 @@ String scheme = uri.getScheme(); if (sameProxy) { - SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); - Proxy proxy; - if (scheme.equals("socket")) { - proxy = new Proxy(Type.SOCKS, sa); - } else { - proxy = new Proxy(Type.HTTP, sa); + if (proxyHttpHost != null && (scheme.equals("https") || scheme.equals("http") || scheme.equals("ftp"))) { + SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); + Proxy proxy = new Proxy(Type.HTTP, sa); + proxies.add(proxy); } - proxies.add(proxy); - } else if (scheme.equals("http")) { + } else if (scheme.equals("http") && proxyHttpHost != null) { SocketAddress sa = new InetSocketAddress(proxyHttpHost, proxyHttpPort); proxies.add(new Proxy(Type.HTTP, sa)); - } else if (scheme.equals("https")) { + } else if (scheme.equals("https") && proxyHttpsHost != null) { SocketAddress sa = new InetSocketAddress(proxyHttpsHost, proxyHttpsPort); proxies.add(new Proxy(Type.HTTP, sa)); - } else if (scheme.equals("ftp")) { + } else if (scheme.equals("ftp") && proxyFtpHost != null) { SocketAddress sa = new InetSocketAddress(proxyFtpHost, proxyFtpPort); proxies.add(new Proxy(Type.HTTP, sa)); - } else if (scheme.equals("socket")) { + } + + if (proxySocks4Host != null) { SocketAddress sa = new InetSocketAddress(proxySocks4Host, proxySocks4Port); proxies.add(new Proxy(Type.SOCKS, sa)); - } else { + } + + if (proxies.size() == 0) { proxies.add(Proxy.NO_PROXY); } diff -r bd8e09edc806 -r a69671b1e1f1 tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java Mon Sep 23 12:34:25 2013 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java Tue Sep 24 13:42:31 2013 -0400 @@ -45,7 +45,6 @@ import java.net.InetSocketAddress; import java.net.Proxy; import java.net.Proxy.Type; -import java.net.SocketAddress; import java.net.URI; import java.net.URISyntaxException; import java.net.UnknownHostException; @@ -116,9 +115,11 @@ assertEquals(Proxy.NO_PROXY, result.get(0)); } + // TODO implement this + @Ignore("Implement this") @Test public void testLocalProxyBypassListIsIgnoredForNonLocal() { - + fail(); } @Test @@ -210,6 +211,23 @@ } @Test + public void testHttpFallsBackToManualSocksProxy() throws URISyntaxException { + String SOCKS_HOST = "example.org"; + int SOCKS_PORT = 42; + + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_HOST, SOCKS_HOST); + config.setProperty(DeploymentConfiguration.KEY_PROXY_SOCKS4_PORT, String.valueOf(SOCKS_PORT)); + + JNLPProxySelector selector = new TestProxySelector(config); + List result = selector.select(new URI("http://example.org/")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(SOCKS_HOST, SOCKS_PORT)), result.get(0)); + } + + @Test public void testManualUnknownProtocolProxy() throws URISyntaxException { DeploymentConfiguration config = new DeploymentConfiguration(); config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_MANUAL)); @@ -239,11 +257,6 @@ assertEquals(1, result.size()); assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); - - result = selector.select(new URI("socket://example.org/")); - - assertEquals(1, result.size()); - assertEquals(new Proxy(Type.SOCKS, new InetSocketAddress(HTTP_HOST, HTTP_PORT)), result.get(0)); } @Test From bugzilla-daemon at icedtea.classpath.org Tue Sep 24 10:42:55 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 24 Sep 2013 17:42:55 +0000 Subject: [Bug 1474] Can't get javaws to use SOCKS proxy In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1474 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=a69671b1e1f1 author: Omair Majid date: Tue Sep 24 13:42:31 2013 -0400 PR1474: Can't get javaws to use SOCKS proxy If there is a SOCKS proxy specified, use it for https, http, and ftp protocols too (as a fallback). 'sameProxy' now affects the https, http and ftp protocols, but not the socket protocol. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130924/2c551e39/attachment.html From dbhole at redhat.com Tue Sep 24 11:40:46 2013 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 24 Sep 2013 14:40:46 -0400 Subject: Chrome phasing out NPAPI [affects icedtea-web plug-in] Message-ID: <20130924184046.GS25534@redhat.com> http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html Without NPAPI, the IcedTea-Web plugin-in will not work with Chrome and Firefox. The blog states that Mozilla is planning to block NPAPI plug-ins too, but the provided link suggests that it will just implement click-to-play rather than remove support. Furthermore, the second link stating removal in December 2013 does not mention anything about NPAPI at all. In any case, Chrome is planning complete removal by end of 2014 which has serious implications for the IcedTea-Web plug-in + Chrome. Has anyone seen anything similar from Mozilla (about NPAPI removal)? If NPAPI is indeed headed for retirement, we should begin planning a plug-in re-design -- the last one took about 6 months for a C++ side rewrite (side that talks to the browser) re-write when we moved from OJI to NPAPI. Cheers, Deepak From omajid at redhat.com Tue Sep 24 11:46:07 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 24 Sep 2013 14:46:07 -0400 Subject: [icedtea-web] RFC: Unit tests for BrowserAwareProxySelector Message-ID: <5241DDEF.2080409@redhat.com> Hi, The attached patch adds unit tests for BrowserAwareProxySelector and makes minor changes to make testing it easier. It also removes duplicate logic of selecting a host and port depending on the protocol into JNLPProxySelector.getFromArguments. The semantics of 'sameProxy' are different between BrowserAwareProxySelector and JNLPProxy selector; the socks proxy is included in firefox [1]. I wrote and ran all the unit tests /before/ the duplicate-removal. Thanks, Omair [1] http://kb.mozillazine.org/Network.proxy.share_proxy_settings -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: browser-aware-proxy-tests-01.patch Type: text/x-patch Size: 21936 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130924/4ed8eb8a/browser-aware-proxy-tests-01-0001.patch From omajid at redhat.com Tue Sep 24 14:57:08 2013 From: omajid at redhat.com (Omair Majid) Date: Tue, 24 Sep 2013 17:57:08 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5241C7EF.6090900@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> <5241C7EF.6090900@redhat.com> Message-ID: <52420AB4.3050100@redhat.com> On 09/24/2013 01:12 PM, Jiri Vanek wrote: > On 09/24/2013 04:31 PM, Omair Majid wrote: >> Hi Jiri, >> >> On 09/24/2013 02:43 AM, Jiri Vanek wrote: >>> One possible improvement (related to this change set) : >>> There is 138 occurrences of log(Level level, Throwable s) >>> There is 67 occurrences of log(Throwable s) >>> The log(Throwable s) is call to log(Level.ERROR_DEBUG, (Object) s); >>> and those log(Level level, Throwable s) are mostly >>> log(Level.ERROR_ALL, throwable) calls >>> >>> I was thinking about changing it to >>> There is 68 occurrences of log(Level level, Throwable s) >>> There is 138 occurrences of log(Throwable s) >>> where The log(Throwable s) will be call to log(Level.ERROR_ALL, >>> (Object) s) >>> >>> What do you think? >> >> I think this is one of those decisions where having some data would >> allow for a better evaluation. Is the code calling log(Throwable) >> expecting it to be user-facing or merely debugging information ? >> > > I believe all those exceptions are moreover deadly, rare or serious.. > Not sure if this helps:) > Then lets make it ERROR_ALL. I reserve the right to ask for this to be reverted after seeing some logs :) Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at icedtea.classpath.org Wed Sep 25 09:50:44 2013 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 25 Sep 2013 16:50:44 +0000 Subject: /hg/icedtea-web: Introduced logging bottleneck Message-ID: changeset a817bb6d12a6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a817bb6d12a6 author: Jiri Vanek date: Wed Sep 25 18:50:18 2013 +0200 Introduced logging bottleneck diffstat: ChangeLog | 125 +++ netx/net/sourceforge/jnlp/AbstractLaunchHandler.java | 16 +- netx/net/sourceforge/jnlp/AppletLog.java | 92 -- netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 4 +- netx/net/sourceforge/jnlp/ExtensionDesc.java | 4 +- netx/net/sourceforge/jnlp/GuiLaunchHandler.java | 8 +- netx/net/sourceforge/jnlp/JNLPFile.java | 11 +- netx/net/sourceforge/jnlp/JNLPMatcher.java | 5 +- netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 13 +- netx/net/sourceforge/jnlp/Launcher.java | 31 +- netx/net/sourceforge/jnlp/Log.java | 79 - netx/net/sourceforge/jnlp/MalformedXMLParser.java | 5 +- netx/net/sourceforge/jnlp/NetxPanel.java | 11 +- netx/net/sourceforge/jnlp/Parser.java | 17 +- netx/net/sourceforge/jnlp/PluginBridge.java | 9 +- netx/net/sourceforge/jnlp/SecurityDesc.java | 3 +- netx/net/sourceforge/jnlp/StreamEater.java | 17 +- netx/net/sourceforge/jnlp/XmlParser.java | 3 +- netx/net/sourceforge/jnlp/about/HTMLPanel.java | 3 +- netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 19 +- netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java | 10 +- netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java | 7 +- netx/net/sourceforge/jnlp/cache/CacheDirectory.java | 6 +- netx/net/sourceforge/jnlp/cache/CacheEntry.java | 7 +- netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 15 +- netx/net/sourceforge/jnlp/cache/CacheUtil.java | 44 +- netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java | 12 +- netx/net/sourceforge/jnlp/cache/Resource.java | 18 +- netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 55 +- netx/net/sourceforge/jnlp/config/Defaults.java | 20 +- netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 133 +- netx/net/sourceforge/jnlp/controlpanel/CachePane.java | 5 +- netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 90 +- netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 9 +- netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java | 82 +- netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java | 4 +- netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java | 7 +- netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java | 15 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 11 +- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 1 - netx/net/sourceforge/jnlp/resources/Messages_de.properties | 1 - netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 1 - netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 4 +- netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 11 +- netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 9 +- netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 23 +- netx/net/sourceforge/jnlp/runtime/Boot.java | 46 +- netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 6 +- netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java | 5 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 121 +- netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 7 +- netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 27 +- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 120 +- netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 22 +- netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java | 19 +- netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java | 17 +- netx/net/sourceforge/jnlp/security/CertWarningPane.java | 7 +- netx/net/sourceforge/jnlp/security/CertificateUtils.java | 18 +- netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 7 +- netx/net/sourceforge/jnlp/security/KeyStores.java | 3 +- netx/net/sourceforge/jnlp/security/SecurityDialog.java | 11 +- netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 7 +- netx/net/sourceforge/jnlp/security/SecurityUtil.java | 3 +- netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 9 +- netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java | 3 +- netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java | 16 +- netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 13 +- netx/net/sourceforge/jnlp/services/ServiceUtil.java | 11 +- netx/net/sourceforge/jnlp/services/XBasicService.java | 16 +- netx/net/sourceforge/jnlp/services/XPersistenceService.java | 7 +- netx/net/sourceforge/jnlp/services/XPrintService.java | 9 +- netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 19 +- netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java | 7 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 7 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 3 +- netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java | 3 +- netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java | 15 +- netx/net/sourceforge/jnlp/tools/CertInformation.java | 4 +- netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 23 +- netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java | 11 +- netx/net/sourceforge/jnlp/util/FileUtils.java | 23 +- netx/net/sourceforge/jnlp/util/HttpUtils.java | 3 +- netx/net/sourceforge/jnlp/util/ImageResources.java | 3 +- netx/net/sourceforge/jnlp/util/PropertiesFile.java | 5 +- netx/net/sourceforge/jnlp/util/Reflect.java | 5 +- netx/net/sourceforge/jnlp/util/StreamUtils.java | 14 +- netx/net/sourceforge/jnlp/util/TimedHashMap.java | 9 +- netx/net/sourceforge/jnlp/util/UrlUtils.java | 13 +- netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 19 +- netx/net/sourceforge/jnlp/util/logging/FileLog.java | 107 ++ netx/net/sourceforge/jnlp/util/logging/LogConfig.java | 156 +++ netx/net/sourceforge/jnlp/util/logging/OutputController.java | 398 ++++++++++ netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java | 68 + netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java | 46 + netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java | 57 + netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java | 57 + netx/net/sourceforge/nanoxml/XMLElement.java | 25 +- plugin/icedteanp/java/netscape/javascript/JSRunnable.java | 3 +- plugin/icedteanp/java/sun/applet/JavaConsole.java | 53 +- plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 7 +- plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 15 +- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 17 +- plugin/icedteanp/java/sun/applet/PluginDebug.java | 7 +- plugin/icedteanp/java/sun/applet/PluginException.java | 4 +- plugin/icedteanp/java/sun/applet/PluginMain.java | 21 +- plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 3 +- plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 +- plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 3 +- plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 3 +- plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 +- tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java | 71 +- tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 62 +- tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java | 52 +- tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java | 4 - tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java | 178 ++++ tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java | 367 +++++++++ tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java | 113 ++ tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java | 2 - tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 12 +- 119 files changed, 2582 insertions(+), 1136 deletions(-) diffs (truncated from 7708 to 500 lines): diff -r a69671b1e1f1 -r a817bb6d12a6 ChangeLog --- a/ChangeLog Tue Sep 24 13:42:31 2013 -0400 +++ b/ChangeLog Wed Sep 25 18:50:18 2013 +0200 @@ -1,3 +1,128 @@ +2013-09-25 Jiri Vanek + + Added logging bottleneck + * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err + and printStackTrace in favour of outputController.log methods. Same all below + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java + * netx/net/sourceforge/jnlp/ExtensionDesc.java + * netx/net/sourceforge/jnlp/GuiLaunchHandler.java + * netx/net/sourceforge/jnlp/JNLPFile.java + * netx/net/sourceforge/jnlp/JNLPMatcher.java + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java + * netx/net/sourceforge/jnlp/Launcher.java + * netx/net/sourceforge/jnlp/MalformedXMLParser.java + * netx/net/sourceforge/jnlp/NetxPanel.java + * netx/net/sourceforge/jnlp/Parser.java + * netx/net/sourceforge/jnlp/PluginBridge.java + * netx/net/sourceforge/jnlp/SecurityDesc.java + * netx/net/sourceforge/jnlp/StreamEater.java + * netx/net/sourceforge/jnlp/XmlParser.java + * netx/net/sourceforge/jnlp/about/HTMLPanel.java + * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java + * netx/net/sourceforge/jnlp/cache/CacheDirectory.java + * netx/net/sourceforge/jnlp/cache/CacheEntry.java + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java + * netx/net/sourceforge/jnlp/cache/CacheUtil.java + * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java + * netx/net/sourceforge/jnlp/cache/Resource.java + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java + * netx/net/sourceforge/jnlp/config/Defaults.java + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java + * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java + * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java + * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java + * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java + * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java + * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java + * netx/net/sourceforge/jnlp/resources/Messages.properties + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties + * netx/net/sourceforge/jnlp/resources/Messages_de.properties + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties + * 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/CachedJarFileCallback.java + * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java + * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java + * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java + * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java + * netx/net/sourceforge/jnlp/security/CertWarningPane.java + * netx/net/sourceforge/jnlp/security/CertificateUtils.java + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java + * netx/net/sourceforge/jnlp/security/KeyStores.java + * netx/net/sourceforge/jnlp/security/SecurityDialog.java + * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java + * netx/net/sourceforge/jnlp/security/SecurityUtil.java + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java + * netx/net/sourceforge/jnlp/services/ServiceUtil.java + * netx/net/sourceforge/jnlp/services/XBasicService.java + * netx/net/sourceforge/jnlp/services/XPersistenceService.java + * netx/net/sourceforge/jnlp/services/XPrintService.java + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java + * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java + * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java + * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java + * netx/net/sourceforge/jnlp/tools/CertInformation.java + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java + * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java + * netx/net/sourceforge/jnlp/util/FileUtils.java + * netx/net/sourceforge/jnlp/util/HttpUtils.java + * netx/net/sourceforge/jnlp/util/ImageResources.java + * netx/net/sourceforge/jnlp/util/PropertiesFile.java + * netx/net/sourceforge/jnlp/util/Reflect.java + * netx/net/sourceforge/jnlp/util/StreamUtils.java + * netx/net/sourceforge/jnlp/util/TimedHashMap.java + * netx/net/sourceforge/jnlp/util/UrlUtils.java + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java + * netx/net/sourceforge/nanoxml/XMLElement.java + * plugin/icedteanp/java/netscape/javascript/JSRunnable.java + * plugin/icedteanp/java/sun/applet/JavaConsole.java + * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java + * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + * plugin/icedteanp/java/sun/applet/PluginDebug.java + * plugin/icedteanp/java/sun/applet/PluginException.java + * plugin/icedteanp/java/sun/applet/PluginMain.java + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java + * plugin/icedteanp/java/sun/applet/PluginProxySelector.java + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java + * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java + * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java + * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java + * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java + * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java + * netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from + AppletLog. Now have responsibility to log to custom file. + * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log + * netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging + * netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams + * netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers + * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log + * netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log + * tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests + * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests + * tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests + * netx/net/sourceforge/jnlp/AppletLog.java: removed + * netx/net/sourceforge/jnlp/Log.java: rmeoved + + 2013-09-24 Omair Majid PR1474 diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AbstractLaunchHandler.java --- a/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 @@ -37,16 +37,15 @@ package net.sourceforge.jnlp; -import java.io.PrintStream; -import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.logging.OutputController; public abstract class AbstractLaunchHandler implements LaunchHandler { - protected final PrintStream outputStream; + protected final OutputController logger; - public AbstractLaunchHandler(PrintStream outputStream) { - this.outputStream = outputStream; + public AbstractLaunchHandler(OutputController logger) { + this.logger = logger; } /** @@ -63,11 +62,10 @@ if (ex.getCause() != null) { result.append(recursiveDescription(ex.getCause())); } - outputStream.println(result); + logger.log(OutputController.Level.MESSAGE_ALL, result.toString()); - if (JNLPRuntime.isDebug()) { - ex.printStackTrace(outputStream); - } + logger.log(ex); + } private String recursiveDescription(Throwable throwable) { diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AppletLog.java --- a/netx/net/sourceforge/jnlp/AppletLog.java Tue Sep 24 13:42:31 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -/* AppletLog.java - Copyright (C) 2011 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; 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 net.sourceforge.jnlp; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.PrintStream; -import java.util.logging.FileHandler; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.logging.XMLFormatter; - -import net.sourceforge.jnlp.util.FileUtils; - -/** - * This class writes log information to file. - * - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) - * - */ -class AppletLog extends Log { - private static Logger logger; - static { - try { - // If logging is enabled, we create logger. - if (enableLogging) { - String fn = icedteaLogDir + "plugin" + java.lang.System.currentTimeMillis() + ".log"; - FileUtils.createRestrictedFile(new File(fn), true); - FileHandler fh = new FileHandler(fn, false); - fh.setFormatter(new XMLFormatter()); - String logClassName = AppletLog.class.getName(); - logger = Logger.getLogger(logClassName); - logger.setLevel(Level.ALL); - logger.addHandler(fh); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - private AppletLog() { - } - - /** - * Log the exception to file. - * - * @param e Exception that was thrown. - */ - public synchronized static void log(Throwable e) { - if (enableLogging && logger != null) { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(baos); - e.printStackTrace(ps); - logger.log(Level.FINE, baos.toString()); - } - } -} diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java --- a/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 @@ -16,9 +16,9 @@ package net.sourceforge.jnlp; -import java.io.PrintStream; import net.sourceforge.jnlp.runtime.*; +import net.sourceforge.jnlp.util.logging.OutputController; /** * This default implementation shows prints the exception to @@ -30,7 +30,7 @@ */ public class DefaultLaunchHandler extends AbstractLaunchHandler { - public DefaultLaunchHandler(PrintStream out) { + public DefaultLaunchHandler(OutputController out) { super(out); } diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/ExtensionDesc.java --- a/netx/net/sourceforge/jnlp/ExtensionDesc.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/ExtensionDesc.java Wed Sep 25 18:50:18 2013 +0200 @@ -23,6 +23,7 @@ import java.util.*; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.logging.OutputController; /** * The extension element. @@ -122,8 +123,7 @@ if (file == null) { file = new JNLPFile(location); - if (JNLPRuntime.isDebug()) - System.out.println("Resolve: " + file.getInformation().getTitle()); + OutputController.getLogger().log("Resolve: " + file.getInformation().getTitle()); // check for it being an extension descriptor if (!file.isComponent() && !file.isInstaller()) diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/GuiLaunchHandler.java --- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 @@ -37,7 +37,6 @@ package net.sourceforge.jnlp; -import java.io.PrintStream; import java.lang.reflect.InvocationTargetException; import java.net.URL; @@ -47,6 +46,7 @@ import net.sourceforge.jnlp.cache.UpdatePolicy; import net.sourceforge.jnlp.runtime.ApplicationInstance; import net.sourceforge.jnlp.util.BasicExceptionDialog; +import net.sourceforge.jnlp.util.logging.OutputController; /** * A {@link LaunchHandler} that gives feedback to the user using GUI elements @@ -58,7 +58,7 @@ private final Object mutex = new Object(); private UpdatePolicy policy = UpdatePolicy.ALWAYS; - public GuiLaunchHandler(PrintStream outputStream) { + public GuiLaunchHandler(OutputController outputStream) { super(outputStream); } @@ -127,7 +127,7 @@ // Wait till splash screen is created while (splashScreen == null); } catch (InvocationTargetException ite) { - ite.printStackTrace(); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); } try { SwingUtilities.invokeAndWait(new Runnable() { @@ -141,7 +141,7 @@ // Wait till splash screen is created while (!splashScreen.isSplashImageLoaded()); } catch (InvocationTargetException ite) { - ite.printStackTrace(); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); } diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 25 18:50:18 2013 +0200 @@ -31,6 +31,7 @@ import net.sourceforge.jnlp.cache.ResourceTracker; import net.sourceforge.jnlp.cache.UpdatePolicy; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.logging.OutputController; /** * Provides methods to access the information in a Java Network @@ -223,8 +224,7 @@ ((int)(Math.random()*Integer.MAX_VALUE)) + "-" + location; - if (JNLPRuntime.isDebug()) - System.err.println("UNIQUEKEY=" + this.uniqueKey); + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY=" + this.uniqueKey); } /** @@ -243,8 +243,7 @@ this(location, version, settings, policy); this.uniqueKey = uniqueKey; - if (JNLPRuntime.isDebug()) - System.err.println("UNIQUEKEY (override) =" + this.uniqueKey); + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY (override) =" + this.uniqueKey); } /** @@ -714,9 +713,7 @@ } catch (ParseException ex) { throw ex; } catch (Exception ex) { - if (JNLPRuntime.isDebug()) - ex.printStackTrace(); - + OutputController.getLogger().log(ex); throw new RuntimeException(ex.toString()); } } diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPMatcher.java --- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Wed Sep 25 18:50:18 2013 +0200 @@ -47,6 +47,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; +import net.sourceforge.jnlp.util.logging.OutputController; import net.sourceforge.nanoxml.XMLElement; /** @@ -261,7 +262,7 @@ try { stream.close(); } catch (Exception e) { - e.printStackTrace(System.err); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); } } @@ -276,7 +277,7 @@ try { stream.close(); } catch (Exception e) { - e.printStackTrace(System.err); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); } } } diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPSplashScreen.java --- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Sep 25 18:50:18 2013 +0200 @@ -54,6 +54,7 @@ import net.sourceforge.jnlp.splashscreen.SplashUtils; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; import net.sourceforge.jnlp.util.ImageResources; +import net.sourceforge.jnlp.util.logging.OutputController; import net.sourceforge.jnlp.util.ScreenFinder; public class JNLPSplashScreen extends JDialog { @@ -91,19 +92,13 @@ try { splashImage = ImageIO.read(resourceTracker.getCacheFile(splashImageUrl)); if (splashImage == null) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); - } + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); } } catch (IOException e) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); - } + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); splashImage = null; } catch (IllegalArgumentException argumentException) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); - } + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); splashImage = null; } } diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Sep 24 13:42:31 2013 -0400 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 25 18:50:18 2013 +0200 @@ -46,6 +46,7 @@ import javax.swing.text.html.parser.ParserDelegator; import net.sourceforge.jnlp.runtime.AppletEnvironment; import net.sourceforge.jnlp.splashscreen.SplashUtils; +import net.sourceforge.jnlp.util.logging.OutputController; import sun.awt.SunToolkit; @@ -77,7 +78,7 @@ /** whether to create an AppContext (if possible) */ private boolean context = true; - /** If the application should call System.exit on fatal errors */ + /** If the application should call JNLPRuntime.exit on fatal errors */ private boolean exitOnFailure = true; private ParserSettings parserSettings = new ParserSettings(); @@ -229,10 +230,10 @@ InetAddress.getByName(file.getSourceLocation().getHost()); } catch (UnknownHostException ue) { - System.err.println("File cannot be launched because offline-allowed tag not specified and system currently offline."); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "File cannot be launched because offline-allowed tag not specified and system currently offline."); return null; } catch (Exception e) { - System.err.println(e); + OutputController.getLogger().log(e); } } @@ -483,9 +484,7 @@ try { ServiceUtil.checkExistingSingleInstance(file); } catch (InstanceExistsException e) { - if (JNLPRuntime.isDebug()) { From jvanek at redhat.com Wed Sep 25 09:52:58 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 25 Sep 2013 18:52:58 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52420AB4.3050100@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> <5241C7EF.6090900@redhat.com> <52420AB4.3050100@redhat.com> Message-ID: <524314EA.60907@redhat.com> On 09/24/2013 11:57 PM, Omair Majid wrote: > On 09/24/2013 01:12 PM, Jiri Vanek wrote: >> On 09/24/2013 04:31 PM, Omair Majid wrote: >>> Hi Jiri, >>> >>> On 09/24/2013 02:43 AM, Jiri Vanek wrote: >>>> One possible improvement (related to this change set) : >>>> There is 138 occurrences of log(Level level, Throwable s) >>>> There is 67 occurrences of log(Throwable s) >>>> The log(Throwable s) is call to log(Level.ERROR_DEBUG, (Object) s); >>>> and those log(Level level, Throwable s) are mostly >>>> log(Level.ERROR_ALL, throwable) calls >>>> >>>> I was thinking about changing it to >>>> There is 68 occurrences of log(Level level, Throwable s) >>>> There is 138 occurrences of log(Throwable s) >>>> where The log(Throwable s) will be call to log(Level.ERROR_ALL, >>>> (Object) s) >>>> >>>> What do you think? >>> >>> I think this is one of those decisions where having some data would >>> allow for a better evaluation. Is the code calling log(Throwable) >>> expecting it to be user-facing or merely debugging information ? >>> >> >> I believe all those exceptions are moreover deadly, rare or serious.. >> Not sure if this helps:) >> > > Then lets make it ERROR_ALL. I reserve the right to ask for this to be > reverted after seeing some logs :) > At the end I kept it as it was. I think it should be statement to log always. And both err/out log should have same api. Few changes on last second: fileloger have now append possibility and close possibility the message consumer is now dameon. good tests :) Especially I was happy teh paralel logger test passed always :) Thank you very much for review! J. From omajid at redhat.com Wed Sep 25 10:09:36 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 25 Sep 2013 13:09:36 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <524314EA.60907@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> <5241C7EF.6090900@redhat.com> <52420AB4.3050100@redhat.com> <524314EA.60907@redhat.com> Message-ID: <524318D0.8040406@redhat.com> On 09/25/2013 12:52 PM, Jiri Vanek wrote: > good tests :) Especially I was happy teh paralel logger test passed > always :) I thought the code review policy was that all code must be reviewed? Are unit tests exempt from this? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Wed Sep 25 11:49:09 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 25 Sep 2013 14:49:09 -0400 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <523947B2.9060800@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> <523947B2.9060800@redhat.com> Message-ID: <52433025.2010209@redhat.com> On 09/18/2013 02:26 AM, Jiri Vanek wrote: > >> (snip) > ping? Changelog: * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored construction of URL * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) new method for finding proxy URIs, handles absolute resource paths correctly * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: added tests for ResourceUrlCreator#getVersionedUrl * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for PluginAppletViewer.processProxyUri * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcase/AbsolutePathsAndQueryStrings.java: new reproducer checks that absolute paths and query strings in resource URLs are properly handled, and caching still works * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.html: same * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.jnlp: same Here's a new version of this change set, now with more testing! The actual fix is the same. The reproducer is a little bit lame but I think I captured most of the cases with the unit tests anyway already. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: fix.patch Type: text/x-patch Size: 5154 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/5a8d57e1/fix-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducer.patch Type: text/x-patch Size: 10717 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/5a8d57e1/reproducer-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: unit_tests.patch Type: text/x-patch Size: 5882 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/5a8d57e1/unit_tests-0001.patch From aazores at redhat.com Wed Sep 25 12:23:23 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 25 Sep 2013 15:23:23 -0400 Subject: /hg/icedtea-web: adding xsl style for generating text summary af... In-Reply-To: References: Message-ID: <5243382B.6030205@redhat.com> On 09/19/2013 07:34 AM, jfabriko at icedtea.classpath.org wrote: > changeset 259e569a407d in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=259e569a407d > author: Jana Fabrikova > date: Thu Sep 19 13:36:15 2013 +0200 > > adding xsl style for generating text summary after reproducers or unit tests run > > > diffstat: > > ChangeLog | 9 +++++ > Makefile.am | 2 + > tests/report-styles/textreport.xsl | 63 ++++++++++++++++++++++++++++++++++++++ > 3 files changed, 74 insertions(+), 0 deletions(-) > > diffs (102 lines): > > diff -r 6344db94b95f -r 259e569a407d ChangeLog > --- a/ChangeLog Wed Sep 18 15:54:12 2013 +0200 > +++ b/ChangeLog Thu Sep 19 13:36:15 2013 +0200 > @@ -1,3 +1,12 @@ > +2013-09-19 Jana Fabrikova > + > + Added text only reports from reproducers and unit tests run > + * tests/report-styles/textreport.xls: > + style for generating summary output in summary_reproducers.txt > + and summary_unit.txt > + * Makefile.am: > + added generating the text reports in run-netx-dist-tests goal > + > 2013-09-18 Jiri Vanek > > Removed java 1.3 comaptible (redundant) code from ParseException > diff -r 6344db94b95f -r 259e569a407d Makefile.am > --- a/Makefile.am Wed Sep 18 15:54:12 2013 +0200 > +++ b/Makefile.am Thu Sep 19 13:36:15 2013 +0200 > @@ -876,6 +876,7 @@ > if WITH_XSLTPROC > -$(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html > -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html > + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/summary_reproducers.txt > endif > touch $@ > > @@ -1053,6 +1054,7 @@ > if WITH_XSLTPROC > -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html > -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html > + -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/summary_unit.txt > endif > mkdir -p stamps && \ > touch $@ > diff -r 6344db94b95f -r 259e569a407d tests/report-styles/textreport.xsl > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tests/report-styles/textreport.xsl Thu Sep 19 13:36:15 2013 +0200 > @@ -0,0 +1,63 @@ > + > + > + > + > + Date: > + > +Result: (In brackets are KnownToFail values if any) > + > +TOTAL: () > +passed: () > +failed: () > +ignored: () > + > +Classes: > + > +PASSED > +FAILED > + > + > +Individual results: > + > +IGNORED > +FAILED > +PASSED - WARNING This test is known to fail, but have passed! - This test is known to fail - This test is running remote content. > + > + > + The summary_reproducers.txt and summary_unit.txt files existing inside tests.build causes "make clean" to fail, since these files aren't cleaned up and the directory isn't empty. Fix is trivial though. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: summaries.patch Type: text/x-patch Size: 336 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/d9837fa9/summaries.patch From andrew at icedtea.classpath.org Wed Sep 25 12:30:48 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 25 Sep 2013 19:30:48 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 8024883: (se) SelectableCha... Message-ID: changeset bdced30f70e9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=bdced30f70e9 author: alanb date: Wed Sep 18 14:10:24 2013 +0100 8024883: (se) SelectableChannel.register throws NPE if fd >= 64k (lnx) Reviewed-by: alanb, coffeys Contributed-by: nmaurer at redhat.com, alan.bateman at oracle.com diffstat: src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java | 7 ++++- src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java | 18 ++++++++++++++-- src/solaris/classes/sun/nio/ch/EventPortWrapper.java | 12 ++++++++-- test/java/nio/channels/Selector/LotsOfChannels.java | 5 ++- test/java/nio/channels/Selector/SelectorLimit.java | 3 +- 5 files changed, 34 insertions(+), 11 deletions(-) diffs (145 lines): diff -r a6ff1e0a1dcb -r bdced30f70e9 src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java --- a/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java Mon Sep 16 15:43:06 2013 -0400 +++ b/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java Wed Sep 18 14:10:24 2013 +0100 @@ -26,9 +26,11 @@ package sun.nio.ch; import java.io.IOException; +import java.security.AccessController; import java.util.BitSet; import java.util.Map; import java.util.HashMap; +import sun.security.action.GetIntegerAction; /** @@ -78,10 +80,11 @@ static final int NUM_POLLFDS = Math.min(OPEN_MAX-1, 8192); // Initial size of arrays for fd registration changes - private final int INITIAL_PENDING_UPDATE_SIZE = 64; + private static final int INITIAL_PENDING_UPDATE_SIZE = 64; // maximum size of updatesLow - private final int MAX_UPDATE_ARRAY_SIZE = Math.min(OPEN_MAX, 64*1024); + private static final int MAX_UPDATE_ARRAY_SIZE = AccessController.doPrivileged( + new GetIntegerAction("sun.nio.ch.maxUpdateArraySize", Math.min(OPEN_MAX, 64*1024))); // The pollfd array for results from devpoll driver private final AllocatedNativeObject pollArray; diff -r a6ff1e0a1dcb -r bdced30f70e9 src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java --- a/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java Mon Sep 16 15:43:06 2013 -0400 +++ b/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java Wed Sep 18 14:10:24 2013 +0100 @@ -26,9 +26,11 @@ package sun.nio.ch; import java.io.IOException; +import java.security.AccessController; import java.util.BitSet; import java.util.HashMap; import java.util.Map; +import sun.security.action.GetIntegerAction; /** * Manipulates a native array of epoll_event structs on Linux: @@ -78,8 +80,8 @@ private static final int INITIAL_PENDING_UPDATE_SIZE = 64; // maximum size of updatesLow - private static final int MAX_UPDATE_ARRAY_SIZE = Math.min(OPEN_MAX, 64*1024); - + private static final int MAX_UPDATE_ARRAY_SIZE = AccessController.doPrivileged( + new GetIntegerAction("sun.nio.ch.maxUpdateArraySize", Math.min(OPEN_MAX, 64*1024))); // The fd of the epoll driver private final int epfd; @@ -164,6 +166,16 @@ } /** + * Returns {@code true} if updates for the given key (file + * descriptor) are killed. + */ + private boolean isEventsHighKilled(Integer key) { + assert key >= MAX_UPDATE_ARRAY_SIZE; + Byte value = eventsHigh.get(key); + return (value != null && value == KILLED); + } + + /** * Sets the pending update events for the given file descriptor. This * method has no effect if the update events is already set to KILLED, * unless {@code force} is {@code true}. @@ -175,7 +187,7 @@ } } else { Integer key = Integer.valueOf(fd); - if ((eventsHigh.get(key) != KILLED) || force) { + if (!isEventsHighKilled(key) || force) { eventsHigh.put(key, Byte.valueOf(events)); } } diff -r a6ff1e0a1dcb -r bdced30f70e9 src/solaris/classes/sun/nio/ch/EventPortWrapper.java --- a/src/solaris/classes/sun/nio/ch/EventPortWrapper.java Mon Sep 16 15:43:06 2013 -0400 +++ b/src/solaris/classes/sun/nio/ch/EventPortWrapper.java Wed Sep 18 14:10:24 2013 +0100 @@ -25,9 +25,14 @@ package sun.nio.ch; +import java.io.IOException; +import java.security.AccessController; +import java.util.BitSet; +import java.util.HashMap; +import java.util.Map; + import sun.misc.Unsafe; -import java.io.IOException; -import java.util.*; +import sun.security.action.GetIntegerAction; import static sun.nio.ch.SolarisEventPort.*; /** @@ -49,7 +54,8 @@ private final int INITIAL_PENDING_UPDATE_SIZE = 256; // maximum size of updateArray - private final int MAX_UPDATE_ARRAY_SIZE = Math.min(OPEN_MAX, 64*1024); + private static final int MAX_UPDATE_ARRAY_SIZE = AccessController.doPrivileged( + new GetIntegerAction("sun.nio.ch.maxUpdateArraySize", Math.min(OPEN_MAX, 64*1024))); // special update status to indicate that it should be ignored private static final byte IGNORE = -1; diff -r a6ff1e0a1dcb -r bdced30f70e9 test/java/nio/channels/Selector/LotsOfChannels.java --- a/test/java/nio/channels/Selector/LotsOfChannels.java Mon Sep 16 15:43:06 2013 -0400 +++ b/test/java/nio/channels/Selector/LotsOfChannels.java Wed Sep 18 14:10:24 2013 +0100 @@ -22,9 +22,10 @@ */ /* @test - * @bug 4503092 + * @bug 4503092 8024883 * @summary Tests that Windows Selector can use more than 63 channels - * @run main/timeout=300 LotsOfChannels + * @run main LotsOfChannels + * @run main/othervm -Dsun.nio.ch.maxUpdateArraySize=64 LotsOfChannels * @author kladko */ diff -r a6ff1e0a1dcb -r bdced30f70e9 test/java/nio/channels/Selector/SelectorLimit.java --- a/test/java/nio/channels/Selector/SelectorLimit.java Mon Sep 16 15:43:06 2013 -0400 +++ b/test/java/nio/channels/Selector/SelectorLimit.java Wed Sep 18 14:10:24 2013 +0100 @@ -22,12 +22,13 @@ */ /* @test - * @bug 4777504 + * @bug 4777504 8024883 * @summary Ensure that a Selector can return at least 100 selected keys * @author Mark Reinhold * @library .. * @build SelectorLimit * @run main/othervm SelectorLimit + * @run main/othervm -Dsun.nio.ch.maxUpdateArraySize=128 SelectorLimit */ import java.io.*; From aazores at redhat.com Wed Sep 25 12:40:46 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 25 Sep 2013 15:40:46 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <523BF6F0.1090906@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> <523AD1F7.10609@gmx.de> <523B1288.2030408@redhat.com> <523BF6F0.1090906@redhat.com> Message-ID: <52433C3E.5060701@redhat.com> On 09/20/2013 03:19 AM, Jiri Vanek wrote: > ok, discussion have been taken :)) > > now whats about original patch? > > > > Changelog: > * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CONFIG_HOME) > made public > * > tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: > fixed log dir location > > > Another casualty of the XDG spec change ;) > > Thanks, > I don't know enough to comment further on what the three of you have already discussed in this thread. I am convinced that there should be a better method for getting access to those Defaults values than simply making them public, but I can't say I know what to actually do instead in order to keep everything secure and not leak information. In any case this reproducer being broken in the meantime, until that better system is determined, is not an urgent issue IMO. Perhaps it should just be put off for now. Thanks, -- Andrew A From omajid at redhat.com Wed Sep 25 12:55:14 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 25 Sep 2013 15:55:14 -0400 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <52433025.2010209@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> <523947B2.9060800@redhat.com> <52433025.2010209@redhat.com> Message-ID: <52433FA2.8090408@redhat.com> On 09/25/2013 02:49 PM, Andrew Azores wrote: > Changelog: > * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: > (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored > construction of URL > * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) > new method for finding proxy URIs, handles absolute resource paths > correctly > * > tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: > added tests for ResourceUrlCreator#getVersionedUrl > * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests > for PluginAppletViewer.processProxyUri > * > tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcase/AbsolutePathsAndQueryStrings.java: > new reproducer checks that absolute paths and query strings in resource > URLs are properly handled, and caching still works > * > tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.html: > same > * > tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.jnlp: > same One request for future patches: please keep the changelog in the format that you will add to the ChangeLog file. > Here's a new version of this change set, now with more testing! The > actual fix is the same. The reproducer is a little bit lame but I think > I captured most of the cases with the unit tests anyway already. Thanks for updating this patch and adding tests. I have some comments and suggestions in-line below. > +++ b/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java > + URI uri = new URI(resourceUrl.getProtocol(), null, resourceUrl.getHost(), resourceUrl.getPort(), resourceUrl.getPath(), query, null); No resourceUrl.getUserInfo() ? > +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > + public static String processProxyUri(URI uri) throws URISyntaxException, UnsupportedEncodingException { It might be better to name this method that is a little less ambiguous. Maybe convertUriSchemeForProxyQuery? > reproducer.patch I am hoping someone more familiar with reproducers will comment on this. > --- a/tests/netx/unit/sun/applet/PluginAppletViewerTest.java > +++ b/tests/netx/unit/sun/applet/PluginAppletViewerTest.java > + @Test > + public void testPluginProxyInfoUrl() throws Exception { > + URI[] testUris = { > + new URI("http", "foo.com", "/bar", null), > + new URI("https", "foo.com", "/bar", null), > + new URI("ftp", "foo.com", "/app/res/pub/channel.jar?i=1234", null), > + new URI("socks", "foo.co.uk", "/bar/pub/ale.jar", null), This will be 'socket' (not 'socks') actually [1]. > + }; > + > + for (URI uri : testUris) { > + URI result = new URI(PluginAppletViewer.processProxyUri(uri)); > + if (uri.getScheme().equals("ftp") || uri.getScheme().startsWith("http")) { > + Assert.assertTrue(result.getScheme().equals(uri.getScheme())); > + } else { > + Assert.assertTrue("Scheme should have been \"http\" but was " + result.getScheme(), > + result.getScheme().equals("http")); > + } > + Assert.assertTrue(! (result.getAuthority() + result.getPath()).contains("//")); assertFalse() might be easier to read than assertTrue(! (condition)). Maybe you can make it even easier to read by doing something like: String hierarchicalPath = result.getAuthority() + result.getPath(); assertFalse(hierarchicalPath.contains("//")); > + Assert.assertEquals(result.getQuery(), uri.getQuery()); > + } > + } It might be easier to read if this test was split into multiple tests: // check that https/http/ftp scheme is accept and socks is replaced // with something else testQueryForBrowserProxyOnlyUsesHttpAndFtpScheme(); // test double '//' is replace with single '/' testQueryForBrowserProxyContainsNoDoubleSlashes(); // test query portion is unchanged testQueryForBrowserProxyDoesNotChangeQuery(); Cheers, Omair [1] http://download.java.net/jdk8/docs/api/java/net/ProxySelector.html#select(java.net.URI) -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Wed Sep 25 13:21:01 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 25 Sep 2013 16:21:01 -0400 Subject: /hg/icedtea-web: adding xsl style for generating text summary af... In-Reply-To: <5243382B.6030205@redhat.com> References: <5243382B.6030205@redhat.com> Message-ID: <524345AD.8020603@redhat.com> On 09/25/2013 03:23 PM, Andrew Azores wrote: > On 09/19/2013 07:34 AM, jfabriko at icedtea.classpath.org wrote: >> + -$(XSLTPROC) >> $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl >> $(TEST_EXTENSIONS_DIR)/tests-output.xml > >> $(TESTS_DIR)/summary_reproducers.txt >> + -$(XSLTPROC) >> $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/textreport.xsl >> $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/summary_unit.txt > The summary_reproducers.txt and summary_unit.txt files existing inside > tests.build causes "make clean" to fail, since these files aren't > cleaned up and the directory isn't empty. Fix is trivial though. Good catch! Please go ahead and push. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at icedtea.classpath.org Wed Sep 25 13:34:43 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 25 Sep 2013 20:34:43 +0000 Subject: /hg/icedtea-web: Clean up summary_unit.txt and summary_reproduce... Message-ID: changeset 11430ea879f6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=11430ea879f6 author: Andrew Azores date: Wed Sep 25 16:32:44 2013 -0400 Clean up summary_unit.txt and summary_reproducers.txt for "make clean" diffstat: ChangeLog | 5 +++++ Makefile.am | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (24 lines): diff -r a817bb6d12a6 -r 11430ea879f6 ChangeLog --- a/ChangeLog Wed Sep 25 18:50:18 2013 +0200 +++ b/ChangeLog Wed Sep 25 16:32:44 2013 -0400 @@ -1,3 +1,8 @@ +2013-09-25 Andrew Azores + + * Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for + "clean" goal + 2013-09-25 Jiri Vanek Added logging bottleneck diff -r a817bb6d12a6 -r 11430ea879f6 Makefile.am --- a/Makefile.am Wed Sep 25 18:50:18 2013 +0200 +++ b/Makefile.am Wed Sep 25 16:32:44 2013 -0400 @@ -1449,6 +1449,8 @@ clean_tests_reports: rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ rm -f $(TESTS_DIR)/*.html + rm -f $(TESTS_DIR)/summary_unit.txt + rm -f $(TESTS_DIR)/summary_reproducers.txt clean-$(SOFTKILLER): rm -f $(TESTS_DIR)/softkiller From aazores at redhat.com Wed Sep 25 14:09:40 2013 From: aazores at redhat.com (Andrew Azores) Date: Wed, 25 Sep 2013 17:09:40 -0400 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <52433FA2.8090408@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> <523947B2.9060800@redhat.com> <52433025.2010209@redhat.com> <52433FA2.8090408@redhat.com> Message-ID: <52435114.4090306@redhat.com> On 09/25/2013 03:55 PM, Omair Majid wrote: > On 09/25/2013 02:49 PM, Andrew Azores wrote: > >> Changelog: >> * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: >> (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored >> construction of URL >> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: >> (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) >> new method for finding proxy URIs, handles absolute resource paths >> correctly >> * >> tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: >> added tests for ResourceUrlCreator#getVersionedUrl >> * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests >> for PluginAppletViewer.processProxyUri >> * >> tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcase/AbsolutePathsAndQueryStrings.java: >> new reproducer checks that absolute paths and query strings in resource >> URLs are properly handled, and caching still works >> * >> tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.html: >> same >> * >> tests/reproducers/simple/AbsolutePathsAndQueryStrings/resource/AbsolutePathsAndQueryStrings.jnlp: >> same > One request for future patches: please keep the changelog in the format > that you will add to the ChangeLog file. Hmm? Did the formatting come out weird? > >> Here's a new version of this change set, now with more testing! The >> actual fix is the same. The reproducer is a little bit lame but I think >> I captured most of the cases with the unit tests anyway already. > Thanks for updating this patch and adding tests. I have some comments > and suggestions in-line below. > >> +++ b/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java >> + URI uri = new URI(resourceUrl.getProtocol(), null, resourceUrl.getHost(), resourceUrl.getPort(), resourceUrl.getPath(), query, null); > No resourceUrl.getUserInfo() ? Apparently. I don't know what the reasoning was for that, but it only makes sense to include it. Thanks. > >> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java >> + public static String processProxyUri(URI uri) throws URISyntaxException, UnsupportedEncodingException { > It might be better to name this method that is a little less ambiguous. > Maybe convertUriSchemeForProxyQuery? Sure thing. > >> reproducer.patch > I am hoping someone more familiar with reproducers will comment on this. > >> --- a/tests/netx/unit/sun/applet/PluginAppletViewerTest.java >> +++ b/tests/netx/unit/sun/applet/PluginAppletViewerTest.java >> + @Test >> + public void testPluginProxyInfoUrl() throws Exception { >> + URI[] testUris = { >> + new URI("http", "foo.com", "/bar", null), >> + new URI("https", "foo.com", "/bar", null), >> + new URI("ftp", "foo.com", "/app/res/pub/channel.jar?i=1234", null), >> + new URI("socks", "foo.co.uk", "/bar/pub/ale.jar", null), > This will be 'socket' (not 'socks') actually [1]. Okay, thanks, I didn't know this. > >> + }; >> + >> + for (URI uri : testUris) { >> + URI result = new URI(PluginAppletViewer.processProxyUri(uri)); >> + if (uri.getScheme().equals("ftp") || uri.getScheme().startsWith("http")) { >> + Assert.assertTrue(result.getScheme().equals(uri.getScheme())); >> + } else { >> + Assert.assertTrue("Scheme should have been \"http\" but was " + result.getScheme(), >> + result.getScheme().equals("http")); >> + } >> + Assert.assertTrue(! (result.getAuthority() + result.getPath()).contains("//")); > assertFalse() might be easier to read than assertTrue(! (condition)). Uhh... I don't even know what that was. Wow. That was very silly. Thanks :) > > Maybe you can make it even easier to read by doing something like: > > String hierarchicalPath = result.getAuthority() + result.getPath(); > assertFalse(hierarchicalPath.contains("//")); > > >> + Assert.assertEquals(result.getQuery(), uri.getQuery()); >> + } >> + } > It might be easier to read if this test was split into multiple tests: > > // check that https/http/ftp scheme is accept and socks is replaced > // with something else > testQueryForBrowserProxyOnlyUsesHttpAndFtpScheme(); > > // test double '//' is replace with single '/' > testQueryForBrowserProxyContainsNoDoubleSlashes(); > > // test query portion is unchanged > testQueryForBrowserProxyDoesNotChangeQuery(); Mm sure, makes sense. > > Cheers, > Omair > > [1] > http://download.java.net/jdk8/docs/api/java/net/ProxySelector.html#select(java.net.URI) Thanks for review! -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: fix.patch Type: text/x-patch Size: 5255 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/78b152d1/fix-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducer.patch Type: text/x-patch Size: 10717 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/78b152d1/reproducer-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: unit_tests.patch Type: text/x-patch Size: 6596 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130925/78b152d1/unit_tests-0001.patch From omajid at redhat.com Wed Sep 25 14:32:09 2013 From: omajid at redhat.com (Omair Majid) Date: Wed, 25 Sep 2013 17:32:09 -0400 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <52435114.4090306@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> <523947B2.9060800@redhat.com> <52433025.2010209@redhat.com> <52433FA2.8090408@redhat.com> <52435114.4090306@redhat.com> Message-ID: <52435659.6040003@redhat.com> On 09/25/2013 05:09 PM, Andrew Azores wrote: > On 09/25/2013 03:55 PM, Omair Majid wrote: >> One request for future patches: please keep the changelog in the format >> that you will add to the ChangeLog file. > > Hmm? Did the formatting come out weird? > Yes, the lines look a little strange: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-September/024823.html It's not a big deal, though. > + testQueryForBrowserProxyUsesHttpFallback(uri, result); > + String hierarchicalPath = result.getAuthority() + result.getPath(); > + testQueryForBrowserProxyContainsNoDoubleSlashes(hierarchicalPath); > + testQueryForBrowserProxyDoesNotChangeQuery(uri, result); I meant these three as separate @Test methods. What have you have done is okay too, but it might be better to rename the methods to be assert* (like assertUrlFallsBackToHttp) to reflect what they are doing. > + // Test that only HTTP is used as fallback scheme if a protocol other than HTTP(S) or FTP is specified > + public void testQueryForBrowserProxyUsesHttpFallback(URI expected, URI result) { > + // Test that absolute resource paths do not result in double-slashes within the URI > + public void testQueryForBrowserProxyContainsNoDoubleSlashes(String uri) { > + // Test that the query string of the URI is not changed > + public void testQueryForBrowserProxyDoesNotChangeQuery(URI expected, URI result) { Otherwise okay to me. I am still not comfortable enough with the reproducers to think that I have reviewed it, but otherwise feel free to push with the suggestions above. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at redhat.com Thu Sep 26 00:20:54 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Sep 2013 09:20:54 +0200 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <52433C3E.5060701@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> <523AD1F7.10609@gmx.de> <523B1288.2030408@redhat.com> <523BF6F0.1090906@redhat.com> <52433C3E.5060701@redhat.com> Message-ID: <5243E056.3060309@redhat.com> On 09/25/2013 09:40 PM, Andrew Azores wrote: > On 09/20/2013 03:19 AM, Jiri Vanek wrote: >> ok, discussion have been taken :)) >> >> now whats about original patch? >> >> >> >> Changelog: >> * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CONFIG_HOME) made public >> * >> tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: >> fixed log dir location >> >> >> Another casualty of the XDG spec change ;) >> >> Thanks, >> > > I don't know enough to comment further on what the three of you have already discussed in this > thread. I am convinced that there should be a better method for getting access to those Defaults > values than simply making them public, but I can't say I know what to actually do instead in order > to keep everything secure and not leak information. In any case this reproducer being broken in the > meantime, until that better system is determined, is not an urgent issue IMO. Perhaps it should just > be put off for now. > > Thanks, > I'm for making it public. The field should be well protected in netx. J. From jvanek at redhat.com Thu Sep 26 00:25:58 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Sep 2013 09:25:58 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <524318D0.8040406@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> <5241C7EF.6090900@redhat.com> <52420AB4.3050100@redhat.com> <524314EA.60907@redhat.com> <524318D0.8040406@redhat.com> Message-ID: <5243E186.7080803@redhat.com> On 09/25/2013 07:09 PM, Omair Majid wrote: > On 09/25/2013 12:52 PM, Jiri Vanek wrote: >> good tests :) Especially I was happy teh paralel logger test passed >> always :) > > I thought the code review policy was that all code must be reviewed? Are > unit tests exempt from this? > Definitely not. Sorry for rush. Do you mind to eyeball? http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l117.1 http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l116.1 http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l115.1 Sorry for inconvenience :( J. From jfabriko at redhat.com Thu Sep 26 00:27:58 2013 From: jfabriko at redhat.com (Jana Fabrikova) Date: Thu, 26 Sep 2013 09:27:58 +0200 Subject: /hg/icedtea-web: Clean up summary_unit.txt and summary_reproduce... In-Reply-To: References: Message-ID: <5243E1FE.1000200@redhat.com> Hi Andrew, thank you very much for this correction, I totally forgot to clean up the summary files! Fortunately you saw it:) cheers, Jana On 09/25/2013 10:34 PM, aazores at icedtea.classpath.org wrote: > changeset 11430ea879f6 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=11430ea879f6 > author: Andrew Azores > date: Wed Sep 25 16:32:44 2013 -0400 > > Clean up summary_unit.txt and summary_reproducers.txt for "make clean" > > > diffstat: > > ChangeLog | 5 +++++ > Makefile.am | 2 ++ > 2 files changed, 7 insertions(+), 0 deletions(-) > > diffs (24 lines): > > diff -r a817bb6d12a6 -r 11430ea879f6 ChangeLog > --- a/ChangeLog Wed Sep 25 18:50:18 2013 +0200 > +++ b/ChangeLog Wed Sep 25 16:32:44 2013 -0400 > @@ -1,3 +1,8 @@ > +2013-09-25 Andrew Azores > + > + * Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for > + "clean" goal > + > 2013-09-25 Jiri Vanek > > Added logging bottleneck > diff -r a817bb6d12a6 -r 11430ea879f6 Makefile.am > --- a/Makefile.am Wed Sep 25 18:50:18 2013 +0200 > +++ b/Makefile.am Wed Sep 25 16:32:44 2013 -0400 > @@ -1449,6 +1449,8 @@ > clean_tests_reports: > rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ > rm -f $(TESTS_DIR)/*.html > + rm -f $(TESTS_DIR)/summary_unit.txt > + rm -f $(TESTS_DIR)/summary_reproducers.txt > > clean-$(SOFTKILLER): > rm -f $(TESTS_DIR)/softkiller From jfabriko at icedtea.classpath.org Thu Sep 26 00:35:03 2013 From: jfabriko at icedtea.classpath.org (jfabriko at icedtea.classpath.org) Date: Thu, 26 Sep 2013 07:35:03 +0000 Subject: /hg/release/icedtea-web-1.4: adding Andrew's changes to Makefile... Message-ID: changeset 020590f4872d in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=020590f4872d author: Jana Fabrikova date: Thu Sep 26 09:36:53 2013 +0200 adding Andrew's changes to Makefile (clean up text summaries of test results) diffstat: ChangeLog | 5 +++++ Makefile.am | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (24 lines): diff -r 43c022220b84 -r 020590f4872d ChangeLog --- a/ChangeLog Thu Sep 19 13:47:13 2013 +0200 +++ b/ChangeLog Thu Sep 26 09:36:53 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-25 Andrew Azores + + * Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for + "clean" goal + 2013-09-19 Jana Fabrikova Added text only reports from reproducers and unit tests run diff -r 43c022220b84 -r 020590f4872d Makefile.am --- a/Makefile.am Thu Sep 19 13:47:13 2013 +0200 +++ b/Makefile.am Thu Sep 26 09:36:53 2013 +0200 @@ -1427,6 +1427,8 @@ clean_tests_reports: rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ rm -f $(TESTS_DIR)/*.html + rm -f $(TESTS_DIR)/summary_unit.txt + rm -f $(TESTS_DIR)/summary_reproducers.txt clean-$(SOFTKILLER): rm -f $(TESTS_DIR)/softkiller From jfabriko at redhat.com Thu Sep 26 00:37:49 2013 From: jfabriko at redhat.com (Jana Fabrikova) Date: Thu, 26 Sep 2013 09:37:49 +0200 Subject: /hg/icedtea-web: Clean up summary_unit.txt and summary_reproduce... In-Reply-To: <5243E1FE.1000200@redhat.com> References: <5243E1FE.1000200@redhat.com> Message-ID: <5243E44D.1090004@redhat.com> PS I pushed your changes also to icedtea-web 1.4 Jana On 09/26/2013 09:27 AM, Jana Fabrikova wrote: > Hi Andrew, > > thank you very much for this correction, I totally forgot to clean up > the summary files! Fortunately you saw it:) > > cheers, > Jana > > On 09/25/2013 10:34 PM, aazores at icedtea.classpath.org wrote: >> changeset 11430ea879f6 in /hg/icedtea-web >> details: >> http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=11430ea879f6 >> author: Andrew Azores >> date: Wed Sep 25 16:32:44 2013 -0400 >> >> Clean up summary_unit.txt and summary_reproducers.txt for "make >> clean" >> >> >> diffstat: >> >> ChangeLog | 5 +++++ >> Makefile.am | 2 ++ >> 2 files changed, 7 insertions(+), 0 deletions(-) >> >> diffs (24 lines): >> >> diff -r a817bb6d12a6 -r 11430ea879f6 ChangeLog >> --- a/ChangeLog Wed Sep 25 18:50:18 2013 +0200 >> +++ b/ChangeLog Wed Sep 25 16:32:44 2013 -0400 >> @@ -1,3 +1,8 @@ >> +2013-09-25 Andrew Azores >> + >> + * Makefile.am: clean up summary_unit.txt and >> summary_reproducers.txt for >> + "clean" goal >> + >> 2013-09-25 Jiri Vanek >> Added logging bottleneck >> diff -r a817bb6d12a6 -r 11430ea879f6 Makefile.am >> --- a/Makefile.am Wed Sep 25 18:50:18 2013 +0200 >> +++ b/Makefile.am Wed Sep 25 16:32:44 2013 -0400 >> @@ -1449,6 +1449,8 @@ >> clean_tests_reports: >> rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ >> rm -f $(TESTS_DIR)/*.html >> + rm -f $(TESTS_DIR)/summary_unit.txt >> + rm -f $(TESTS_DIR)/summary_reproducers.txt >> clean-$(SOFTKILLER): >> rm -f $(TESTS_DIR)/softkiller > From ptisnovs at icedtea.classpath.org Thu Sep 26 00:44:00 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 26 Sep 2013 07:44:00 +0000 Subject: /hg/gfx-test: Six new tests added into BitBltAffineIdentityTrans... Message-ID: changeset 73c2137c4180 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=73c2137c4180 author: Pavel Tisnovsky date: Thu Sep 26 09:47:47 2013 +0200 Six new tests added into BitBltAffineIdentityTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 108 ++++++++- 2 files changed, 95 insertions(+), 18 deletions(-) diffs (193 lines): diff -r dc0b34b65202 -r 73c2137c4180 ChangeLog --- a/ChangeLog Tue Sep 24 10:21:23 2013 +0200 +++ b/ChangeLog Thu Sep 26 09:47:47 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-26 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Six new tests added into BitBltAffineIdentityTransformOp. + 2013-09-24 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java: diff -r dc0b34b65202 -r 73c2137c4180 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Sep 24 10:21:23 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Thu Sep 26 09:47:47 2013 +0200 @@ -912,7 +912,7 @@ } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. * * @param image * image used as a destination for BitBlt-type operations @@ -920,13 +920,13 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp1); + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp5); } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. * * @param image * image used as a destination for BitBlt-type operations @@ -934,13 +934,13 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntRGBIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp2); + return doBitBltEmptyBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp6); } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. * * @param image * image used as a destination for BitBlt-type operations @@ -948,13 +948,13 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp3); + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp1); } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. * * @param image * image used as a destination for BitBlt-type operations @@ -962,13 +962,13 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp4); + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp2); } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. * * @param image * image used as a destination for BitBlt-type operations @@ -976,13 +976,13 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp5); + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp3); } /** - * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. * * @param image * image used as a destination for BitBlt-type operations @@ -990,9 +990,81 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testBitBltCheckerBufferedImageType3ByteBGRIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) { - return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, IdentifyTranspormationOp6); + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeIntBGRIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeUshort555RGBIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeUshort555RGB(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeUshort555RGBIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeUshort555RGB(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeUshort555RGBIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeUshort555RGB(image, graphics2d, IdentifyTranspormationOp3); + } + } /** From ptisnovs at icedtea.classpath.org Thu Sep 26 00:50:50 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 26 Sep 2013 07:50:50 +0000 Subject: /hg/rhino-tests: Added new test testNewInstance into the test suite Message-ID: changeset a69643cea0a5 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=a69643cea0a5 author: Pavel Tisnovsky date: Thu Sep 26 09:54:36 2013 +0200 Added new test testNewInstance into the test suite ScriptEngineClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/ScriptEngineClassTest.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diffs (40 lines): diff -r d1076a7a7c31 -r a69643cea0a5 ChangeLog --- a/ChangeLog Tue Sep 24 09:51:17 2013 +0200 +++ b/ChangeLog Thu Sep 26 09:54:36 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-26 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineClassTest.java: + Added new test testNewInstance into the test suite + ScriptEngineClassTest. + 2013-09-24 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: diff -r d1076a7a7c31 -r a69643cea0a5 src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Tue Sep 24 09:51:17 2013 +0200 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Thu Sep 26 09:54:36 2013 +0200 @@ -1273,6 +1273,23 @@ } /** + * Test for method javax.script.ScriptEngine.getClass().newInstance() + */ + protected void testNewInstance() { + try { + Object o = this.scriptEngineClass.newInstance(); + throw new AssertionError("Class.newInstance() does not throw any exception"); + } + catch (InstantiationException e) { + // expected exception + } + catch (IllegalAccessException e) { + // expected exception + } + + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptEngine */ @SuppressWarnings("cast") From aazores at redhat.com Thu Sep 26 06:31:18 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 26 Sep 2013 09:31:18 -0400 Subject: [rfc][icedtea-web] Archive URL wrongly resolved - PR1204 In-Reply-To: <52435659.6040003@redhat.com> References: <51BB1E85.4050909@redhat.com> <51BB2A96.4080701@redhat.com> <51BB52A5.1060502@redhat.com> <523947B2.9060800@redhat.com> <52433025.2010209@redhat.com> <52433FA2.8090408@redhat.com> <52435114.4090306@redhat.com> <52435659.6040003@redhat.com> Message-ID: <52443726.2010408@redhat.com> On 09/25/13 17:32, Omair Majid wrote: > On 09/25/2013 05:09 PM, Andrew Azores wrote: >> On 09/25/2013 03:55 PM, Omair Majid wrote: >>> One request for future patches: please keep the changelog in the format >>> that you will add to the ChangeLog file. >> Hmm? Did the formatting come out weird? >> > Yes, the lines look a little strange: > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-September/024823.html > > It's not a big deal, though. Oh yea I see what you mean. That is strange, I definitely didn't mean for them to look that way. > >> + testQueryForBrowserProxyUsesHttpFallback(uri, result); >> + String hierarchicalPath = result.getAuthority() + result.getPath(); >> + testQueryForBrowserProxyContainsNoDoubleSlashes(hierarchicalPath); >> + testQueryForBrowserProxyDoesNotChangeQuery(uri, result); > I meant these three as separate @Test methods. What have you have done > is okay too, but it might be better to rename the methods to be assert* > (like assertUrlFallsBackToHttp) to reflect what they are doing. Ah okay. Making each @Test would work too but then the testcases would be a little more redundant looking. Good idea with the naming though. > >> + // Test that only HTTP is used as fallback scheme if a protocol other than HTTP(S) or FTP is specified >> + public void testQueryForBrowserProxyUsesHttpFallback(URI expected, URI result) { > >> + // Test that absolute resource paths do not result in double-slashes within the URI >> + public void testQueryForBrowserProxyContainsNoDoubleSlashes(String uri) { >> + // Test that the query string of the URI is not changed >> + public void testQueryForBrowserProxyDoesNotChangeQuery(URI expected, URI result) { > Otherwise okay to me. I am still not comfortable enough with the > reproducers to think that I have reviewed it, but otherwise feel free to > push with the suggestions above. > > Cheers, > Omair > Thanks, -- Andrew A From aazores at icedtea.classpath.org Thu Sep 26 07:26:23 2013 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 26 Sep 2013 14:26:23 +0000 Subject: /hg/icedtea-web: Fix for PR1204, handling of query strings and a... Message-ID: changeset 654630a490cb in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=654630a490cb author: Andrew Azores date: Thu Sep 26 10:25:33 2013 -0400 Fix for PR1204, handling of query strings and absolute paths. Absolute paths in resource URLs are correctly handled when appended to host URLs and URL query strings are not removed. * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored construction of URL * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) new method for finding proxy URIs, handles absolute resource paths correctly * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: added tests for ResourceUrlCreator#getVersionedUrl * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for PluginAppletViewer.processProxyUri * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html: new reproducer checks that absolute paths and query strings in resource URLs are properly handled, and caching still works * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp: same * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java: same diffstat: ChangeLog | 23 + netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java | 44 +- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 28 +- tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java | 51 ++++- tests/netx/unit/sun/applet/PluginAppletViewerTest.java | 42 +++- tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html | 48 ++++ tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp | 53 ++++ tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java | 116 ++++++++++ 8 files changed, 371 insertions(+), 34 deletions(-) diffs (truncated from 517 to 500 lines): diff -r 11430ea879f6 -r 654630a490cb ChangeLog --- a/ChangeLog Wed Sep 25 16:32:44 2013 -0400 +++ b/ChangeLog Thu Sep 26 10:25:33 2013 -0400 @@ -1,3 +1,26 @@ +2013-09-26 Andrew Azores + + Fix for PR1204. Absolute paths in resource URLs are correctly handled when + appended to host URLs and URL query strings are not removed. + * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: + (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored + construction of URL + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: + (requestPluginProxyInfo) extracted proxy URI logic. + (processProxyUri) new method for finding proxy URIs, handles absolute + resource paths correctly + * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: + added tests for ResourceUrlCreator#getVersionedUrl + * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for + PluginAppletViewer.processProxyUri + * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html: + new reproducer checks that absolute paths and query strings in resource + URLs are properly handled, and caching still works + * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp: + same + * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java: + same + 2013-09-25 Andrew Azores * Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for diff -r 11430ea879f6 -r 654630a490cb netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java --- a/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java Wed Sep 25 16:32:44 2013 -0400 +++ b/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java Thu Sep 26 10:25:33 2013 -0400 @@ -38,6 +38,8 @@ package net.sourceforge.jnlp.cache; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.util.LinkedList; import java.util.List; @@ -89,7 +91,7 @@ } } - url = getVersionedUrlUsingQuery(resource); + url = getVersionedUrl(resource); urls.add(url); urls.add(resource.getLocation()); @@ -146,29 +148,29 @@ } /** - * Returns the URL for a resource, relying on HTTP query for getting the - * right version + * Returns the URL for a resource, including the resource's version number in the query string * * @param resource the resource to get the url for */ - protected URL getVersionedUrlUsingQuery(Resource resource) { - String actualLocation = resource.getLocation().getProtocol() + "://" - + resource.getLocation().getHost(); - if (resource.getLocation().getPort() != -1) { - actualLocation += ":" + resource.getLocation().getPort(); + protected URL getVersionedUrl(Resource resource) { + URL resourceUrl = resource.getLocation(); + try { + String query = resourceUrl.getQuery(); // returns null if there was no query string + if (resource.requestVersion != null && resource.requestVersion.isVersionId()) { + if (query == null) { + query = ""; + } else { + query += "&"; + } + query += "version-id=" + resource.requestVersion; + } + URI uri = new URI(resourceUrl.getProtocol(), resourceUrl.getUserInfo(), resourceUrl.getHost(), resourceUrl.getPort(), resourceUrl.getPath(), query, null); + return uri.toURL(); + } catch (MalformedURLException e) { + return resourceUrl; + } catch (URISyntaxException e) { + return resourceUrl; } - actualLocation += resource.getLocation().getPath(); - if (resource.requestVersion != null - && resource.requestVersion.isVersionId()) { - actualLocation += "?version-id=" + resource.requestVersion; - } - URL versionedURL; - try { - versionedURL = new URL(actualLocation); - } catch (MalformedURLException e) { - return resource.getLocation(); - } - return versionedURL; } -} \ No newline at end of file +} diff -r 11430ea879f6 -r 654630a490cb plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Sep 25 16:32:44 2013 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Sep 26 10:25:33 2013 -0400 @@ -86,6 +86,7 @@ import java.net.MalformedURLException; import java.net.SocketPermission; import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; import java.security.AccessController; @@ -1243,17 +1244,7 @@ Long reference = getRequestIdentifier(); try { - - // there is no easy way to get SOCKS proxy info. So, we tell mozilla that we want proxy for - // an HTTP uri in case of non http/ftp protocols. If we get back a SOCKS proxy, we can - // use that, if we get back an http proxy, we fallback to DIRECT connect - - String scheme = uri.getScheme(); - String port = uri.getPort() != -1 ? ":" + uri.getPort() : ""; - if (!uri.getScheme().startsWith("http") && !uri.getScheme().equals("ftp")) - scheme = "http"; - - requestURI = UrlUtil.encode(scheme + "://" + uri.getHost() + port + "/" + uri.getPath(), "UTF-8"); + requestURI = convertUriSchemeForProxyQuery(uri); } catch (Exception e) { PluginDebug.debug("Cannot construct URL from ", uri.toString(), " ... falling back to DIRECT proxy"); OutputController.getLogger().log(OutputController.Level.ERROR_ALL,e); @@ -1283,6 +1274,21 @@ return request.getObject(); } + public static String convertUriSchemeForProxyQuery(URI uri) throws URISyntaxException, UnsupportedEncodingException { + // there is no easy way to get SOCKS proxy info. So, we tell mozilla that we want proxy for + // an HTTP uri in case of non http/ftp protocols. If we get back a SOCKS proxy, we can + // use that, if we get back an http proxy, we fallback to DIRECT connect + + String scheme = uri.getScheme(); + if (!scheme.startsWith("http") && !scheme.equals("ftp")) { + scheme = "http"; + } + + URI result = new URI(scheme, uri.getUserInfo(), uri.getHost(), uri.getPort(), + uri.getPath(), uri.getQuery(), uri.getFragment()); + return UrlUtil.encode(result.toString(), "UTF-8"); + } + public static void JavaScriptFinalize(long internal) { Long reference = getRequestIdentifier(); diff -r 11430ea879f6 -r 654630a490cb tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java Wed Sep 25 16:32:44 2013 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java Thu Sep 26 10:25:33 2013 -0400 @@ -5,6 +5,7 @@ import java.net.MalformedURLException; import java.net.URL; +import net.sourceforge.jnlp.DownloadOptions; import net.sourceforge.jnlp.Version; import org.junit.Test; @@ -37,7 +38,55 @@ @Test public void testVersionAndPackEncode() throws MalformedURLException { Resource resource = Resource.getResource(new URL("http://test.jar"), new Version("1.1"), null); - URL result = ResourceUrlCreator.getUrl(resource, true /*use pack suffix*/, true/*use version suffix*/); + URL result = ResourceUrlCreator.getUrl(resource, true /*use pack suffix*/, true /*use version suffix*/); assertEquals("http://test__V1.1.jar.pack.gz", result.toString()); } + + @Test + public void testGetVersionedUrl() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://foo.com/bar.jar"), new Version("1.1"), null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, true)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://foo.com/bar.jar?version-id=1.1", result.toString()); + } + + @Test + public void testGetNonVersionIdUrl() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://foo.com/some.jar"), new Version("version two"), null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, true)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://foo.com/some.jar", result.toString()); + } + + @Test + public void testGetVersionedUrlWithQuery() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://bar.com/bar.jar?i=1234abcd"), new Version("1.1"), null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, true)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://bar.com/bar.jar?i=1234abcd&version-id=1.1", result.toString()); + } + + @Test + public void testGetVersionedUrlWithoutVersion() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://baz.com/bar.jar"), null, null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, false)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://baz.com/bar.jar", result.toString()); + } + + @Test + public void testGetVersionedUrlWithoutVersionWithQuery() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://rhat.com/bar.jar?i=1234abcd"), null, null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, false)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://rhat.com/bar.jar?i=1234abcd", result.toString()); + } + + @Test + public void testGetVersionedUrlWithLongQuery() throws MalformedURLException { + Resource resource = Resource.getResource(new URL("http://yyz.com/bar.jar?i=1234&j=abcd"), new Version("2.0"), null); + ResourceUrlCreator ruc = new ResourceUrlCreator(resource, new DownloadOptions(false, true)); + URL result = ruc.getVersionedUrl(resource); + assertEquals("http://yyz.com/bar.jar?i=1234&j=abcd&version-id=2.0", result.toString()); + } } diff -r 11430ea879f6 -r 654630a490cb tests/netx/unit/sun/applet/PluginAppletViewerTest.java --- a/tests/netx/unit/sun/applet/PluginAppletViewerTest.java Wed Sep 25 16:32:44 2013 -0400 +++ b/tests/netx/unit/sun/applet/PluginAppletViewerTest.java Thu Sep 26 10:25:33 2013 -0400 @@ -42,8 +42,11 @@ import static sun.applet.PluginPipeMockUtil.getPluginStoreId; import static sun.applet.PluginPipeMockUtil.getPluginStoreObject; +import java.net.URI; import java.util.concurrent.Callable; +import junit.framework.Assert; + import net.sourceforge.jnlp.AsyncCall; import net.sourceforge.jnlp.ServerAccess; @@ -156,6 +159,43 @@ assertEquals(expectedReturn, call.join()); } + @Test + public void testConvertUriSchemeForProxyQuery() throws Exception { + URI[] testUris = { + new URI("http", "foo.com", "/bar", null), + new URI("https", "foo.com", "/bar", null), + new URI("ftp", "foo.com", "/app/res/pub/channel.jar?i=1234", null), + new URI("socket", "foo.co.uk", "/bar/pub/ale.jar", null), + }; + + for (URI uri : testUris) { + URI result = new URI(PluginAppletViewer.convertUriSchemeForProxyQuery(uri)); + assertQueryForBrowserProxyUsesHttpFallback(uri, result); + String hierarchicalPath = result.getAuthority() + result.getPath(); + assertQueryForBrowserProxyContainsNoDoubleSlashes(hierarchicalPath); + assertQueryForBrowserProxyDoesNotChangeQuery(uri, result); + } + } + + // Test that only HTTP is used as fallback scheme if a protocol other than HTTP(S) or FTP is specified + public void assertQueryForBrowserProxyUsesHttpFallback(URI expected, URI result) { + if (expected.getScheme().equals("ftp") || expected.getScheme().startsWith("http")) { + Assert.assertEquals(expected.getScheme(), result.getScheme()); + } else { + Assert.assertEquals(result.getScheme(), "http"); + } + } + + // Test that absolute resource paths do not result in double-slashes within the URI + public void assertQueryForBrowserProxyContainsNoDoubleSlashes(String uri) { + Assert.assertFalse(uri.contains("//")); + } + + // Test that the query string of the URI is not changed + public void assertQueryForBrowserProxyDoesNotChangeQuery(URI expected, URI result) { + Assert.assertEquals(expected.getQuery(), result.getQuery()); + } + /************************************************************************** * Test utilities * **************************************************************************/ @@ -238,4 +278,4 @@ int expectedLength = 6; return parseAndCheckJSMessage(message, expectedLength, "ToString", contextObjectID); } -} \ No newline at end of file +} diff -r 11430ea879f6 -r 654630a490cb tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html Thu Sep 26 10:25:33 2013 -0400 @@ -0,0 +1,48 @@ + + + + + + + + diff -r 11430ea879f6 -r 654630a490cb tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp Thu Sep 26 10:25:33 2013 -0400 @@ -0,0 +1,53 @@ + + + + + AbsolutePathsAndQueryStrings + IcedTea + + Use relative codebase URLs to append to host names, and correctly parse query strings + + + + + + + + + diff -r 11430ea879f6 -r 654630a490cb tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java Thu Sep 26 10:25:33 2013 -0400 @@ -0,0 +1,116 @@ +/* AbsolutePathsAndQueryStrings.java +Copyright (C) 2013 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. + */ + +import java.io.File; +import java.net.URL; +import net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ServerAccess.AutoClose; +import net.sourceforge.jnlp.annotations.Bug; +import net.sourceforge.jnlp.annotations.KnownToFail; +import net.sourceforge.jnlp.annotations.NeedsDisplay; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; +import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.cache.CacheUtil; +import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.config.DeploymentConfiguration; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.AfterClass; + +public class AbsolutePathsAndQueryStrings extends BrowserTest { + + private static final String appletCloseString = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + + @Bug(id="PR1204") + @NeedsDisplay + @Test + @TestInBrowsers(testIn={Browsers.one}) + public void testAbsolutePathAndQueryStringBrowser() throws Exception { + /* HTML specifies absolute path and path params, ensure that this is able to launch correctly */ + ProcessResult pr = server.executeBrowser("/AbsolutePathsAndQueryStrings.html", AutoClose.CLOSE_ON_BOTH); + Assert.assertTrue("stdout should contain " + appletCloseString + " but did not", pr.stdout.contains(appletCloseString)); + } + + @Bug(id="PR1204") + @NeedsDisplay + @Test + public void testAbsolutePathAndQueryStringWebstart() throws Exception { + /* JNLP specifies absolute path and path params, ensure that this is able to launch correctly */ + ProcessResult pr = server.executeJavawsHeadless("/AbsolutePathsAndQueryStrings.jnlp"); + Assert.assertTrue("stdout should contain \"running\"but did not", pr.stdout.contains("running")); + } + + @Bug(id="PR1204") + @Test + public void testCaching() throws Exception { + /* Test that caching ignores path parameters and double-slash issue from absolute codebase paths + */ + URL plainLocation = new URL("http://localhost:1234/StripHttpPathParams.jar"); + URL paramLocation = new URL("http://localhost:1234/StripHttpPathParams.jar?i=abcd"); + URL absoluteLocation = new URL("http://localhost:1234//StripHttpPathParams.jar"); + URL absoluteParamLocation = new URL("http://localhost:1234//StripHttpPathParams.jar?i=abcd"); + + DeploymentConfiguration config = JNLPRuntime.getConfiguration(); + config.load(); + String cacheLocation = config.getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR) + File.separator; + File cacheDir = new File(cacheLocation); + Assert.assertTrue(cacheDir.isDirectory()); + + boolean hasCachedCopy = false; + for (File cache : cacheDir.listFiles()) { + File[] cacheFiles = new File[] { From bugzilla-daemon at icedtea.classpath.org Thu Sep 26 07:26:37 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 26 Sep 2013 14:26:37 +0000 Subject: [Bug 1204] Archive URL wrongly resolved In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1204 --- Comment #9 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=654630a490cb author: Andrew Azores date: Thu Sep 26 10:25:33 2013 -0400 Fix for PR1204, handling of query strings and absolute paths. Absolute paths in resource URLs are correctly handled when appended to host URLs and URL query strings are not removed. * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored construction of URL * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) new method for finding proxy URIs, handles absolute resource paths correctly * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: added tests for ResourceUrlCreator#getVersionedUrl * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for PluginAppletViewer.processProxyUri * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html: new reproducer checks that absolute paths and query strings in resource URLs are properly handled, and caching still works * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp: same * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java: same -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130926/bc688e84/attachment.html From aazores at redhat.com Thu Sep 26 08:45:52 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 26 Sep 2013 11:45:52 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52381094.10300@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> <52372111.8030200@redhat.com> <52374085.5080901@redhat.com> <52381094.10300@redhat.com> Message-ID: <524456B0.1020007@redhat.com> On 09/17/2013 04:19 AM, Jiri Vanek wrote: > On 09/16/2013 07:31 PM, Andrew Azores wrote: >> On 09/16/2013 11:17 AM, Jiri Vanek wrote: >>> On 09/16/2013 05:09 PM, Andrew Azores wrote: >>>> On 09/16/2013 10:05 AM, Jiri Vanek wrote: >>>>> (snip) >>>>> >>>>> I think you can post another verison (maybe final...) of patch >>>>> >>>>> >>>> >>>> Attached. It's the same as last time but with some comments added. >>>> >>>> Thanks, >>>> >>> >>> >>> Ugh. I would say even more javadoc needed. You should include >>> similar statements in javadoc which you are suing to persuade Omair >>> and Me that your synchronisation is correct. >>> >>> The only reason for this is that sometime in future one may >>> accidentaly revoke your patch in favour of more simple (as before) >>> synchronisation. And so easily return back to RH976833 >>> >>> Sorry for troubeling >>> J. >> >> Is this enough? >> >> Thanks, >> > > I'm happy with it as it is. Please confirm push with Omair. > > J. Anything in particular you think the unit tests should be doing, Omair? I still haven't been able to recreate the exact deadlock conditions in an offline reproducer. I do think that a regression test against this is important but I'm a bit stumped on how to produce one. Thanks, -- Andrew A From omajid at redhat.com Thu Sep 26 11:07:49 2013 From: omajid at redhat.com (Omair Majid) Date: Thu, 26 Sep 2013 14:07:49 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <5243E186.7080803@redhat.com> References: <522F7EDF.5070407@redhat.com> <522F8E13.9070903@redhat.com> <373357671.13028161.1378916961814.JavaMail.root@redhat.com> <523196F9.40704@redhat.com> <5231F561.50003@redhat.com> <52331EB1.1030101@redhat.com> <5233543D.4050603@redhat.com> <52370C9B.1050605@redhat.com> <524060EA.1060408@redhat.com> <52406666.8020002@redhat.com> <524134A5.2040605@redhat.com> <5241A22B.2040503@redhat.com> <5241C7EF.6090900@redhat.com> <52420AB4.3050100@redhat.com> <524314EA.60907@redhat.com> <524318D0.8040406@redhat.com> <5243E186.7080803@redhat.com> Message-ID: <524477F5.7000609@redhat.com> Hi Jiri, On 09/26/2013 03:25 AM, Jiri Vanek wrote: > On 09/25/2013 07:09 PM, Omair Majid wrote: >> On 09/25/2013 12:52 PM, Jiri Vanek wrote: >>> good tests :) Especially I was happy teh paralel logger test passed >>> always :) >> >> I thought the code review policy was that all code must be reviewed? Are >> unit tests exempt from this? >> > > Definitely not. Sorry for rush. One of the advantages of writing unit tests is that it forces you to reduce coupling. I was hoping that the design of OutputController will be improved if you wrote tests first. > Do you mind to eyeball? Lots of comments below. You don't have to address them all, but please use this opportunity to learn more about unit tests. > http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l117.1 > http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l116.1 > http://icedtea.classpath.org/hg/icedtea-web/rev/a817bb6d12a6#l115.1 I think a lot of these tests are more complex than necessary and are doing too much. There are lots of resources that cover what a good unit test consists of [1][2] and what makes a bad unit test [3][4]. Generally, unit tests should test one unit (not a system) at a time. They should not interact with the resources like file system (maybe the unit test for a class solely logging to a file is an exception), or threading. I see a few specific cases that I think can be made much better. > @Test > public void isAppendingLoggerLoggingOnNotExisitngFile() throws Exception { > int i = 0; > FileLog l = new FileLog(loggingTargets[i].getAbsolutePath(), true); > l.log(line1); > String s = StreamUtils.readStreamAsString(new FileInputStream(loggingTargets[i]), true); > Assert.assertTrue(r1.evaluate(s)); > } This might be much easier to read if it were written as: @Test public void testThatLoggerCanAppendToNonExistingFile() { String LINE = "whatever this is"; File target = new File("file name"); deleteFileIfExists(target); FileLog log = new FileLog(target, /* append = */ true); log.log(LINE); String s = StreamUtils.readStreamAsString( new FileInputStream(target), true); assertEquals(LINE, s); } What i is doing is not obvious in the first case, but more obvious in the second. Is this value of i even reused in any other test? I am really surprised by the RulesFolowingClosingListener. If you need matchers, why not use the standard junit/hamcrest matches or even introduce new ones conforming to the standard interface? Personally, I prefer exact strings, though. That way, if you accidentally add more contents to a string, the unit tests will still detect them. I am rather sad to see OutputControllerTest. Pretty much all the tests are trying to do too much. The tests are showing that LogConfig is too tightly coupled with OutputController (which is not obvious from the class interface - it's through a global singleton). The first question that comes to me is why "log" configuration related to OutputController. LogConfig should be renamed to something more accurate. There should also be a OutputControllerFactory (or similar) class that uses the config to create a OutputController. An OutputController should be injectable with as many logger implementations (syslog, file, std stream) so the behaviour of each logger implementation can be tested separately from the behaviour of OutputController. Some of the logic should be part of a separate test. For example, isLoggingStdStreams needs to be split into a test for OutputControllerTest and a test for PrintStreamLogger. The test in OutputControllerTest should inject a fake PrintStreamLogger and just check that it's called correctly. The test for PrintStreamLogger should check that the actual string matches. The parallel thread test is (to me) really asking for the threading implementation of OutputController to be split out. If you can split out the queue so it has no interaction with thread-related APIs, you can test the queue implementation without any threading at all. Please also add tests for other new functionality such as DebugPanel. Thanks, Omair [1] http://stackoverflow.com/questions/61400/what-makes-a-good-unit-test [2] http://esj.com/Articles/2012/09/24/Better-Unit-Testing.aspx [3] http://stackoverflow.com/questions/3913912/what-are-bad-attributes-in-unit-tests [4] http://howtodoinjava.com/2013/06/10/8-signs-of-bad-unit-test-cases/ -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Thu Sep 26 11:58:45 2013 From: aazores at redhat.com (Andrew Azores) Date: Thu, 26 Sep 2013 14:58:45 -0400 Subject: [rfc][icedtea-web] DeploymentPropertiesAreExposed reproducer fix In-Reply-To: <5243E056.3060309@redhat.com> References: <52337051.6020306@redhat.com> <52337204.3000505@redhat.com> <52370F60.4060908@redhat.com> <523741DB.30309@redhat.com> <5237A1B8.7050908@gmx.de> <52387089.7000703@redhat.com> <523AD1F7.10609@gmx.de> <523B1288.2030408@redhat.com> <523BF6F0.1090906@redhat.com> <52433C3E.5060701@redhat.com> <5243E056.3060309@redhat.com> Message-ID: <524483E5.2080709@redhat.com> On 09/26/2013 03:20 AM, Jiri Vanek wrote: > On 09/25/2013 09:40 PM, Andrew Azores wrote: >> On 09/20/2013 03:19 AM, Jiri Vanek wrote: >>> ok, discussion have been taken :)) >>> >>> now whats about original patch? >>> >>> >>> >>> Changelog: >>> * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CONFIG_HOME) >>> made public >>> * >>> tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: >>> >>> fixed log dir location >>> >>> >>> Another casualty of the XDG spec change ;) >>> >>> Thanks, >>> >> >> I don't know enough to comment further on what the three of you have >> already discussed in this >> thread. I am convinced that there should be a better method for >> getting access to those Defaults >> values than simply making them public, but I can't say I know what to >> actually do instead in order >> to keep everything secure and not leak information. In any case this >> reproducer being broken in the >> meantime, until that better system is determined, is not an urgent >> issue IMO. Perhaps it should just >> be put off for now. >> >> Thanks, >> > I'm for making it public. The field should be well protected in netx. > > > J. Actually, since the test is about checking that the DeploymentConfiguration data is available through System.getProperty()... is there any reason I can't just "abuse" the DeploymentConfiguration singleton from JNLPRuntime again? Should work just fine, I think still captures the "spirit" of this test, and also means we can leave that constant in Defaults as default visibility. Thanks, -- Andrew A From ptisnovs at icedtea.classpath.org Fri Sep 27 00:42:10 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 27 Sep 2013 07:42:10 +0000 Subject: /hg/rhino-tests: Updated one test case in ScriptExceptionClassTest. Message-ID: changeset 1bdd275b1a8d in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=1bdd275b1a8d author: Pavel Tisnovsky date: Fri Sep 27 09:45:37 2013 +0200 Updated one test case in ScriptExceptionClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptExceptionClassTest.java | 64 ++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 0 deletions(-) diffs (93 lines): diff -r a69643cea0a5 -r 1bdd275b1a8d ChangeLog --- a/ChangeLog Thu Sep 26 09:54:36 2013 +0200 +++ b/ChangeLog Fri Sep 27 09:45:37 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-27 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Updated one test case in ScriptExceptionClassTest. + 2013-09-26 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineClassTest.java: diff -r a69643cea0a5 -r 1bdd275b1a8d src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Thu Sep 26 09:54:36 2013 +0200 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Fri Sep 27 09:45:37 2013 +0200 @@ -1366,6 +1366,30 @@ } try { + this.scriptExceptionClass.asSubclass(java.lang.String.class); + throw new AssertionError("Class.asSubclass(java.lang.String.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.StringBuffer.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuffer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.lang.StringBuilder.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuilder.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1381,6 +1405,46 @@ // expected exception } + try { + this.scriptExceptionClass.asSubclass(java.awt.Image.class); + throw new AssertionError("Class.asSubclass(java.awt.Image.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(javax.swing.JPanel.class); + throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(javax.swing.JColorChooser.class); + throw new AssertionError("Class.asSubclass(javax.swing.JColorChooser.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(javax.swing.JScrollBar.class); + throw new AssertionError("Class.asSubclass(javax.swing.JScrollBar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(javax.swing.JSlider.class); + throw new AssertionError("Class.asSubclass(javax.swing.JSlider.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + } /** From ptisnovs at icedtea.classpath.org Fri Sep 27 00:46:00 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 27 Sep 2013 07:46:00 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltBasicTests test suite. Message-ID: changeset d356d7642cf0 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d356d7642cf0 author: Pavel Tisnovsky date: Fri Sep 27 09:49:43 2013 +0200 Ten new tests added into BitBltBasicTests test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 152 +++++++++++++++++++++++ 2 files changed, 157 insertions(+), 0 deletions(-) diffs (174 lines): diff -r 73c2137c4180 -r d356d7642cf0 ChangeLog --- a/ChangeLog Thu Sep 26 09:47:47 2013 +0200 +++ b/ChangeLog Fri Sep 27 09:49:43 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-27 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Ten new tests added into BitBltBasicTests test suite. + 2013-09-26 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r 73c2137c4180 -r d356d7642cf0 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Thu Sep 26 09:47:47 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Fri Sep 27 09:49:43 2013 +0200 @@ -6126,6 +6126,158 @@ } /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture4BufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture4Image(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image + * with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for texture RGB pattern #1 buffered image with type TYPE_INT_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltRGBTexture5BufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithRGBTexture5Image(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** * Entry point to the test suite. * * @param args not used in this case From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 06:26:52 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 13:26:52 +0000 Subject: [Bug 1204] Archive URL wrongly resolved In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1204 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/2bb12e5a/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 06:27:37 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 13:27:37 +0000 Subject: [Bug 1395] Bug javaws.itweb / icedtea with JNLP In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1395 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/7bef6d89/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:13:35 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:13:35 +0000 Subject: [Bug 1536] [IcedTea7] Allow use of system Kerberos to obtain cache location In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1536 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #2 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2013/09/23/icedtea-2-4-2-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/25001cea/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:15:26 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:15:26 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/68031882/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:15:40 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:15:40 +0000 Subject: [Bug 1552] [IcedTea7] Add -D_LITTLE_ENDIAN for ARM architectures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1552 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2013/09/23/icedtea-2-4-2-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/919f9955/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:15:59 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:15:59 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #5 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2013/09/23/icedtea-2-4-2-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/75466913/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:16:07 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:16:07 +0000 Subject: [Bug 1554] [IcedTea7] Fix build on Mac OS X In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1554 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2013/09/23/icedtea-2-4-2-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/2aae65c8/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Sep 27 08:17:00 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Sep 2013 15:17:00 +0000 Subject: [Bug 1551] [IcedTea7] Add build support for Zero AArch64 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1551 --- Comment #8 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2013/09/23/icedtea-2-4-2-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/5fd3f73f/attachment.html From omajid at redhat.com Fri Sep 27 09:42:25 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 27 Sep 2013 12:42:25 -0400 Subject: [rfc][icedtea-web] RH976833 ClassLoader deadlock In-Reply-To: <52374085.5080901@redhat.com> References: <520D35CA.9070208@redhat.com> <52286E1C.8030604@redhat.com> <52288F54.1000907@redhat.com> <5229A989.2060203@redhat.com> <5229F796.4070708@redhat.com> <5229FB6D.2070301@redhat.com> <5237102D.4070207@redhat.com> <52371F34.9050207@redhat.com> <52372111.8030200@redhat.com> <52374085.5080901@redhat.com> Message-ID: <5245B571.6030106@redhat.com> On 09/16/2013 01:31 PM, Andrew Azores wrote: > On 09/16/2013 11:17 AM, Jiri Vanek wrote: >> On 09/16/2013 05:09 PM, Andrew Azores wrote: >>> On 09/16/2013 10:05 AM, Jiri Vanek wrote: >>>> (snip) >>>> >>>> I think you can post another verison (maybe final...) of patch >>>> >>>> >>> >>> Attached. It's the same as last time but with some comments added. >>> >>> Thanks, >>> >> >> >> Ugh. I would say even more javadoc needed. You should include similar >> statements in javadoc which you are suing to persuade Omair and Me >> that your synchronisation is correct. >> >> The only reason for this is that sometime in future one may >> accidentaly revoke your patch in favour of more simple (as before) >> synchronisation. And so easily return back to RH976833 >> >> Sorry for troubeling >> J. > > Is this enough? I am a little afraid of patches that fix concurrency, because it's easy to miss subtle issues (both when writing the fix and when reviewing it). I also tend to prefer coarse-grained synchronization over fine grained; I think it's easier to get things right using higher level primitives than low level primitives like 'synchronized'. Perhaps it would be nice if the javadocs on the variables were to state which lock should be used to guard each object? There's lots of repeated comments like 'Synchronized because this field ....'. Maybe it would be better to make a class-level javadoc comment like 'This class is used by multiple threads and must be thread safe'? I am not a fan of 'see method X and Y' comments if it's just a pointer to methods that are using the variable because: - thanks to refactoring, the comments can become stale - a search will be more effective On the other hand, if there are any subtle issues, then the 'see X and Y' comment might be very nice to have. Also, can you make the variables 'final' to ensure that the object is always the same? > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -165,26 +165,41 @@ > /** Permissions granted by the user during runtime. */ > private ArrayList runtimePermissions = new ArrayList(); Doesn't this need to be thread safe too? > + * Locking on the JNLPClassLoader instance when this method is called > + * can result in deadlock if another thread is dealing with the CodeBaseClassLoader > + * at the same time. Actually, I don't follow this. Two different threads will enter the JNLPClassLoader.loadClass() method, one through CodeBaseClassLoader and one through JNLPClassLoader. Shouldn't one thread block and another continue? What causes the deadlock? > + This solution is very heavy-handed as the instance lock is not > + * truly required, and taking the lock on the classloader instance when not needed is > + * not in general a good idea because it can and will lead to deadlock when multithreaded > + * classloading is in effect. This problem could also be avoided by using a construct > + * like a ReentrantLock to restrict one thread to calling this method at a time, > + * so that the affected fields are still not shared data, but the calling thread also > + * does not take the instance lock. As far as I know, synchronized is more-or-less a ReentrantLock. Leaving aside the monitor semantics, it is re-entrant (unlike posix mutexes). The 'lock' associated with a synchronized block is held at a thread level and allows the same thread to acquire it more than once. > * However, this is more of a hack and work-around > + * than simply ensuring that the fields are kept thread safe on their own. This is > + * accomplished by wrapping them in Collections.synchronized{List,Set,etc.} to provide > + * atomic add/remove operations, and synchronizing on them when iterating or performing > + * multiple mutations. > + * > + * See bug report RH976833. On some systems the bug will manifest itself as deadlock on > + * every webpage with more than one Java applet, potentially also causing the browser > + * process to hang. > + * More information in the mailing list archives: > + * http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-September/024536.html If you know the condition that triggers a deadlock, can you write a unit test to simulate it? A quick-and-dirty approach would be to spawn off two threads, use a Latch to hold off on actually running code in both of them, then release the latch to let them both run and invoke the code path that causes them to deadlock. But then again, this is one of those cases where I feel more comfortable with a good design (and JNLPClassLoader is the opposite of that) rather than lots of unit tests. > + * Affected fields: available, classpaths, jarIndexes, jarEntries, jarLocationSecurityMap What about other fields in the class. Are they thread-safe? > private void addNewJar(final JARDesc desc, UpdatePolicy updatePolicy) { There is a dependency between 'available' in this method and 'available' in addNextResource. If I am reading it correctly, it's possible for the same jar to be downloaded more than once. > + // not synchronized on since this field is wrapped in Collections.synchronizedList > + // and so provides atomic add/remove already. Adding an element to a list that > + // already contains the element does nothing. So synchronization is not needed. I am a little confused what you mean here. Adding the same element to a list twice will result in two of those elements being in the list. > available.add(desc); Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Fri Sep 27 16:32:39 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 27 Sep 2013 19:32:39 -0400 Subject: [icedtea-web] RFC: Unit tests for BrowserAwareProxySelector In-Reply-To: <5241DDEF.2080409@redhat.com> References: <5241DDEF.2080409@redhat.com> Message-ID: <52461597.8050703@redhat.com> On 09/24/2013 02:46 PM, Omair Majid wrote: > Hi, > > The attached patch adds unit tests for BrowserAwareProxySelector and > makes minor changes to make testing it easier. > > It also removes duplicate logic of selecting a host and port depending > on the protocol into JNLPProxySelector.getFromArguments. The semantics > of 'sameProxy' are different between BrowserAwareProxySelector and > JNLPProxy selector; the socks proxy is included in firefox [1]. > Ping. Can anyone review this? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Fri Sep 27 16:52:59 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 27 Sep 2013 19:52:59 -0400 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <522F7EDF.5070407@redhat.com> References: <522F7EDF.5070407@redhat.com> Message-ID: <52461A5B.8070800@redhat.com> On 09/10/2013 04:19 PM, Jiri Vanek wrote: > This patch is introducing bottleneck for all stdout/err and > printstacktrace. Do you have any plans to replace PluginDebug as well? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Fri Sep 27 19:10:26 2013 From: omajid at redhat.com (Omair Majid) Date: Fri, 27 Sep 2013 22:10:26 -0400 Subject: [icedtea-web] RFC: Add unit tests for PluginProxySelector Message-ID: <52463A92.9090208@redhat.com> Hi, The attached patch adds unit tests for PluginProxySelector. There are no functional changes to PluginProxySelector itself; I have marked suspicious behaviour with a FIXME or TODO. Okay to push? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- A non-text attachment was scrubbed... Name: plugin-proxy-selector-tests-01.patch Type: text/x-patch Size: 8962 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130927/dbed0aa3/plugin-proxy-selector-tests-01.patch From jvanek at redhat.com Sat Sep 28 08:13:34 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Sat, 28 Sep 2013 17:13:34 +0200 Subject: [rfc][icedtea-web] refactored logging In-Reply-To: <52461A5B.8070800@redhat.com> References: <522F7EDF.5070407@redhat.com> <52461A5B.8070800@redhat.com> Message-ID: <5246F21E.7070702@redhat.com> On 09/28/2013 01:52 AM, Omair Majid wrote: > On 09/10/2013 04:19 PM, Jiri Vanek wrote: >> This patch is introducing bottleneck for all stdout/err and >> printstacktrace. > > Do you have any plans to replace PluginDebug as well? In applet java-part of plugin? Yes, for sure. Thanx for reminder. Also in c part a bit later. J. From bugzilla-daemon at icedtea.classpath.org Sat Sep 28 10:08:21 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 28 Sep 2013 17:08:21 +0000 Subject: [Bug 1570] New: Applet fails to load , permission denied Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1570 Bug ID: 1570 Summary: Applet fails to load , permission denied Classification: Unclassified Product: IcedTea Version: 7-1.0 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: adpengelly at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 944 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=944&action=edit plugin.log I am trying to access a remote desktop but the applet fails to initialize. It used to work under IcedTea 1.3 but since upgrading to 1.4 I have not been unable to access the remote desktop. In one other similar bug it was suggested that running: sudo restorecon -R -v /home/username/.icedtea might fix the problem, but it didn't. I have attached a plugin.log. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130928/9b9709ec/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Sep 29 03:06:59 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 29 Sep 2013 10:06:59 +0000 Subject: [Bug 1147] wrongly assume DNS available even behind a proxy In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1147 --- Comment #2 from Jerome Robert --- > update the jnlp and jars from it's original source. Do you mean update the .icedtea/cache directory ? > skips DNS resolution but still uses the most-up-to-date version of the > jars from the original location I do not understand why my patch would disable the update of the jars. My understanding was that updating or not updating was decided by the JNLPClassLoader and CachedJarFileCallback classes. Do you mean that if there is no the application should not be ran even if it's available in the cache directory ? If yes, do you agree that this behaviour should be implemented in JNLPClassLoader and not in Launcher ? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130929/28a29215/attachment.html From andrew at icedtea.classpath.org Sun Sep 29 14:55:32 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 29 Sep 2013 21:55:32 +0000 Subject: /hg/release/icedtea7-forest-2.3/hotspot: Fix merge differences Message-ID: changeset 4b04ad70d347 in /hg/release/icedtea7-forest-2.3/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=4b04ad70d347 author: andrew date: Fri Sep 27 20:43:52 2013 +0100 Fix merge differences diffstat: src/share/vm/classfile/systemDictionary.cpp | 1 + src/share/vm/opto/cfgnode.cpp | 2 -- src/share/vm/opto/type.cpp | 2 -- 3 files changed, 1 insertions(+), 4 deletions(-) diffs (35 lines): diff -r 38f1b987027f -r 4b04ad70d347 src/share/vm/classfile/systemDictionary.cpp --- a/src/share/vm/classfile/systemDictionary.cpp Fri Aug 09 12:21:36 2013 +0100 +++ b/src/share/vm/classfile/systemDictionary.cpp Fri Sep 27 20:43:52 2013 +0100 @@ -2252,6 +2252,7 @@ // Better never do a GC while we're holding these oops No_Safepoint_Verifier nosafepoint; + klassOop klass1 = find_class(d_index1, d_hash1, constraint_name, class_loader1); klassOop klass2 = find_class(d_index2, d_hash2, constraint_name, class_loader2); return constraints()->add_entry(constraint_name, klass1, class_loader1, diff -r 38f1b987027f -r 4b04ad70d347 src/share/vm/opto/cfgnode.cpp --- a/src/share/vm/opto/cfgnode.cpp Fri Aug 09 12:21:36 2013 +0100 +++ b/src/share/vm/opto/cfgnode.cpp Fri Sep 27 20:43:52 2013 +0100 @@ -941,8 +941,6 @@ { assert(ft == _type, ""); } // Uplift to interface else if( !t->empty() && ttkp && ttkp->is_loaded() && ttkp->klass()->is_interface() ) { assert(ft == _type, ""); } // Uplift to interface - else if( !t->empty() && ttkp && ttkp->is_loaded() && ttkp->klass()->is_interface() ) - { assert(ft == _type, ""); } // Uplift to interface // Otherwise it's something stupid like non-overlapping int ranges // found on dying counted loops. else diff -r 38f1b987027f -r 4b04ad70d347 src/share/vm/opto/type.cpp --- a/src/share/vm/opto/type.cpp Fri Aug 09 12:21:36 2013 +0100 +++ b/src/share/vm/opto/type.cpp Fri Sep 27 20:43:52 2013 +0100 @@ -2577,8 +2577,6 @@ return kills; // Uplift to interface if (!empty() && ktkp != NULL && ktkp->klass()->is_loaded() && ktkp->klass()->is_interface()) return kills; // Uplift to interface - if (!empty() && ktkp != NULL && ktkp->klass()->is_loaded() && ktkp->klass()->is_interface()) - return kills; // Uplift to interface return Type::TOP; // Canonical empty value } From andrew at icedtea.classpath.org Sun Sep 29 14:55:42 2013 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 29 Sep 2013 21:55:42 +0000 Subject: /hg/release/icedtea7-forest-2.3/jdk: RH991170: Handle alternativ... Message-ID: changeset ba0446e8ac19 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=ba0446e8ac19 author: ebaron date: Fri Sep 27 20:53:43 2013 +0100 RH991170: Handle alternative Kerberos credential cache locations diffstat: make/sun/security/Makefile | 9 +- make/sun/security/krb5/internal/ccache/Makefile | 48 ++++ src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java | 72 ++++- src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c | 111 ++++++++++ 4 files changed, 221 insertions(+), 19 deletions(-) diffs (324 lines): diff -r dbf9b854ae55 -r ba0446e8ac19 make/sun/security/Makefile --- a/make/sun/security/Makefile Fri Jul 12 10:56:49 2013 +0400 +++ b/make/sun/security/Makefile Fri Sep 27 20:53:43 2013 +0100 @@ -1,5 +1,6 @@ # # Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013 Red Hat, Inc. and/or its affiliates. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -52,6 +53,12 @@ endif endif +# Build krb5/internal/ccache only on Linux and Solaris platforms. +KRB5_CCACHE = +ifeq ($(PLATFORM), $(filter $(PLATFORM),linux solaris)) + KRB5_CCACHE = krb5/internal/ccache +endif + # Build Microsoft CryptoAPI provider only on Windows platform. MSCAPI = ifeq ($(PLATFORM), windows) @@ -65,7 +72,7 @@ INTREE_EC = endif -SUBDIRS = $(INTREE_EC) other action util krb5 +SUBDIRS = $(INTREE_EC) other action util krb5 $(KRB5_CCACHE) SUBDIRS_misc = jgss $(PKCS11) $(JGSS_WRAPPER) $(MSCAPI) smartcardio SUBDIRS_tools = tools include $(BUILDDIR)/common/Subdirs.gmk diff -r dbf9b854ae55 -r ba0446e8ac19 make/sun/security/krb5/internal/ccache/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/security/krb5/internal/ccache/Makefile Fri Sep 27 20:53:43 2013 +0100 @@ -0,0 +1,48 @@ +# +# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013 Red Hat, Inc. and/or its affiliates. +# 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. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +BUILDDIR = ../../../../.. +PACKAGE = sun.security.krb5.internal.ccache +PRODUCT = sun +include $(BUILDDIR)/common/Defs.gmk + +# +# Java Files +# +AUTO_FILES_JAVA_DIRS = sun/security/krb5/internal/ccache + +ifeq ($(PLATFORM), $(filter $(PLATFORM),linux solaris)) +FILES_export = sun/security/krb5/internal/ccache/FileCredentialsCache.java +FILES_c = krb5ccache.c +LIBRARY = j2krb5 + +vpath %.c \ + $(PLATFORM_SRC)/native/sun/security/krb5/internal/ccache + +include $(BUILDDIR)/common/Library.gmk + +OTHER_LDLIBS = $(LIBDL) $(JVMLIB) -lkrb5 +endif # PLATFORM diff -r dbf9b854ae55 -r ba0446e8ac19 src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java --- a/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Fri Jul 12 10:56:49 2013 +0400 +++ b/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Fri Sep 27 20:53:43 2013 +0100 @@ -1,5 +1,6 @@ /* * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013 Red Hat, Inc. and/or its affiliates. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,7 +44,6 @@ import java.io.FileOutputStream; import java.io.BufferedReader; import java.io.InputStreamReader; -import java.lang.reflect.*; /** * CredentialsCache stores credentials(tickets, session keys, etc) in a @@ -63,6 +63,8 @@ private Vector credentialsList; private static String dir; private static boolean DEBUG = Krb5.DEBUG; + private static boolean alreadyLoaded = false; + private static boolean alreadyTried = false; public static synchronized FileCredentialsCache acquireInstance( PrincipalName principal, String cache) { @@ -357,7 +359,7 @@ * The path name is searched in the following order: * * 1. KRB5CCNAME - * 2. /tmp/krb5cc_ on unix systems + * 2. location specified by Kerberos API on unix systems * 3. /krb5cc_ * 4. /krb5cc (if can't get ) */ @@ -398,26 +400,46 @@ */ if (osname != null) { - String cmd = null; - String uidStr = null; - long uid = 0; - if (osname.startsWith("SunOS") || (osname.startsWith("Linux"))) { try { - Class c = Class.forName - ("com.sun.security.auth.module.UnixSystem"); - Constructor constructor = c.getConstructor(); - Object obj = constructor.newInstance(); - Method method = c.getMethod("getUid"); - uid = ((Long)method.invoke(obj)).longValue(); - name = File.separator + "tmp" + - File.separator + stdCacheNameComponent + "_" + uid; - if (DEBUG) { - System.out.println(">>>KinitOptions cache name is " + - name); + // Load the native code if necessary + if (!alreadyTried) { + // See if there's any native code to load + try { + ensureLoaded(); + } catch (Exception e) { + if (DEBUG) { + System.out.println("Could not load native Kerberos bridge"); + e.printStackTrace(); + } + alreadyTried = true; + } } - return name; + if (alreadyLoaded) { + // There is some native code + if (DEBUG) { + System.out.println(">> Look up native default credential cache"); + } + // Query the native Kerberos API for the cache location + name = nativeGetDefaultCacheName(); + } + + /* + * We require the default cache location to be a file name. + * DIR: can point to a cache collection, while DIR:: points + * to a specific cache file. + * + * http://k5wiki.kerberos.org/wiki?title=Projects/Client_principal_selection&oldid=4118 + */ + if (name.startsWith("FILE:") || name.startsWith("DIR::")) { + name = name.substring(5); + if (DEBUG) { + System.out.println(">>>KinitOptions cache name is " + + name); + } + return name; + } } catch (Exception e) { if (DEBUG) { System.out.println("Exception in obtaining uid " + @@ -461,6 +483,8 @@ return name; } + + private native static String nativeGetDefaultCacheName() throws Exception; public static String checkValidation(String name) { String fullname = null; @@ -542,4 +566,16 @@ } return null; } + + private static void ensureLoaded() { + java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction () { + public Void run() { + System.loadLibrary("j2krb5"); + return null; + } + }); + alreadyLoaded = true; + } + } diff -r dbf9b854ae55 -r ba0446e8ac19 src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c Fri Sep 27 20:53:43 2013 +0100 @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2013 Red Hat Inc. and/or its affiliates. + * 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#define _GNU_SOURCE + +#include +#include +#include + +#include "sun_security_krb5_internal_ccache_FileCredentialsCache.h" + +static void handle_error(JNIEnv *env, krb5_context context, krb5_error_code err, const char *func_name); +static jint throw_Exception(JNIEnv *env, const char *class_name, const char *message); + +/* + * Class: sun_security_krb5_internal_ccache_FileCredentialsCache + * Method: nativeGetDefaultCacheName + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_sun_security_krb5_internal_ccache_FileCredentialsCache_nativeGetDefaultCacheName +(JNIEnv *env, jclass krbcredsClass) +{ + krb5_context context; + krb5_error_code err; + krb5_ccache cache; + const char *cc_type, *cc_name; + char *cc_full_name; + jstring result; + + /* Need a krb5_context to proceed further */ + err = krb5_init_context(&context); + if (err) { + handle_error(env, context, err, "krb5_init_context"); + return NULL; + } + + /* Get the default credential cache. + * We intentionally do not use krb5_cc_default_name because when the cache + * is a collection, krb5_cc_default_name returns the collection directory. + * By using krb5_cc_default and then krb5_cc_get_name, we get the primary + * cache file within the collection. */ + err = krb5_cc_default(context, &cache); + if (err) { + handle_error(env, context, err, "krb5_cc_default"); + krb5_free_context(context); + return NULL; + } + + /* Get the type and name of the default cache and construct a string + * of the form 'type:name'. */ + cc_type = krb5_cc_get_type(context, cache); + cc_name = krb5_cc_get_name(context, cache); + if (asprintf(&cc_full_name, "%s:%s", cc_type, cc_name) < 0) { + throw_Exception(env, "java/lang/OutOfMemoryError", "Unable to construct credential cache string"); + krb5_free_context(context); + return NULL; + } + + result = (*env)->NewStringUTF(env, cc_full_name); + + free(cc_full_name); + krb5_free_context(context); + return result; +} + +static void handle_error(JNIEnv *env, krb5_context context, krb5_error_code err, const char *func_name) { + const char *err_msg; + char *result; + + err_msg = krb5_get_error_message(context, err); + if (asprintf(&result, "%s: %s", func_name, err_msg) < 0) { + throw_Exception(env, "java/lang/OutOfMemoryError", "Unable to construct error message"); + return; + } + throw_Exception(env, "java/lang/Exception", result); + + free(result); + krb5_free_error_message(context, err_msg); +} + +static jint throw_Exception(JNIEnv *env, const char *class_name, const char *message) { + jclass class; + + class = (*env)->FindClass(env, class_name); + if (class == NULL) { + return -1; + } + return (*env)->ThrowNew(env, class, message); +} From ptisnovs at icedtea.classpath.org Sun Sep 29 23:48:36 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 30 Sep 2013 06:48:36 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 4702a3a2f69e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=4702a3a2f69e author: Pavel Tisnovsky date: Mon Sep 30 08:52:23 2013 +0200 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r d356d7642cf0 -r 4702a3a2f69e ChangeLog --- a/ChangeLog Fri Sep 27 09:49:43 2013 +0200 +++ b/ChangeLog Mon Sep 30 08:52:23 2013 +0200 @@ -1,3 +1,8 @@ +2013-09-30 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2013-09-27 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r d356d7642cf0 -r 4702a3a2f69e src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Sep 27 09:49:43 2013 +0200 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Sep 30 08:52:23 2013 +0200 @@ -3902,6 +3902,156 @@ } /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeByteIndexedBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltCheckerBufferedImageTypeUshort555RGBBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.yellow); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Sun Sep 29 23:51:43 2013 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 30 Sep 2013 06:51:43 +0000 Subject: /hg/rhino-tests: Added new test testAsSubclass into the test suite Message-ID: changeset 8055f8294f0e in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=8055f8294f0e author: Pavel Tisnovsky date: Mon Sep 30 08:55:31 2013 +0200 Added new test testAsSubclass into the test suite ScriptEngineClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/ScriptEngineClassTest.java | 158 ++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 0 deletions(-) diffs (181 lines): diff -r 1bdd275b1a8d -r 8055f8294f0e ChangeLog --- a/ChangeLog Fri Sep 27 09:45:37 2013 +0200 +++ b/ChangeLog Mon Sep 30 08:55:31 2013 +0200 @@ -1,3 +1,9 @@ +2013-09-30 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineClassTest.java: + Added new test testAsSubclass into the test suite + ScriptEngineClassTest. + 2013-09-27 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r 1bdd275b1a8d -r 8055f8294f0e src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Fri Sep 27 09:45:37 2013 +0200 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Mon Sep 30 08:55:31 2013 +0200 @@ -1273,6 +1273,164 @@ } /** + * Test for method javax.script.ScriptEngine.getClass().asSubclass() + */ + protected void testAsSubclass() { + try { + this.scriptEngineClass.asSubclass(scriptEngineClass); + } + catch (Exception e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage()); + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Void.class); + throw new AssertionError("Class.asSubclass(java.lang.Void.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Number.class); + throw new AssertionError("Class.asSubclass(java.lang.Number.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Byte.class); + throw new AssertionError("Class.asSubclass(java.lang.Byte.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Double.class); + throw new AssertionError("Class.asSubclass(java.lang.Double.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Float.class); + throw new AssertionError("Class.asSubclass(java.lang.Float.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Integer.class); + throw new AssertionError("Class.asSubclass(java.lang.Integer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Long.class); + throw new AssertionError("Class.asSubclass(java.lang.Long.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.Short.class); + throw new AssertionError("Class.asSubclass(java.lang.Short.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.String.class); + throw new AssertionError("Class.asSubclass(java.lang.String.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.StringBuffer.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuffer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.lang.StringBuilder.class); + throw new AssertionError("Class.asSubclass(java.lang.StringBuilder.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Color.class); + throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Font.class); + throw new AssertionError("Class.asSubclass(java.awt.Font.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Image.class); + throw new AssertionError("Class.asSubclass(java.awt.Image.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(javax.swing.JPanel.class); + throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(javax.swing.JColorChooser.class); + throw new AssertionError("Class.asSubclass(javax.swing.JColorChooser.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(javax.swing.JScrollBar.class); + throw new AssertionError("Class.asSubclass(javax.swing.JScrollBar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(javax.swing.JSlider.class); + throw new AssertionError("Class.asSubclass(javax.swing.JSlider.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + } + + /** * Test for method javax.script.ScriptEngine.getClass().newInstance() */ protected void testNewInstance() { From ptisnovs at redhat.com Mon Sep 30 08:21:31 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Mon, 30 Sep 2013 11:21:31 -0400 (EDT) Subject: [rfc][icedtea-web] Java -> Javascript object leak tests In-Reply-To: <521F6D6E.3050301@redhat.com> References: <521E4853.9070203@redhat.com> <521F6D6E.3050301@redhat.com> Message-ID: <1440272840.725661.1380554491116.JavaMail.root@redhat.com> Hi Adam! This fix/refactoring looks good, ok for HEAD. Would you mind if I push this patch instead of you? Cheers, Pavel ----- Adam Domurad wrote: > On 08/28/2013 02:58 PM, Adam Domurad wrote: > > Hi all. The fixes will be posted soon, but I am putting this here so the > > reviewer can have a head-start. > > > > These tests currently fail. > > > > Bundled also are some C++ unit test infrastructure improvements: > > > > * Ability to query Java objects stored in PluginObjectStore for the C++ > > unit tests. MemoryLeakDetector was augmented to use this to calculate > > Javascript-bound Java object leaks. > > * The tests now fail if there is a leak of any of the three kinds: > > - NPAPI (eg browser_functions.memalloc) > > - C++ (new/delete) > > - Bound Java object leak (reference to Javascript-bound Java object in > > PluginObjectStore never freed) > > * Minor output improvements > > > > ChangeLog: > > 2013-XX-XX Adam Domurad > > > > Add Java-object leak unit tests & reproducer. Treat unit test > > leak as > > failure. > > * plugin/icedteanp/java/sun/applet/PluginObjectStore.java > > (getStoredClassCount): New, allow for querying amount of currently > > bound plugin Java classes. > > (getStoredInstanceCount): New, allow for querying amount of > > currently > > bound plugin Java objects. > > * tests/cpp-unit-tests/java_query.cc: Uses reflection to access > > PluginObjectStore (getStoredInstanceCount) and > > (getStoredClassCount). > > * tests/cpp-unit-tests/java_query.h: Same, as well introduce > > JavaValueID, which keeps track of Java object references. > > * tests/cpp-unit-tests/IcedTeaJavaRequestProcessorTest.cc: Make > > use of > > JavaValueID wherever possible. > > * tests/cpp-unit-tests/IcedTeaNPPluginTest.cc: Update to new > > MemoryLeakDetector interface. > > * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Same. > > * tests/cpp-unit-tests/MemoryLeakDetector.h: Unify warning > > messages > > with leak detection. > > * tests/cpp-unit-tests/main.cc: More forceful memory leak > > detection: > > Treat any of the 3 kinds of memory detection as failure. > > * > > tests/reproducers/simple/JavascriptMemoryLeak/resources/JavascriptMemoryLeak.html: > > > > Test if binding large objects continuously causes > > OutOfMemoryError. > > * > > tests/reproducers/simple/JavascriptMemoryLeak/resources/JavascriptMemoryLeak.js: > > > > Same. > > * > > tests/reproducers/simple/JavascriptMemoryLeak/srcs/JavascriptMemoryLeak.java: > > > > Same. > > * > > tests/reproducers/simple/JavascriptMemoryLeak/testcases/JavascriptMemoryLeakTest.java: > > > > Same. > > > > With this patch on HEAD, 36/42 unit tests should pass (6 failures), and > > the reproducer should fail. > > > > Happy hacking, > > -Adam > > > These test fixes came up during creation of the patch. > > To be applied after the tests patch. > > Cheers, > -Adam From aazores at redhat.com Mon Sep 30 09:43:36 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Sep 2013 12:43:36 -0400 Subject: [icedtea-web] RFC: Unit tests for BrowserAwareProxySelector In-Reply-To: <52461597.8050703@redhat.com> References: <5241DDEF.2080409@redhat.com> <52461597.8050703@redhat.com> Message-ID: <5249AA38.7060001@redhat.com> On 09/27/2013 07:32 PM, Omair Majid wrote: > On 09/24/2013 02:46 PM, Omair Majid wrote: >> Hi, >> >> The attached patch adds unit tests for BrowserAwareProxySelector and >> makes minor changes to make testing it easier. >> >> It also removes duplicate logic of selecting a host and port depending >> on the protocol into JNLPProxySelector.getFromArguments. The semantics >> of 'sameProxy' are different between BrowserAwareProxySelector and >> JNLPProxy selector; the socks proxy is included in firefox [1]. >> > Ping. Can anyone review this? > > Thanks, > Omair > Different filename in the license header of BrowserAwareProxySelectorTest.java. Patch looks good to me, though the unit tests could be refactored a bit. I don't insist at all because it's at least very readable as it is now, but for example "new Proxy(Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT))" gets copy-pasted a lot and might've been worth keeping around as a static final Proxy PROXY_HTTP, and similar for the repeated Proxy with Type.SOCKS. Other helper methods could be made for the tests since they're all doing more or less the same work, eg these lines: + BrowserAwareProxySelector selector = new TestBrowserAwareProxySelector(config, browserPrefs); + selector.initialize(); + + List result = selector.getFromBrowser(new URI("http://example.org")); + + assertEquals(1, result.size()); + assertEquals(new Proxy(Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT)), result.get(0)); could probably be pulled out into a new helper method like testBrowserProxyResult(config, browserPrefs, PROXY_HTTP). This makes it a little messy perhaps because you need to also pass in PROXY_HOST and PROXY_PORT. But, since each time you're using them you've chosen the same two values, perhaps they could just be made fields for the whole class? These lines too: + DeploymentConfiguration config = new DeploymentConfiguration(); + config.setProperty(DeploymentConfiguration.KEY_PROXY_TYPE, String.valueOf(JNLPProxySelector.PROXY_TYPE_BROWSER)); + Map browserPrefs = new HashMap(); Are common to all the new test methods. It just seems to me that the only differentiation between most of these tests is the values you put into the browserPrefs map and the rest is all common and could be factored out. Anyway, like I said I don't insist on this refactoring, because the tests are still readable and make clear sense. The class is just a lot longer in LoC than it probably has to be :) your call on bothering with refactor or not. Just fix the filename in that license header before push at least though. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Sep 30 09:58:00 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Sep 2013 16:58:00 +0000 Subject: [Bug 1570] Applet fails to load , permission denied In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1570 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea |Plugin Version|7-1.0 |1.4 Assignee|gnu.andrew at redhat.com |dbhole at redhat.com Product|IcedTea |IcedTea-Web -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130930/7765a332/attachment.html From aazores at redhat.com Mon Sep 30 11:40:11 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Sep 2013 14:40:11 -0400 Subject: [icedtea-web] RFC: Add unit tests for PluginProxySelector In-Reply-To: <52463A92.9090208@redhat.com> References: <52463A92.9090208@redhat.com> Message-ID: <5249C58B.4020403@redhat.com> On 09/27/2013 10:10 PM, Omair Majid wrote: > Hi, > > The attached patch adds unit tests for PluginProxySelector. There are no > functional changes to PluginProxySelector itself; I have marked > suspicious behaviour with a FIXME or TODO. > > Okay to push? > > Thanks, > Omair Looks good to me. Thanks, -- Andrew A From aazores at redhat.com Mon Sep 30 12:01:50 2013 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Sep 2013 15:01:50 -0400 Subject: /hg/icedtea-web: Introduced logging bottleneck In-Reply-To: References: Message-ID: <5249CA9E.9060004@redhat.com> On 09/25/2013 12:50 PM, jvanek at icedtea.classpath.org wrote: > changeset a817bb6d12a6 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a817bb6d12a6 > author: Jiri Vanek > date: Wed Sep 25 18:50:18 2013 +0200 > > Introduced logging bottleneck > > > diffstat: > > ChangeLog | 125 +++ > netx/net/sourceforge/jnlp/AbstractLaunchHandler.java | 16 +- > netx/net/sourceforge/jnlp/AppletLog.java | 92 -- > netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 4 +- > netx/net/sourceforge/jnlp/ExtensionDesc.java | 4 +- > netx/net/sourceforge/jnlp/GuiLaunchHandler.java | 8 +- > netx/net/sourceforge/jnlp/JNLPFile.java | 11 +- > netx/net/sourceforge/jnlp/JNLPMatcher.java | 5 +- > netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 13 +- > netx/net/sourceforge/jnlp/Launcher.java | 31 +- > netx/net/sourceforge/jnlp/Log.java | 79 - > netx/net/sourceforge/jnlp/MalformedXMLParser.java | 5 +- > netx/net/sourceforge/jnlp/NetxPanel.java | 11 +- > netx/net/sourceforge/jnlp/Parser.java | 17 +- > netx/net/sourceforge/jnlp/PluginBridge.java | 9 +- > netx/net/sourceforge/jnlp/SecurityDesc.java | 3 +- > netx/net/sourceforge/jnlp/StreamEater.java | 17 +- > netx/net/sourceforge/jnlp/XmlParser.java | 3 +- > netx/net/sourceforge/jnlp/about/HTMLPanel.java | 3 +- > netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 19 +- > netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java | 10 +- > netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java | 7 +- > netx/net/sourceforge/jnlp/cache/CacheDirectory.java | 6 +- > netx/net/sourceforge/jnlp/cache/CacheEntry.java | 7 +- > netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 15 +- > netx/net/sourceforge/jnlp/cache/CacheUtil.java | 44 +- > netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java | 12 +- > netx/net/sourceforge/jnlp/cache/Resource.java | 18 +- > netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 55 +- > netx/net/sourceforge/jnlp/config/Defaults.java | 20 +- > netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 133 +- > netx/net/sourceforge/jnlp/controlpanel/CachePane.java | 5 +- > netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 90 +- > netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 9 +- > netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java | 82 +- > netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java | 4 +- > netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java | 7 +- > netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java | 15 +- > netx/net/sourceforge/jnlp/resources/Messages.properties | 11 +- > netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 1 - > netx/net/sourceforge/jnlp/resources/Messages_de.properties | 1 - > netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 1 - > netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 4 +- > netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 11 +- > netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 9 +- > netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 23 +- > netx/net/sourceforge/jnlp/runtime/Boot.java | 46 +- > netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 6 +- > netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java | 5 +- > netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 121 +- > netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 7 +- > netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 27 +- > netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 120 +- > netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 22 +- > netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java | 19 +- > netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java | 17 +- > netx/net/sourceforge/jnlp/security/CertWarningPane.java | 7 +- > netx/net/sourceforge/jnlp/security/CertificateUtils.java | 18 +- > netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 7 +- > netx/net/sourceforge/jnlp/security/KeyStores.java | 3 +- > netx/net/sourceforge/jnlp/security/SecurityDialog.java | 11 +- > netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 7 +- > netx/net/sourceforge/jnlp/security/SecurityUtil.java | 3 +- > netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 9 +- > netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java | 3 +- > netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java | 16 +- > netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 13 +- > netx/net/sourceforge/jnlp/services/ServiceUtil.java | 11 +- > netx/net/sourceforge/jnlp/services/XBasicService.java | 16 +- > netx/net/sourceforge/jnlp/services/XPersistenceService.java | 7 +- > netx/net/sourceforge/jnlp/services/XPrintService.java | 9 +- > netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 19 +- > netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java | 7 +- > netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 7 +- > netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 3 +- > netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java | 3 +- > netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java | 15 +- > netx/net/sourceforge/jnlp/tools/CertInformation.java | 4 +- > netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 23 +- > netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java | 11 +- > netx/net/sourceforge/jnlp/util/FileUtils.java | 23 +- > netx/net/sourceforge/jnlp/util/HttpUtils.java | 3 +- > netx/net/sourceforge/jnlp/util/ImageResources.java | 3 +- > netx/net/sourceforge/jnlp/util/PropertiesFile.java | 5 +- > netx/net/sourceforge/jnlp/util/Reflect.java | 5 +- > netx/net/sourceforge/jnlp/util/StreamUtils.java | 14 +- > netx/net/sourceforge/jnlp/util/TimedHashMap.java | 9 +- > netx/net/sourceforge/jnlp/util/UrlUtils.java | 13 +- > netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 19 +- > netx/net/sourceforge/jnlp/util/logging/FileLog.java | 107 ++ > netx/net/sourceforge/jnlp/util/logging/LogConfig.java | 156 +++ > netx/net/sourceforge/jnlp/util/logging/OutputController.java | 398 ++++++++++ > netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java | 68 + > netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java | 46 + > netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java | 57 + > netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java | 57 + > netx/net/sourceforge/nanoxml/XMLElement.java | 25 +- > plugin/icedteanp/java/netscape/javascript/JSRunnable.java | 3 +- > plugin/icedteanp/java/sun/applet/JavaConsole.java | 53 +- > plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 7 +- > plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 15 +- > plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 17 +- > plugin/icedteanp/java/sun/applet/PluginDebug.java | 7 +- > plugin/icedteanp/java/sun/applet/PluginException.java | 4 +- > plugin/icedteanp/java/sun/applet/PluginMain.java | 21 +- > plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 3 +- > plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 +- > plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 3 +- > plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 3 +- > plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 +- > tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java | 71 +- > tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 62 +- > tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java | 52 +- > tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java | 4 - > tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java | 178 ++++ > tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java | 367 +++++++++ > tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java | 113 ++ > tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java | 2 - > tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 12 +- > 119 files changed, 2582 insertions(+), 1136 deletions(-) > > diffs (truncated from 7708 to 500 lines): > > diff -r a69671b1e1f1 -r a817bb6d12a6 ChangeLog > --- a/ChangeLog Tue Sep 24 13:42:31 2013 -0400 > +++ b/ChangeLog Wed Sep 25 18:50:18 2013 +0200 > @@ -1,3 +1,128 @@ > +2013-09-25 Jiri Vanek > + > + Added logging bottleneck > + * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err > + and printStackTrace in favour of outputController.log methods. Same all below > + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java > + * netx/net/sourceforge/jnlp/ExtensionDesc.java > + * netx/net/sourceforge/jnlp/GuiLaunchHandler.java > + * netx/net/sourceforge/jnlp/JNLPFile.java > + * netx/net/sourceforge/jnlp/JNLPMatcher.java > + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java > + * netx/net/sourceforge/jnlp/Launcher.java > + * netx/net/sourceforge/jnlp/MalformedXMLParser.java > + * netx/net/sourceforge/jnlp/NetxPanel.java > + * netx/net/sourceforge/jnlp/Parser.java > + * netx/net/sourceforge/jnlp/PluginBridge.java > + * netx/net/sourceforge/jnlp/SecurityDesc.java > + * netx/net/sourceforge/jnlp/StreamEater.java > + * netx/net/sourceforge/jnlp/XmlParser.java > + * netx/net/sourceforge/jnlp/about/HTMLPanel.java > + * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java > + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java > + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java > + * netx/net/sourceforge/jnlp/cache/CacheDirectory.java > + * netx/net/sourceforge/jnlp/cache/CacheEntry.java > + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java > + * netx/net/sourceforge/jnlp/cache/CacheUtil.java > + * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java > + * netx/net/sourceforge/jnlp/cache/Resource.java > + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java > + * netx/net/sourceforge/jnlp/config/Defaults.java > + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java > + * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java > + * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java > + * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java > + * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java > + * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java > + * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java > + * netx/net/sourceforge/jnlp/resources/Messages.properties > + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties > + * netx/net/sourceforge/jnlp/resources/Messages_de.properties > + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties > + * 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/CachedJarFileCallback.java > + * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java > + * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java > + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java > + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java > + * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java > + * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java > + * netx/net/sourceforge/jnlp/security/CertWarningPane.java > + * netx/net/sourceforge/jnlp/security/CertificateUtils.java > + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java > + * netx/net/sourceforge/jnlp/security/KeyStores.java > + * netx/net/sourceforge/jnlp/security/SecurityDialog.java > + * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java > + * netx/net/sourceforge/jnlp/security/SecurityUtil.java > + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java > + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java > + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java > + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java > + * netx/net/sourceforge/jnlp/services/ServiceUtil.java > + * netx/net/sourceforge/jnlp/services/XBasicService.java > + * netx/net/sourceforge/jnlp/services/XPersistenceService.java > + * netx/net/sourceforge/jnlp/services/XPrintService.java > + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java > + * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java > + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java > + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java > + * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java > + * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java > + * netx/net/sourceforge/jnlp/tools/CertInformation.java > + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > + * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java > + * netx/net/sourceforge/jnlp/util/FileUtils.java > + * netx/net/sourceforge/jnlp/util/HttpUtils.java > + * netx/net/sourceforge/jnlp/util/ImageResources.java > + * netx/net/sourceforge/jnlp/util/PropertiesFile.java > + * netx/net/sourceforge/jnlp/util/Reflect.java > + * netx/net/sourceforge/jnlp/util/StreamUtils.java > + * netx/net/sourceforge/jnlp/util/TimedHashMap.java > + * netx/net/sourceforge/jnlp/util/UrlUtils.java > + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java > + * netx/net/sourceforge/nanoxml/XMLElement.java > + * plugin/icedteanp/java/netscape/javascript/JSRunnable.java > + * plugin/icedteanp/java/sun/applet/JavaConsole.java > + * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java > + * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java > + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > + * plugin/icedteanp/java/sun/applet/PluginDebug.java > + * plugin/icedteanp/java/sun/applet/PluginException.java > + * plugin/icedteanp/java/sun/applet/PluginMain.java > + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java > + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java > + * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java > + * plugin/icedteanp/java/sun/applet/PluginProxySelector.java > + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > + * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java > + * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java > + * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java > + * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java > + * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java > + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java > + * netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from > + AppletLog. Now have responsibility to log to custom file. > + * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log > + * netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging > + * netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams > + * netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers > + * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log > + * netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log > + * tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests > + * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests > + * tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests > + * netx/net/sourceforge/jnlp/AppletLog.java: removed > + * netx/net/sourceforge/jnlp/Log.java: rmeoved > + > + > 2013-09-24 Omair Majid > > PR1474 > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AbstractLaunchHandler.java > --- a/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 > @@ -37,16 +37,15 @@ > > package net.sourceforge.jnlp; > > -import java.io.PrintStream; > > -import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.logging.OutputController; > > public abstract class AbstractLaunchHandler implements LaunchHandler { > > - protected final PrintStream outputStream; > + protected final OutputController logger; > > - public AbstractLaunchHandler(PrintStream outputStream) { > - this.outputStream = outputStream; > + public AbstractLaunchHandler(OutputController logger) { > + this.logger = logger; > } > > /** > @@ -63,11 +62,10 @@ > if (ex.getCause() != null) { > result.append(recursiveDescription(ex.getCause())); > } > - outputStream.println(result); > + logger.log(OutputController.Level.MESSAGE_ALL, result.toString()); > > - if (JNLPRuntime.isDebug()) { > - ex.printStackTrace(outputStream); > - } > + logger.log(ex); > + > } > > private String recursiveDescription(Throwable throwable) { > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AppletLog.java > --- a/netx/net/sourceforge/jnlp/AppletLog.java Tue Sep 24 13:42:31 2013 -0400 > +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 > @@ -1,92 +0,0 @@ > -/* AppletLog.java > - Copyright (C) 2011 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; 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 net.sourceforge.jnlp; > - > -import java.io.ByteArrayOutputStream; > -import java.io.File; > -import java.io.PrintStream; > -import java.util.logging.FileHandler; > -import java.util.logging.Level; > -import java.util.logging.Logger; > -import java.util.logging.XMLFormatter; > - > -import net.sourceforge.jnlp.util.FileUtils; > - > -/** > - * This class writes log information to file. > - * > - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) > - * > - */ > -class AppletLog extends Log { > - private static Logger logger; > - static { > - try { > - // If logging is enabled, we create logger. > - if (enableLogging) { > - String fn = icedteaLogDir + "plugin" + java.lang.System.currentTimeMillis() + ".log"; > - FileUtils.createRestrictedFile(new File(fn), true); > - FileHandler fh = new FileHandler(fn, false); > - fh.setFormatter(new XMLFormatter()); > - String logClassName = AppletLog.class.getName(); > - logger = Logger.getLogger(logClassName); > - logger.setLevel(Level.ALL); > - logger.addHandler(fh); > - } > - } catch (Exception e) { > - e.printStackTrace(); > - } > - } > - > - private AppletLog() { > - } > - > - /** > - * Log the exception to file. > - * > - * @param e Exception that was thrown. > - */ > - public synchronized static void log(Throwable e) { > - if (enableLogging && logger != null) { > - ByteArrayOutputStream baos = new ByteArrayOutputStream(); > - PrintStream ps = new PrintStream(baos); > - e.printStackTrace(ps); > - logger.log(Level.FINE, baos.toString()); > - } > - } > -} > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java > --- a/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 > @@ -16,9 +16,9 @@ > > package net.sourceforge.jnlp; > > -import java.io.PrintStream; > > import net.sourceforge.jnlp.runtime.*; > +import net.sourceforge.jnlp.util.logging.OutputController; > > /** > * This default implementation shows prints the exception to > @@ -30,7 +30,7 @@ > */ > public class DefaultLaunchHandler extends AbstractLaunchHandler { > > - public DefaultLaunchHandler(PrintStream out) { > + public DefaultLaunchHandler(OutputController out) { > super(out); > } > > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/ExtensionDesc.java > --- a/netx/net/sourceforge/jnlp/ExtensionDesc.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/ExtensionDesc.java Wed Sep 25 18:50:18 2013 +0200 > @@ -23,6 +23,7 @@ > import java.util.*; > > import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.logging.OutputController; > > /** > * The extension element. > @@ -122,8 +123,7 @@ > if (file == null) { > file = new JNLPFile(location); > > - if (JNLPRuntime.isDebug()) > - System.out.println("Resolve: " + file.getInformation().getTitle()); > + OutputController.getLogger().log("Resolve: " + file.getInformation().getTitle()); > > // check for it being an extension descriptor > if (!file.isComponent() && !file.isInstaller()) > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/GuiLaunchHandler.java > --- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 > @@ -37,7 +37,6 @@ > > package net.sourceforge.jnlp; > > -import java.io.PrintStream; > import java.lang.reflect.InvocationTargetException; > import java.net.URL; > > @@ -47,6 +46,7 @@ > import net.sourceforge.jnlp.cache.UpdatePolicy; > import net.sourceforge.jnlp.runtime.ApplicationInstance; > import net.sourceforge.jnlp.util.BasicExceptionDialog; > +import net.sourceforge.jnlp.util.logging.OutputController; > > /** > * A {@link LaunchHandler} that gives feedback to the user using GUI elements > @@ -58,7 +58,7 @@ > private final Object mutex = new Object(); > private UpdatePolicy policy = UpdatePolicy.ALWAYS; > > - public GuiLaunchHandler(PrintStream outputStream) { > + public GuiLaunchHandler(OutputController outputStream) { > super(outputStream); > } > > @@ -127,7 +127,7 @@ > // Wait till splash screen is created > while (splashScreen == null); > } catch (InvocationTargetException ite) { > - ite.printStackTrace(); > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); > } > try { > SwingUtilities.invokeAndWait(new Runnable() { > @@ -141,7 +141,7 @@ > // Wait till splash screen is created > while (!splashScreen.isSplashImageLoaded()); > } catch (InvocationTargetException ite) { > - ite.printStackTrace(); > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); > } > > > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 25 18:50:18 2013 +0200 > @@ -31,6 +31,7 @@ > import net.sourceforge.jnlp.cache.ResourceTracker; > import net.sourceforge.jnlp.cache.UpdatePolicy; > import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.logging.OutputController; > > /** > * Provides methods to access the information in a Java Network > @@ -223,8 +224,7 @@ > ((int)(Math.random()*Integer.MAX_VALUE)) + "-" + > location; > > - if (JNLPRuntime.isDebug()) > - System.err.println("UNIQUEKEY=" + this.uniqueKey); > + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY=" + this.uniqueKey); > } > > /** > @@ -243,8 +243,7 @@ > this(location, version, settings, policy); > this.uniqueKey = uniqueKey; > > - if (JNLPRuntime.isDebug()) > - System.err.println("UNIQUEKEY (override) =" + this.uniqueKey); > + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY (override) =" + this.uniqueKey); > } > > /** > @@ -714,9 +713,7 @@ > } catch (ParseException ex) { > throw ex; > } catch (Exception ex) { > - if (JNLPRuntime.isDebug()) > - ex.printStackTrace(); > - > + OutputController.getLogger().log(ex); > throw new RuntimeException(ex.toString()); > } > } > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPMatcher.java > --- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Wed Sep 25 18:50:18 2013 +0200 > @@ -47,6 +47,7 @@ > import java.util.Arrays; > import java.util.Collections; > import java.util.LinkedList; > +import net.sourceforge.jnlp.util.logging.OutputController; > import net.sourceforge.nanoxml.XMLElement; > > /** > @@ -261,7 +262,7 @@ > try { > stream.close(); > } catch (Exception e) { > - e.printStackTrace(System.err); > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); > } > } > > @@ -276,7 +277,7 @@ > try { > stream.close(); > } catch (Exception e) { > - e.printStackTrace(System.err); > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); > } > } > } > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPSplashScreen.java > --- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Sep 25 18:50:18 2013 +0200 > @@ -54,6 +54,7 @@ > import net.sourceforge.jnlp.splashscreen.SplashUtils; > import net.sourceforge.jnlp.splashscreen.parts.InformationElement; > import net.sourceforge.jnlp.util.ImageResources; > +import net.sourceforge.jnlp.util.logging.OutputController; > import net.sourceforge.jnlp.util.ScreenFinder; > > public class JNLPSplashScreen extends JDialog { > @@ -91,19 +92,13 @@ > try { > splashImage = ImageIO.read(resourceTracker.getCacheFile(splashImageUrl)); > if (splashImage == null) { > - if (JNLPRuntime.isDebug()) { > - System.err.println("Error loading splash image: " + url); > - } > + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); > } > } catch (IOException e) { > - if (JNLPRuntime.isDebug()) { > - System.err.println("Error loading splash image: " + url); > - } > + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); > splashImage = null; > } catch (IllegalArgumentException argumentException) { > - if (JNLPRuntime.isDebug()) { > - System.err.println("Error loading splash image: " + url); > - } > + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); > splashImage = null; > } > } > diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/Launcher.java > --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Sep 24 13:42:31 2013 -0400 > +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 25 18:50:18 2013 +0200 > @@ -46,6 +46,7 @@ > import javax.swing.text.html.parser.ParserDelegator; > import net.sourceforge.jnlp.runtime.AppletEnvironment; > import net.sourceforge.jnlp.splashscreen.SplashUtils; > +import net.sourceforge.jnlp.util.logging.OutputController; > > import sun.awt.SunToolkit; > > @@ -77,7 +78,7 @@ > /** whether to create an AppContext (if possible) */ > private boolean context = true; > > - /** If the application should call System.exit on fatal errors */ > + /** If the application should call JNLPRuntime.exit on fatal errors */ > private boolean exitOnFailure = true; > > private ParserSettings parserSettings = new ParserSettings(); > @@ -229,10 +230,10 @@ > InetAddress.getByName(file.getSourceLocation().getHost()); > > } catch (UnknownHostException ue) { > - System.err.println("File cannot be launched because offline-allowed tag not specified and system currently offline."); > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "File cannot be launched because offline-allowed tag not specified and system currently offline."); > return null; > } catch (Exception e) { > - System.err.println(e); > + OutputController.getLogger().log(e); > } > } > > @@ -483,9 +484,7 @@ > try { > ServiceUtil.checkExistingSingleInstance(file); > } catch (InstanceExistsException e) { > - if (JNLPRuntime.isDebug()) { As noted by Omair and I in the IRC channel today, this patch makes "make check" rather noisy. I also mentioned that a fair number of reproducers are broken by this. The common trait to most/all of them is that they expect stdout to be a particular (very short, common case being <= 2 chars) length, which it is because messages are now coming through stdout which were previously on stderr. For example, CreateClassLoaderTest.CreateClassLoaderLunch1 fails because "netx: Launch Error: Could not launch JNLP file. ( (access denied ("java.lang.RuntimePermission" "createClassLoader"))) " is printed to stdout instead, and the test includes a check that pr.stdout has length <= 2. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Sep 30 13:18:55 2013 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Sep 2013 20:18:55 +0000 Subject: [Bug 1570] Applet fails to load , permission denied In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1570 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |jvanek at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130930/2c039f74/attachment.html From jvanek at redhat.com Mon Sep 30 23:07:50 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 01 Oct 2013 08:07:50 +0200 Subject: /hg/icedtea-web: Introduced logging bottleneck In-Reply-To: <5249CA9E.9060004@redhat.com> References: <5249CA9E.9060004@redhat.com> Message-ID: <524A66B6.4080503@redhat.com> On 09/30/2013 09:01 PM, Andrew Azores wrote: > On 09/25/2013 12:50 PM, jvanek at icedtea.classpath.org wrote: >> changeset a817bb6d12a6 in /hg/icedtea-web >> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a817bb6d12a6 >> author: Jiri Vanek >> date: Wed Sep 25 18:50:18 2013 +0200 >> >> Introduced logging bottleneck >> >> >> diffstat: >> >> ChangeLog | 125 +++ >> netx/net/sourceforge/jnlp/AbstractLaunchHandler.java | 16 +- >> netx/net/sourceforge/jnlp/AppletLog.java | 92 -- >> netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 4 +- >> netx/net/sourceforge/jnlp/ExtensionDesc.java | 4 +- >> netx/net/sourceforge/jnlp/GuiLaunchHandler.java | 8 +- >> netx/net/sourceforge/jnlp/JNLPFile.java | 11 +- >> netx/net/sourceforge/jnlp/JNLPMatcher.java | 5 +- >> netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 13 +- >> netx/net/sourceforge/jnlp/Launcher.java | 31 +- >> netx/net/sourceforge/jnlp/Log.java | 79 - >> netx/net/sourceforge/jnlp/MalformedXMLParser.java | 5 +- >> netx/net/sourceforge/jnlp/NetxPanel.java | 11 +- >> netx/net/sourceforge/jnlp/Parser.java | 17 +- >> netx/net/sourceforge/jnlp/PluginBridge.java | 9 +- >> netx/net/sourceforge/jnlp/SecurityDesc.java | 3 +- >> netx/net/sourceforge/jnlp/StreamEater.java | 17 +- >> netx/net/sourceforge/jnlp/XmlParser.java | 3 +- >> netx/net/sourceforge/jnlp/about/HTMLPanel.java | 3 +- >> netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 19 +- >> netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java | 10 +- >> netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java | 7 +- >> netx/net/sourceforge/jnlp/cache/CacheDirectory.java | 6 +- >> netx/net/sourceforge/jnlp/cache/CacheEntry.java | 7 +- >> netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 15 +- >> netx/net/sourceforge/jnlp/cache/CacheUtil.java | 44 +- >> netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java | 12 +- >> netx/net/sourceforge/jnlp/cache/Resource.java | 18 +- >> netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 55 +- >> netx/net/sourceforge/jnlp/config/Defaults.java | 20 +- >> netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 133 +- >> netx/net/sourceforge/jnlp/controlpanel/CachePane.java | 5 +- >> netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 90 +- >> netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 9 +- >> netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java | 82 +- >> netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java | 4 +- >> netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java | 7 +- >> netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java | 15 +- >> netx/net/sourceforge/jnlp/resources/Messages.properties | 11 +- >> netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 1 - >> netx/net/sourceforge/jnlp/resources/Messages_de.properties | 1 - >> netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 1 - >> netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 4 +- >> netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 11 +- >> netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 9 +- >> netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 23 +- >> netx/net/sourceforge/jnlp/runtime/Boot.java | 46 +- >> netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 6 +- >> netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java | 5 +- >> netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 121 +- >> netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 7 +- >> netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 27 +- >> netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 120 +- >> netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 22 +- >> netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java | 19 +- >> netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java | 17 +- >> netx/net/sourceforge/jnlp/security/CertWarningPane.java | 7 +- >> netx/net/sourceforge/jnlp/security/CertificateUtils.java | 18 +- >> netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 7 +- >> netx/net/sourceforge/jnlp/security/KeyStores.java | 3 +- >> netx/net/sourceforge/jnlp/security/SecurityDialog.java | 11 +- >> netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 7 +- >> netx/net/sourceforge/jnlp/security/SecurityUtil.java | 3 +- >> netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 9 +- >> netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java | 3 +- >> netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java | 16 +- >> netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 13 +- >> netx/net/sourceforge/jnlp/services/ServiceUtil.java | 11 +- >> netx/net/sourceforge/jnlp/services/XBasicService.java | 16 +- >> netx/net/sourceforge/jnlp/services/XPersistenceService.java | 7 +- >> netx/net/sourceforge/jnlp/services/XPrintService.java | 9 +- >> netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 19 +- >> netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java | 7 +- >> netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 7 +- >> netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 3 +- >> netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java | 3 +- >> netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java | 15 +- >> netx/net/sourceforge/jnlp/tools/CertInformation.java | 4 +- >> netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 23 +- >> netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java | 11 +- >> netx/net/sourceforge/jnlp/util/FileUtils.java | 23 +- >> netx/net/sourceforge/jnlp/util/HttpUtils.java | 3 +- >> netx/net/sourceforge/jnlp/util/ImageResources.java | 3 +- >> netx/net/sourceforge/jnlp/util/PropertiesFile.java | 5 +- >> netx/net/sourceforge/jnlp/util/Reflect.java | 5 +- >> netx/net/sourceforge/jnlp/util/StreamUtils.java | 14 +- >> netx/net/sourceforge/jnlp/util/TimedHashMap.java | 9 +- >> netx/net/sourceforge/jnlp/util/UrlUtils.java | 13 +- >> netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 19 +- >> netx/net/sourceforge/jnlp/util/logging/FileLog.java | 107 ++ >> netx/net/sourceforge/jnlp/util/logging/LogConfig.java | 156 +++ >> netx/net/sourceforge/jnlp/util/logging/OutputController.java | 398 ++++++++++ >> netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java | 68 + >> netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java | 46 + >> netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java | 57 + >> netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java | 57 + >> netx/net/sourceforge/nanoxml/XMLElement.java | 25 +- >> plugin/icedteanp/java/netscape/javascript/JSRunnable.java | 3 +- >> plugin/icedteanp/java/sun/applet/JavaConsole.java | 53 +- >> plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 7 +- >> plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 15 +- >> plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 17 +- >> plugin/icedteanp/java/sun/applet/PluginDebug.java | 7 +- >> plugin/icedteanp/java/sun/applet/PluginException.java | 4 +- >> plugin/icedteanp/java/sun/applet/PluginMain.java | 21 +- >> plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 3 +- >> plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 +- >> plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 3 +- >> plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 3 +- >> plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 +- >> tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java | 71 +- >> tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 62 +- >> tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java | 52 +- >> tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java | 4 - >> tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java | 178 ++++ >> tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java | 367 +++++++++ >> tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java | 113 ++ >> tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java | 2 - >> tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 12 +- >> 119 files changed, 2582 insertions(+), 1136 deletions(-) >> >> diffs (truncated from 7708 to 500 lines): >> >> diff -r a69671b1e1f1 -r a817bb6d12a6 ChangeLog >> --- a/ChangeLog Tue Sep 24 13:42:31 2013 -0400 >> +++ b/ChangeLog Wed Sep 25 18:50:18 2013 +0200 >> @@ -1,3 +1,128 @@ >> +2013-09-25 Jiri Vanek >> + >> + Added logging bottleneck >> + * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err >> + and printStackTrace in favour of outputController.log methods. Same all below >> + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java >> + * netx/net/sourceforge/jnlp/ExtensionDesc.java >> + * netx/net/sourceforge/jnlp/GuiLaunchHandler.java >> + * netx/net/sourceforge/jnlp/JNLPFile.java >> + * netx/net/sourceforge/jnlp/JNLPMatcher.java >> + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java >> + * netx/net/sourceforge/jnlp/Launcher.java >> + * netx/net/sourceforge/jnlp/MalformedXMLParser.java >> + * netx/net/sourceforge/jnlp/NetxPanel.java >> + * netx/net/sourceforge/jnlp/Parser.java >> + * netx/net/sourceforge/jnlp/PluginBridge.java >> + * netx/net/sourceforge/jnlp/SecurityDesc.java >> + * netx/net/sourceforge/jnlp/StreamEater.java >> + * netx/net/sourceforge/jnlp/XmlParser.java >> + * netx/net/sourceforge/jnlp/about/HTMLPanel.java >> + * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java >> + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java >> + * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java >> + * netx/net/sourceforge/jnlp/cache/CacheDirectory.java >> + * netx/net/sourceforge/jnlp/cache/CacheEntry.java >> + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java >> + * netx/net/sourceforge/jnlp/cache/CacheUtil.java >> + * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java >> + * netx/net/sourceforge/jnlp/cache/Resource.java >> + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java >> + * netx/net/sourceforge/jnlp/config/Defaults.java >> + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java >> + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java >> + * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java >> + * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java >> + * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java >> + * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java >> + * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java >> + * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java >> + * netx/net/sourceforge/jnlp/resources/Messages.properties >> + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties >> + * netx/net/sourceforge/jnlp/resources/Messages_de.properties >> + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties >> + * 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/CachedJarFileCallback.java >> + * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java >> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java >> + * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java >> + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java >> + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java >> + * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java >> + * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java >> + * netx/net/sourceforge/jnlp/security/CertWarningPane.java >> + * netx/net/sourceforge/jnlp/security/CertificateUtils.java >> + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java >> + * netx/net/sourceforge/jnlp/security/KeyStores.java >> + * netx/net/sourceforge/jnlp/security/SecurityDialog.java >> + * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java >> + * netx/net/sourceforge/jnlp/security/SecurityUtil.java >> + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java >> + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java >> + * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java >> + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java >> + * netx/net/sourceforge/jnlp/services/ServiceUtil.java >> + * netx/net/sourceforge/jnlp/services/XBasicService.java >> + * netx/net/sourceforge/jnlp/services/XPersistenceService.java >> + * netx/net/sourceforge/jnlp/services/XPrintService.java >> + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java >> + * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java >> + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java >> + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java >> + * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java >> + * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java >> + * netx/net/sourceforge/jnlp/tools/CertInformation.java >> + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java >> + * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java >> + * netx/net/sourceforge/jnlp/util/FileUtils.java >> + * netx/net/sourceforge/jnlp/util/HttpUtils.java >> + * netx/net/sourceforge/jnlp/util/ImageResources.java >> + * netx/net/sourceforge/jnlp/util/PropertiesFile.java >> + * netx/net/sourceforge/jnlp/util/Reflect.java >> + * netx/net/sourceforge/jnlp/util/StreamUtils.java >> + * netx/net/sourceforge/jnlp/util/TimedHashMap.java >> + * netx/net/sourceforge/jnlp/util/UrlUtils.java >> + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java >> + * netx/net/sourceforge/nanoxml/XMLElement.java >> + * plugin/icedteanp/java/netscape/javascript/JSRunnable.java >> + * plugin/icedteanp/java/sun/applet/JavaConsole.java >> + * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java >> + * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java >> + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java >> + * plugin/icedteanp/java/sun/applet/PluginDebug.java >> + * plugin/icedteanp/java/sun/applet/PluginException.java >> + * plugin/icedteanp/java/sun/applet/PluginMain.java >> + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java >> + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java >> + * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java >> + * plugin/icedteanp/java/sun/applet/PluginProxySelector.java >> + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java >> + * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java >> + * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java >> + * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java >> + * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java >> + * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java >> + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java >> + * netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from >> + AppletLog. Now have responsibility to log to custom file. >> + * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log >> + * netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging >> + * netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams >> + * netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers >> + * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log >> + * netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log >> + * tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests >> + * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests >> + * tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests >> + * netx/net/sourceforge/jnlp/AppletLog.java: removed >> + * netx/net/sourceforge/jnlp/Log.java: rmeoved >> + >> + >> 2013-09-24 Omair Majid >> PR1474 >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AbstractLaunchHandler.java >> --- a/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -37,16 +37,15 @@ >> package net.sourceforge.jnlp; >> -import java.io.PrintStream; >> -import net.sourceforge.jnlp.runtime.JNLPRuntime; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> public abstract class AbstractLaunchHandler implements LaunchHandler { >> - protected final PrintStream outputStream; >> + protected final OutputController logger; >> - public AbstractLaunchHandler(PrintStream outputStream) { >> - this.outputStream = outputStream; >> + public AbstractLaunchHandler(OutputController logger) { >> + this.logger = logger; >> } >> /** >> @@ -63,11 +62,10 @@ >> if (ex.getCause() != null) { >> result.append(recursiveDescription(ex.getCause())); >> } >> - outputStream.println(result); >> + logger.log(OutputController.Level.MESSAGE_ALL, result.toString()); >> - if (JNLPRuntime.isDebug()) { >> - ex.printStackTrace(outputStream); >> - } >> + logger.log(ex); >> + >> } >> private String recursiveDescription(Throwable throwable) { >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AppletLog.java >> --- a/netx/net/sourceforge/jnlp/AppletLog.java Tue Sep 24 13:42:31 2013 -0400 >> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 >> @@ -1,92 +0,0 @@ >> -/* AppletLog.java >> - Copyright (C) 2011 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; 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 net.sourceforge.jnlp; >> - >> -import java.io.ByteArrayOutputStream; >> -import java.io.File; >> -import java.io.PrintStream; >> -import java.util.logging.FileHandler; >> -import java.util.logging.Level; >> -import java.util.logging.Logger; >> -import java.util.logging.XMLFormatter; >> - >> -import net.sourceforge.jnlp.util.FileUtils; >> - >> -/** >> - * This class writes log information to file. >> - * >> - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) >> - * >> - */ >> -class AppletLog extends Log { >> - private static Logger logger; >> - static { >> - try { >> - // If logging is enabled, we create logger. >> - if (enableLogging) { >> - String fn = icedteaLogDir + "plugin" + java.lang.System.currentTimeMillis() + ".log"; >> - FileUtils.createRestrictedFile(new File(fn), true); >> - FileHandler fh = new FileHandler(fn, false); >> - fh.setFormatter(new XMLFormatter()); >> - String logClassName = AppletLog.class.getName(); >> - logger = Logger.getLogger(logClassName); >> - logger.setLevel(Level.ALL); >> - logger.addHandler(fh); >> - } >> - } catch (Exception e) { >> - e.printStackTrace(); >> - } >> - } >> - >> - private AppletLog() { >> - } >> - >> - /** >> - * Log the exception to file. >> - * >> - * @param e Exception that was thrown. >> - */ >> - public synchronized static void log(Throwable e) { >> - if (enableLogging && logger != null) { >> - ByteArrayOutputStream baos = new ByteArrayOutputStream(); >> - PrintStream ps = new PrintStream(baos); >> - e.printStackTrace(ps); >> - logger.log(Level.FINE, baos.toString()); >> - } >> - } >> -} >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java >> --- a/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -16,9 +16,9 @@ >> package net.sourceforge.jnlp; >> -import java.io.PrintStream; >> import net.sourceforge.jnlp.runtime.*; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> /** >> * This default implementation shows prints the exception to >> @@ -30,7 +30,7 @@ >> */ >> public class DefaultLaunchHandler extends AbstractLaunchHandler { >> - public DefaultLaunchHandler(PrintStream out) { >> + public DefaultLaunchHandler(OutputController out) { >> super(out); >> } >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/ExtensionDesc.java >> --- a/netx/net/sourceforge/jnlp/ExtensionDesc.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/ExtensionDesc.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -23,6 +23,7 @@ >> import java.util.*; >> import net.sourceforge.jnlp.runtime.JNLPRuntime; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> /** >> * The extension element. >> @@ -122,8 +123,7 @@ >> if (file == null) { >> file = new JNLPFile(location); >> - if (JNLPRuntime.isDebug()) >> - System.out.println("Resolve: " + file.getInformation().getTitle()); >> + OutputController.getLogger().log("Resolve: " + file.getInformation().getTitle()); >> // check for it being an extension descriptor >> if (!file.isComponent() && !file.isInstaller()) >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/GuiLaunchHandler.java >> --- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -37,7 +37,6 @@ >> package net.sourceforge.jnlp; >> -import java.io.PrintStream; >> import java.lang.reflect.InvocationTargetException; >> import java.net.URL; >> @@ -47,6 +46,7 @@ >> import net.sourceforge.jnlp.cache.UpdatePolicy; >> import net.sourceforge.jnlp.runtime.ApplicationInstance; >> import net.sourceforge.jnlp.util.BasicExceptionDialog; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> /** >> * A {@link LaunchHandler} that gives feedback to the user using GUI elements >> @@ -58,7 +58,7 @@ >> private final Object mutex = new Object(); >> private UpdatePolicy policy = UpdatePolicy.ALWAYS; >> - public GuiLaunchHandler(PrintStream outputStream) { >> + public GuiLaunchHandler(OutputController outputStream) { >> super(outputStream); >> } >> @@ -127,7 +127,7 @@ >> // Wait till splash screen is created >> while (splashScreen == null); >> } catch (InvocationTargetException ite) { >> - ite.printStackTrace(); >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); >> } >> try { >> SwingUtilities.invokeAndWait(new Runnable() { >> @@ -141,7 +141,7 @@ >> // Wait till splash screen is created >> while (!splashScreen.isSplashImageLoaded()); >> } catch (InvocationTargetException ite) { >> - ite.printStackTrace(); >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite); >> } >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPFile.java >> --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -31,6 +31,7 @@ >> import net.sourceforge.jnlp.cache.ResourceTracker; >> import net.sourceforge.jnlp.cache.UpdatePolicy; >> import net.sourceforge.jnlp.runtime.JNLPRuntime; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> /** >> * Provides methods to access the information in a Java Network >> @@ -223,8 +224,7 @@ >> ((int)(Math.random()*Integer.MAX_VALUE)) + "-" + >> location; >> - if (JNLPRuntime.isDebug()) >> - System.err.println("UNIQUEKEY=" + this.uniqueKey); >> + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY=" + this.uniqueKey); >> } >> /** >> @@ -243,8 +243,7 @@ >> this(location, version, settings, policy); >> this.uniqueKey = uniqueKey; >> - if (JNLPRuntime.isDebug()) >> - System.err.println("UNIQUEKEY (override) =" + this.uniqueKey); >> + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY (override) =" + this.uniqueKey); >> } >> /** >> @@ -714,9 +713,7 @@ >> } catch (ParseException ex) { >> throw ex; >> } catch (Exception ex) { >> - if (JNLPRuntime.isDebug()) >> - ex.printStackTrace(); >> - >> + OutputController.getLogger().log(ex); >> throw new RuntimeException(ex.toString()); >> } >> } >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPMatcher.java >> --- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -47,6 +47,7 @@ >> import java.util.Arrays; >> import java.util.Collections; >> import java.util.LinkedList; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> import net.sourceforge.nanoxml.XMLElement; >> /** >> @@ -261,7 +262,7 @@ >> try { >> stream.close(); >> } catch (Exception e) { >> - e.printStackTrace(System.err); >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); >> } >> } >> @@ -276,7 +277,7 @@ >> try { >> stream.close(); >> } catch (Exception e) { >> - e.printStackTrace(System.err); >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); >> } >> } >> } >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPSplashScreen.java >> --- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -54,6 +54,7 @@ >> import net.sourceforge.jnlp.splashscreen.SplashUtils; >> import net.sourceforge.jnlp.splashscreen.parts.InformationElement; >> import net.sourceforge.jnlp.util.ImageResources; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> import net.sourceforge.jnlp.util.ScreenFinder; >> public class JNLPSplashScreen extends JDialog { >> @@ -91,19 +92,13 @@ >> try { >> splashImage = ImageIO.read(resourceTracker.getCacheFile(splashImageUrl)); >> if (splashImage == null) { >> - if (JNLPRuntime.isDebug()) { >> - System.err.println("Error loading splash image: " + url); >> - } >> + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); >> } >> } catch (IOException e) { >> - if (JNLPRuntime.isDebug()) { >> - System.err.println("Error loading splash image: " + url); >> - } >> + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); >> splashImage = null; >> } catch (IllegalArgumentException argumentException) { >> - if (JNLPRuntime.isDebug()) { >> - System.err.println("Error loading splash image: " + url); >> - } >> + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url); >> splashImage = null; >> } >> } >> diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/Launcher.java >> --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Sep 24 13:42:31 2013 -0400 >> +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 25 18:50:18 2013 +0200 >> @@ -46,6 +46,7 @@ >> import javax.swing.text.html.parser.ParserDelegator; >> import net.sourceforge.jnlp.runtime.AppletEnvironment; >> import net.sourceforge.jnlp.splashscreen.SplashUtils; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> import sun.awt.SunToolkit; >> @@ -77,7 +78,7 @@ >> /** whether to create an AppContext (if possible) */ >> private boolean context = true; >> - /** If the application should call System.exit on fatal errors */ >> + /** If the application should call JNLPRuntime.exit on fatal errors */ >> private boolean exitOnFailure = true; >> private ParserSettings parserSettings = new ParserSettings(); >> @@ -229,10 +230,10 @@ >> InetAddress.getByName(file.getSourceLocation().getHost()); >> } catch (UnknownHostException ue) { >> - System.err.println("File cannot be launched because offline-allowed tag not specified and system currently offline."); >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "File cannot be launched because offline-allowed tag not specified and system currently offline."); >> return null; >> } catch (Exception e) { >> - System.err.println(e); >> + OutputController.getLogger().log(e); >> } >> } >> @@ -483,9 +484,7 @@ >> try { >> ServiceUtil.checkExistingSingleInstance(file); >> } catch (InstanceExistsException e) { >> - if (JNLPRuntime.isDebug()) { > > As noted by Omair and I in the IRC channel today, this patch makes "make check" rather noisy. I also mentioned that a fair number of reproducers are broken by this. The common trait to most/all of them is that they expect stdout to be a particular (very short, common case being <= 2 chars) length, which it is because messages are now coming through stdout which were previously on stderr. For example, CreateClassLoaderTest.CreateClassLoaderLunch1 fails because "netx: Launch Error: Could not launch JNLP file. ( (access denied ("java.lang.RuntimePermission" "createClassLoader"))) " is printed to stdout instead, and the test includes a check that pr.stdout has length <= 2. Both those failures are cuased by "enable logging" == true (by other words works for me). However Omiar reported hat he have cleaned the configuration. Loging enabled == environment variable || -verbose || deployment property J.